Что предпочитаете?

пятница, 11 февраля 2011 г.

Указатели команд

Большинство микропроцессоров выполняют программу следующим образом: извлекают из памяти очередную команду, исполняют ее, затем извлекают следующую команду и т. д. Этот подход, естественно, приводит к простоям, так как микропроцессор должен перед исполнением команды подождать ее извлечения из памяти.
Одна из них, интерфейс шины (Bus Interface Unit), извлекает команды из памяти и осуществляет передачу данных между исполнительными компонентами и "внешним миром". Другая компонента, операционный блок (Execution Unit), только исполняет команды. Так как эти компоненты независимы, то интерфейс шины может извлекать новую команду из памяти в то самое время, когда операционный блок исполняет ранее извлеченную команду.



Как только интерфейс шины извлекает команду, он передает ее на конвейер микропроцессора. Так как интерфейс шины не знает порядка исполнения команд программы, то ом всегда извлекает команды с последовательно возрастающими адресами. Операционному блоку приходится ждать извлечения команды из памяти только в тех случаях, когда в программе управление передается не следующей команде, а какой-то другой.

Указатель команд (IP - instruction pointer). Так как регистр IP имеет столь специфическое назначение, то Вы не можете выполнять арифметические операции над его содержимым. Однако микропроцессор  имеет команды, одни из которых изменяют содержимое регистра IP, а другие помещают его в стек и извлекают обратно.

3 комментария: