Сейчас на форуме: asfa, bartolomeo, hgdagon (+6 невидимых) |
eXeL@B —› Программирование —› Кол-во микроопераций |
Посл.ответ | Сообщение |
|
Создано: 21 июня 2006 03:06 · Личное сообщение · #1 |
|
Создано: 21 июня 2006 03:27 · Личное сообщение · #2 |
|
Создано: 21 июня 2006 03:30 · Личное сообщение · #3 |
|
Создано: 21 июня 2006 03:32 · Личное сообщение · #4 |
|
Создано: 21 июня 2006 03:34 · Личное сообщение · #5 |
|
Создано: 21 июня 2006 03:35 · Личное сообщение · #6 |
|
Создано: 21 июня 2006 03:36 · Личное сообщение · #7 |
|
Создано: 21 июня 2006 03:38 · Личное сообщение · #8 |
|
Создано: 21 июня 2006 03:44 · Личное сообщение · #9 |
|
Создано: 21 июня 2006 03:47 · Личное сообщение · #10 |
|
Создано: 21 июня 2006 03:50 · Личное сообщение · #11 |
|
Создано: 21 июня 2006 03:51 · Личное сообщение · #12 |
|
Создано: 21 июня 2006 03:58 · Личное сообщение · #13 |
|
Создано: 21 июня 2006 13:28 · Личное сообщение · #14 |
|
Создано: 21 июня 2006 15:00 · Поправил: Bitfry · Личное сообщение · #15 Мне кажется, что эта тема сложная, во всяком случае, я туда пока не лезу. =) ИМХО, если что-то подобное можно получить из команд, то оно должно быть описано здесь: "IA-32 Intel® Architecture Software Developer’s Manual Volume 3: System Programming Guide". Глава: "PERFORMANCE-MONITORING EVENTS". А пояснения к событиям из таблиц можно найти здесь: www.sesp.cse.clrc.ac.uk/ ЗЫ Если разберёшься, отпиши пожалуйста здесь. ----- Всем привет, я вернулся |
|
Создано: 21 июня 2006 17:25 · Личное сообщение · #16 |
|
Создано: 21 июня 2006 21:15 · Поправил: newbb · Личное сообщение · #17 [norwed] пишет: Как определить какое кол-во микроопераций требуется для выполнения какой-либо макрокоманды и возможно ли это вообще? Так и не сказал, почему тебе это надо. Нашел любопитную главу, описывающую P6 (т. е. Pentium Pro): [url=http://www.cs.swan.ac.uk/~csneal/HPM/p6.html ]http://www.cs.swan.ac.uk/~csneal/HPM/p6.html [/url] Там есть такой пассаж: Instructions are then taken, three at a time, by the instruction decoder. This consists of three separate decoders - two simple, one complex. The simple decoders are able to handle those instructions that can be represented by a single uop, and the complex instructions that are representable by upto four uops are handled by the third decoder. All this can be done in a single clock cycle: most instructions can be represented by a single uop, and most of the rest by four or less. The few remaining possibilities are handled by a microprogrammed decoder, which may take some number of cycles. The IA32 instruction set is complex, and instructions can have various modifiers. The worst case is several hundred uops - however, such cases will be very rare. The actual uops themselves are very similar to typical RISC instructions - three operands: two source, one destination. В общем, согласно тексту, большинство инструкции транслируется до не более чем 4 uop, однако есть очень редкие случаи, когда могут понадобиться сотни uop. Насколько я понимаю, у Pentium 4 несколько разная архитектура, чем у Pentium III (последний из ряда P6), так что может быть, там трансляция, соотв. количество uop различается. |
|
Создано: 22 июня 2006 18:30 · Личное сообщение · #18 |
|
Создано: 22 июня 2006 19:08 · Личное сообщение · #19 [norwed] пишет: Пишу статью по глубокой оптимизации программ на ассемблере путём декодирования команд в микрооперации. Название технически неверное. Декодирует команды процессор и повлиять на это нельзя. Можно только подобрать порядок команд, чтобы конвеер микрокоманд(который в П4 есть) работал оптимально. Можно учесть НТ(hyper threading), можно про кеш вспомнить. Иначе засмеют |
|
Создано: 22 июня 2006 22:09 · Личное сообщение · #20 |
|
Создано: 22 июня 2006 22:30 · Личное сообщение · #21 |
|
Создано: 22 июня 2006 23:02 · Личное сообщение · #22 |
|
Создано: 23 июня 2006 09:40 · Личное сообщение · #23 |
|
Создано: 23 июня 2006 09:46 · Личное сообщение · #24 |
|
Создано: 23 июня 2006 10:35 · Личное сообщение · #25 [norwed] пишет: то декодирует команды не процессор, а устройство декодирования, состоящее из трёх параллельно работающих декодеров. Согласен, только декодеров не всегда три, а только в относительно новых процессорах ))) с P3 и Athlon и выше ----- "Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels |
|
Создано: 23 июня 2006 11:42 · Личное сообщение · #26 [norwed] пишет: а устройство декодирования, А устройство декодирования разве отдельно от процессора стоит Поменяй формулировку : глубокой оптимизации программ на ассемблере путём учета процесса декодирования команд в микрооперации и все. Rascal пишет: Конвеерный тип обработки далеко не только в П4 Но только в П4 в конвеере находятся микрооперации. |
eXeL@B —› Программирование —› Кол-во микроопераций |