;О) ПИК устроен просто для программиста, как и любой другой МК...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено =mse= 23 ноября 2004 г. 11:46
В ответ на: И как ты отличаешь "исполняемую" следующую от просто следующей? отправлено =L.А.= 23 ноября 2004 г. 11:26

никто ведь не пишет про устройство конвейера, особенности декодированя и т.п. лабуду в ДШ. Нам с тобой это сто лет не нужно, а тем, кому нужно, знать такое не надо ;О).
По шагам:


dead_cycle:
jmp dead_cycle

такая вот программа.
выполняется jmp:
1)происходит выборка команды
2)декодирование, в этот момент формируется адрес следующей команды для выборки (т.е. на тот же jmp)
3)исполнение, в PC заносится адрес, вычисленный в предыдущую фазу (2)
...
жизнь повторяется бесконечно.
если приходит прерывание, то на фазе исполнения происходят изменения:
3а)исполнение, в стек заносится адрес, вычисленный в фазе 2, в РС заносится вектор прерывания.

если смотреть на call, то разница только в том, что во 2 фазе формируется адрес следующей за call команды, а дальше как в варианте 3a.
Сам понимать должен, для разных команд следующий адрес вычисляется по своему. Команды разные бывають.
У разных МК фазы могут налагаться друг на друга, их может быть больше(в явном виде, несовмещённых), на картинку накладывает влияние наличие/отсутствие конвейера и пр.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru