Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Белош_Лекции_4_курс_2010г.doc
Скачиваний:
27
Добавлен:
16.07.2019
Размер:
2.92 Mб
Скачать

Регистры сегментов

В микропроцессоре Intel  программы и данные хранятся в разных областях памяти, эти области или сегменты имеют объём до 64Кб.Процессор может иметь дело одновременно с 4-мя сегментами, поэтому начальные адреса сегментов хранятся в четырёхсегментных регистрах.

CS(регистр сегмента команд)- указывает на тот сегмент который содержит текущую исполняемую программу, чтобы вычислить адрес следующей команды процессор умножает содержимое регистра CS на 16,т.е сдвигает влево на 4 разряда и добавляет содержимое IP- указателя команд. SS(регистр сегмента стека)- указывает на текущий сегмент стека, стек представляет собой область памяти, которая используется для временного хранения адресов и данных, обычно стек используется для хранения адресов возврата из подпрограммы, а так же для восстановления контекстов программ.

ДS(регистр сегмента данных)-указывает на текущий сегмент данных, этот сегмент содержит данные или переменные, которые используются в текущей программе.

ES(регистр дополнительного сегмента)- указывает на текущий дополнительный сегмент, который исп-ся при выполнении операции над строками.

Регистры указателей индексов

Т.к адресация в микропроцессоре сделана таким образом, что сначала находим сегмент по содержимому регистра сегмента, а потом с помощью смещения находим непосредственно с данными. При работе с сегментами данных микропроцессор извлекает начало сегмента из регистра ДS, а смещение внутри этого сегмента из регистра ВS и индексного регистра SI или ДI.При доступе к сегменту стека, начало извлекается из SS, а смещение внутри этого регистра извлекается из SP или BP. При работе с сегментом команд, начало извлекается из регистра CS, а смещение до искомой команды извлекается из регистра указателя  IP.

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

Классический процессор работает так: последовательно извлекает из памяти команду, выполняет её и далее извлекает следующую. Эта сугубо последовательная цепочка действий приводит к естественным простоям вычислительной мощности процессора, т.к он ждет извлечение следующей команды. В микропроцессоре Intel сделан существенный шаг аппаратным образом для уменьшения этих естественных простоев. Процедура извлечения команды из памяти и выполнение извлеченной команды выполняется отдельными функциональными схемами в микропроцессоре. Внутри процессора есть блок который называется интерфейс шины – BIU. Этот блок извлекает команду из памяти и передает для выполнения другой компоненте процессора, которая наз-ся операционный блок EU. Эти две компоненты работают независимо и интерфейсный блок извлекает следующую команду, пока операционный выполняет текущую.В этом микропроцессоре сделан существенный шаг в сторону конвейерной обработки команд, что повысило производительность процессора. Операционному блоку приходится ждать извлечения следующей команды из памяти только тогда, когда прерывается естественная последовательность команд одна за другой, т.е когда управление передается не следующей команде, а некоторой другой. Т.к данный микропроцессор работает в конвейерном режиме, то регистр IP содержит следующий исполняемый адрес, а не следующий извлекаемый адрес, на который указывает обычный счетчик команд.