реклама на сайте
подробности

 
 
> ARM with cycle accurate simulation, ARMulator only?
DevL
сообщение Nov 29 2010, 15:17
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 254
Регистрация: 23-10-10
Из: астрал
Пользователь №: 60 371



вообщем есть необходимость детально посчитать циклы, с большой точностью на Armv6/v7 ,
вижу ARMulator etc - что лучше всего подойдет для просчитывания своих вычеслительный функций ?

спасибо заранее...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DevL
сообщение Nov 29 2010, 18:14
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 254
Регистрация: 23-10-10
Из: астрал
Пользователь №: 60 371



вот тут говорится что можно использовать свои mapfile ,
http://infocenter.arm.com/help/index.jsp?t...207d/index.html

mapfile is a memory model which you can configure yourself. You can specify the size, access width, access type and access speeds of individual memory blocks in the memory system in a memory map file.

они тоже будут скоро искаться для разных устройств smile.gif
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Nov 29 2010, 19:15
Сообщение #3


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Цитата(DevL @ Nov 29 2010, 13:14) *
вот тут говорится что можно использовать свои mapfile ,
http://infocenter.arm.com/help/index.jsp?t...207d/index.html

mapfile is a memory model which you can configure yourself. You can specify the size, access width, access type and access speeds of individual memory blocks in the memory system in a memory map file.

они тоже будут скоро искаться для разных устройств smile.gif

А где собственно этот армулятор взять -- насколько я понял, он только для тех кто их ядро лицензирует, а не для конечных пользователей.
Go to the top of the page
 
+Quote Post
DevL
сообщение Nov 29 2010, 20:25
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 254
Регистрация: 23-10-10
Из: астрал
Пользователь №: 60 371



Цитата(ar__systems @ Nov 29 2010, 20:15) *
А где собственно этот армулятор взять -- насколько я понял, он только для тех кто их ядро лицензирует, а не для конечных пользователей.



это часть RealView / RVDS пакета
как бы

What is RealView ARMulator ISS?

RVISS is an Instruction Set Simulator (ISS). It simulates the instruction sets and architecture of ARM processors, together with a memory system and peripherals. You can extend it to simulate other peripherals and custom memory systems.

You can use RVISS for software development and for benchmarking ARM architecture-targeted software. It models the instruction set and counts cycles. There are limits to the accuracy of benchmarking.

из
http://infocenter.arm.com/help/topic/com.a...ch01s01s01.html

и больше
Цитата
ARMulator is transparently connected to armsd or the ARM GUI debuggers, to provide
a hardware-independent ARM software development environment. Communication
takes place through the Remote Debug Interface (RDI).
The ARMulator is instruction-accurate. It models the instruction set but not the precise
timing characteristics of the processor.


а вот хочется - precise timing smile.gif
Go to the top of the page
 
+Quote Post
scifi
сообщение Nov 30 2010, 06:46
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(DevL @ Nov 29 2010, 23:25) *
а вот хочется - precise timing smile.gif

Позвольте усомниться в продуктивности такого желания.
Ради академического интереса это ещё можно понять. А вот на практике инженеры стараются отвязаться от труднопредсказуемых задержек.
Go to the top of the page
 
+Quote Post
DevL
сообщение Nov 30 2010, 08:56
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 254
Регистрация: 23-10-10
Из: астрал
Пользователь №: 60 371



Цитата(scifi @ Nov 30 2010, 07:46) *
Позвольте усомниться в продуктивности такого желания.
Ради академического интереса это ещё можно понять. А вот на практике инженеры стараются отвязаться от труднопредсказуемых задержек.


ну почему бы и не усомнится smile.gif

тут на самом деле все просто - в большинстве случаев, согласен, это не надо ибо это только относительно детальной оптимизации отдельных функций,
однако даже Apple выпустили свой Acceleration Framework, где основные достоинства - скорость, которая достигнута именно детальным разбором asm кода...
Go to the top of the page
 
+Quote Post
DevL
сообщение Nov 30 2010, 20:56
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 254
Регистрация: 23-10-10
Из: астрал
Пользователь №: 60 371



покажу немного больше того - чего хочется

Код
A.3. ARM7TDMI r4 example

Example A.1 shows a portion from an ARM7TDMI DSM log.eis file:

Example A.1.

24          00000050    e3c12003    BIC    r2,r1,#3

25          00000054    e2110003    ANDS   r0,r1,#3

26          00000058    e3a017c0    MOV    r1,#0xc0, 14; #0x3000000

27          0000005c    e492c004    LDR    r12,[r2],#4

28                                  Data Read          00000094    202a2a0a

30  CCFAIL  00000060    108ff180    ADDNE  pc,pc,r0,LSL #3

31          00000064    e1a00000    NOP

32          00000068    e013000c    ANDS   r0,r3,r12

33          0000006c    15c10000    STRNEB r0,[r1,#0]

34                                  Data Write Byte    03000000    0a

35          00000070    1013042c    ANDNES r0,r3,r12,LSR #8

36          00000074    15c10000    STRNEB r0,[r1,#0]

37                                  Data Write Byte    03000000    2a

38          00000078    1013082c    ANDNES r0,r3,r12,LSR #16

39          0000007c    15c10000    STRNEB r0,[r1,#0]

40                                  Data Write Byte    03000000    2a

41          00000080    10130c2c    ANDNES r0,r3,r12,LSR #24

42          00000084    1492c004    LDRNE  r12,[r2],#4

43                                  Data Read          00000098    54534554

45          00000088    15c10000    STRNEB r0,[r1,#0]

46                                  Data Write Byte    03000000    20

47          0000008c    1afffff5    BNE    {pc}-0x24; #0x68

50          00000068    e013000c    ANDS   r0,r3,r12

Cycle 26 shows a register being loaded through a constant, 0xC0, with an immediate, implied, rotate right of 14 places, and the comment field indicates that C0 rotated right by 14, that is left by 18, yields 0x03000000.

Cycle 30 shows a conditional ADD being skipped because the condition is not met. The conditional store at cycle 33 has met its condition and is therefore executed with a memory description line showing the byte value 0x0A written to address 0x03000000.

Cycle 47 shows a conditional branch at address 0x008C being taken and consequently a 3-cycle penalty occurs because the pipeline is flushed and refilled to execute the branch target instruction at address 0x0068 in cycle 50.


из http://infocenter.arm.com/help/topic/com.a...a/Chddgegg.html

все остальное (ISSMs из RVDS , RVISS/ARMulator, RTSV/FastSim ) как я понял не годится ( http://infocenter.arm.com/help/topic/com.a...qs/ka14647.html etc ) - это только так называемые "функциональные" симуляторы
и с ними точно по циклам не пошагаеш smile.gif

приведенный разбор выше - из так называемого Design Simulation Model - вот теперь вопрос - где именно это взять ? smile.gif

был бы рад любой информации , особенно от "очевидцев" smile.gif

спасибо заранее !
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 10:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01442 секунд с 7
ELECTRONIX ©2004-2016