Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мпс шпоры.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
3.62 Mб
Скачать

20. Функциональные устройства микропроцессора Intel 80486

Устройство предвыборки команд. Циклы предвыборки команд считывают 16-байтные блоки команд, начиная с адресов, численно больших адреса последней выбранной команды. Начальный адрес формирует устройство предвыборки, которое напрямую соединено с устройством стра­ничного преобразования. 16-байтные блоки предварительной выборки одновременно подаются в устройство предвыборки и кэш-память. В устройстве предвыборки имеется очередь пред­выборки, которая хранит 32 байта команд. Когда каждая коман­да считывается из очереди, ее код операции подается в устройст­во дешифрирования команд, а смешение подается в устройство сегментации, где участвует в вычисле­нии адреса. Если в выполняемой программе встречаются циклы, устройство предвыборки получает копии ранее выполненных команд из кэш-памяти. Запрос шины от устройства предвыборки имеет низший приоритет. Устройство предвыборки очищается, когда на­рушается естественный порядок выполнения команд, например: при переходах, переключениях задач, особых случаях и преры­ваниях.Устройство предвыборки никогда не обращается за конец сегмента кода и к странице, которая не присутствует в памяти. Чтобы предотвратить опережающее считывание за конкретный адрес, команды не должны быть ближе к этому адресу на один байт плюс один выровненный 16-байтный блок.

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

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

Устройство управления содержит микрокод (управляющие микропрограммы) процессора.

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

Целочисленное устройство и устройство с плавающей точ­кой соединены двумя 32-битными двунаправленными шинами, которые применяются совместно для передач 64-битных операн­дов. Содержимое регистров общего назначения подается по отдельной 32-битной шине в устройство сегментации для фор­мирования эффективных адресов.

Устройство с плавающей точкой имеет такую же систему команд и набор регистров, как арифметический сопроцессор. Оно содержит регистровый стек из восьми 80-битных регистров и специализированные схемы для интерпретации 32/64/80- битных форматов чисел, определенных в стандарте IEEE 754. Выходной сигнал на шине процессора сообщает внешней под­системе об ошибках с плавающей точкой, а она может подать в процессор входной сигнал, показывающий, что процессор дол­жен игнорировать ошибки и продолжать обычные операции.

Устройство сегментации. Под сегментом понимается защищенное независимое ад­ресное пространство. Сегментация применяется для изолирова­ния прикладных программ, вызова процедур восстановления и локализации влияния ошибок программирования.Устройство сегментации преобразует сформированный программой сегментированный адрес, называемый логическим или виртуальным адресом, в несегментированный линейный ад­рес. Местонахождения и атрибуты сегментов в линейном адрес­ном пространстве хранятся в структурах данных, называемых дескрипторами сегментов. Устройство сегментации производит вычисление адреса, привлекая дескрипторы сегментов и смеще­ния, выделенные из команд. После этого линейные адреса посы­лаются в устройство страничного преобразования и кэш-память. Параллельно с вычислением линейного адреса производится контроль атрибутов сегмента.При обращении к сегменту первый раз его дескриптор ко­пируется во внутренний регистр процессора и в дальнейшем при необходимости берется из этого регистра. Программа может иметь до 16383 сегментов. В любой момент времени во внутрен­них регистрах процессора могут находиться до шести дескрипторов сегментов. На рис. 4.4 показаны взаимосвязи между логи­ческим, линейным и физическим адресами памяти.

Устройство страничного преобразования обеспечивает дос­туп к структурам данных, которые больше имеющегося про­странства памяти, храня их частично в памяти и частично на диске. При страничном преобразовании линейное адресное про­странство разделяется на блоки по 4 Кб, называемые страница­ми. Для отображения линейного адреса в физический применя­ются структуры данных, называемые таблицами страниц. Эле­ментами таблиц страниц являются своеобразные дескрипторы страниц, которые проще дескрипторов сегментов. Физические адреса используются кэш-памятью и/или выдаются на шину процессора. Устройство страничного преобразования фиксирует такие ситуации, как обращение к странице, отсутствующей в па­мяти, и формирует особые случаи, называемые страничными нарушениями. При страничном нарушении операционная систе­ма должна передать нужную страницу с диска в память. При не­обходимости она может освободить пространство в памяти, от­сылая некоторую другую страницу на диск. Если страничное преобразование программно запрещено, физический адрес совпадает с линейным адресом. В устройство страничного преобразования входит ассоциативный буфер преобразования (Translation Look-a-side Buffer, или TLB), который хранит 32 наименее давно используемых элемента таблицы страниц. Структуры данных буфера TLB показаны на рис. 4.5. Устройство страничного преобразования просматривает линейные адреса в TLB. Если оно не находит линейного адреса в TLB, то форми­рует запрос на загрузку в TLB правильного физического адреса из таблицы страниц в памяти. Только когда правильный элемент таблицы страниц находится в TLB, инициируется цикл шины. Когда устройство страничного преобразования отображает стра­ницу из линейного адресного пространства на страницу в физи­ческой памяти, оно изменяет только 20 старших бит линейного адреса. Младшие 12 бит физического адреса берутся неизмен­ными из линейного адреса.

Рис. 4.5. Организация буфера TLB

В качестве стратегии замещения в буфере TLB применяется такой же алгоритм псевдо-LRU, как и во внутренней кэш-памяти. Буфер TLB очищается при загрузке базового регистра каталога страниц. Страничное преобразование не видимо для прикладных программ и не за­щищает от изменения программами данных вне ограниченной части памяти. Страничное преобразование видимо операционной системе, которая использует его для удовлетворения требований памяти прикладных программ.