Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Внутренняя архитектура ЦП i486




Организация ЦП старших моделей фирмы Intel

 

 


В состав ЦП входит 10 внутренних функциональных устройств, которые работают параллельно:

Þ устройство шинного интерфейса (или просто шинный интерфейс ШИ);

Þ кэш-память на 8 Кбайт; [ 1 ]

Þ устройство предвыборки команд (опережающей выборки); [ 1 ]

Þ двухступенчатый дешифратор команд; [ 2, 3 ]

Þ УУ;

Þ устройство целочисленной арифметики, [ 4 ]

Þ устройство с ПЗ, [ 4 ]

Þ устройство сегментации; [ 2 ]

Þ устройство страничного преобразования адресов. [ 1 ]

Архитектура ЦП 80486 похожа на архитектуру ЦП 80386 с добавлением внутренней кэш-памяти и УПЗ (сопроцессора) на кристалле, что сразу отразилось на структуре локального интерфейса ЦП,

ШИ ЦП включает раздельные 32-разрядные МА и МД, магистраль управления шиной и арбитража, а также добавлены группы шин управления пакетами (определения циклов шины), управления размером передаваемых данных (8, 16 и 32 бита), управления кэш-памятью, управления паритетами (ошибками передачи данных, с ПЗ) и буфер данных для временного хранения данных при сквозной записи, выдаваемых из ЦП на МД, когда последняя занята.

В ВМ86 локальная магистраль адреса данных 20 бит и совмещенная с шиной данных, а в старших моделях магистрали адреса и данных раздельные, что позволило длительность нормального цикла шины существенно сократить (вместо 4 тактов стала 2 такта).

Отличительной чертой внутренней структуры ЦП 80486 является наличие большого числа внутренних магистралей различной разрядности для связи и взаимодействия основных устройств, наличие многопортовых внутренних памятей, что позволяет организовать параллельную работу устройств.

Устройство предвыборки команд (УПК) работает в режиме опережающей выборки команд, т.е. когда ШИ свободен осуществляется подкачка новых строк либо в кэш-память, если будущей строки нет в кэш-памяти, либо сразу в ОК и кэш-память параллельно, если там есть не менее 16 свободных байт, т.е. для опережающей выборки начальный адрес последней загруженной в ОК команды должен быть больше адреса выполняемой команды не менее 16 байт (одна выровненная строка). Для этого глубина ОК составляет 32 байта или две строки. Поэтому, кроме исключительных ситуаций, ситуация, когда АÏкэш практически исключена.

Исключительные ситуации возникают при нарушении работы конвейера команд (команды УП, БП, CALL, INT, аппаратные прерывания).

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

Если в программе встречаются повторяющиеся участки программ (циклы, подпрограммы), то УПК получает их копии из кэш-памяти, т.е., если АÎкэш-памяти, а ОК пуста или требует пополнения (имеется от 16 и более свободных байт [IPок-IPтек>=16]), то данная процедура выполняется за один такт, т.к. из кэш-памяти считывается сразу вся строка (16 байт) и записывается в ОК в этом же такте (расслоение обращений в кэш-памяти по одному из портов и в буфере ОК.

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

Таким образом, для повышения быстродействия ЦП, т.е. обеспечения бесперебойной (без задержек) работы очереди команд используются следующие методы:

1) Опережающая выборка команд в кэш-память, когда ШИ свободен.

2) Параллельная запись строки в ОК и кэш-память, если АÏкэш.

3) Если АÎкэш, то строка за один такт считывается из кэш-памяти и параллельно все 16 байт записываются в ОК, т.к. обе памяти с расслоением обращений на 16 байт.

4) Глубина ОК в 2 раза больше длины строки, что позволяет без простоев (параллельно) выполнять подкачку строк в ОК из ОП или кэш-памяти.

5) Использование пакетных циклов передачи данных между ОП и ЦП.

6) Опережающая выборка команд из ОК, что позволяет сразу передавать второе слово команды на обработку.

Таким образом, УПК позволяет обеспечить максимальную загрузку СШ, так как использует для предвыборки только холостые циклы шины и никогда не задерживает выполнение программы.

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

Устройство дешифрирования преобразует поля КОП в управляющие сигналы и точки входа в ПМП (микрокода) (ПНА). Первая ступень дешифратора инициирует обращение к памяти за операндом, при этом одновременно обрабатываются байты префиксов команд, признака адресации и смещения, а на выходах УУ формируются микрокоды для устройства сегментации и устройств целочисленной арифметики и ПЗ.

УУ обеспечивает выполнение большинства команд за один такт синхронизации по конвейерному принципу (рис. 2).

Имеется 5 уровней конвейера:

1) выборка команды из ОК;

2) первая ступень дешифрации, сегментация и контроль атрибутов сегмента: дешифрация ПА и вычисление линейного или физического адреса с параллельным контролем атрибутов защиты сегмента;

3) страничное преобразование через буфер TLB на основе частично-ассоциативного АЗУ или таблицы каталогов и страниц, контроль атрибутов защиты страницы, дешифрация КОП и выборка операнда из кэш-памяти по сформированному ФА;

4) выполнение операции в УЦА или УПЗ;

5) запись результата в регистр или кэш-память и инициализация сквозной записи: если ШИ свободен, то инициируется одиночный непакетный цикл записи в ОП, иначе запись в буфер записи ШИ (отложенная запись).

 
 

 


Устройство целочисленной арифметики включает АЛУ, 8 програаммно-доступных РОН, параллельный сдвигатель и несколько специализированных регистров. Содержимое РОН подается в устройство сегментации по отдельной шине (двухпортовый доступ). АЛУ позволяет выполнять любую операцию за один такт.

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

На втором уровне конвейера также выполняется преобразование ЛА в ФА в устройстве сегментации и параллельно контроль атрибутов (прав доступа) сегментов.

Устройство сегментации содержит: глобальные и локальные таблицы дескрипторов, хранимые в ОП, регистры селекторов (6 регистров) и теневые 8-байтные регистры дескрипторов к ним, регистр GDT для указания базового адреса таблицы GDT и ее размера, регистр селектора LDT, для указания селектора текущей локальной задачи, к нему теневой 8-байтный регистр дескриптора для указания местоположения и размера локальной таблицы дескрипторов текущей задачи, сумматор (АЛУ) для формирования эффективного адреса (например, D + база + индекс), сумматор (АЛУ) для формирования линейного или физического адреса сегмента (БА дескриптора +ЭА), а также схемы для формирования сигналов сегментных ошибок по атрибутам, размеру и т.д. для формирования векторов прерываний.

ЛА включает 16-разрядный селектор сегмента и 32-разрядное смещение в сегменте. Вычисление линейного или физического адреса осуществляется через определение эффективного адреса (например, смещение в сегменте + база + индекс) с базовым адресом сегмента из теневого регистра за один или два такта на сумматорах (база + индекс вычисляются в АЛУ) с параллельным контролем атрибутов защиты сегмента, При этом РОН УЦА должны быть реализованы с двухсторонним доступом для предотвращения конфликтов по доступу к РОН на разных стадиях работы конвейера команд (один порт для чтения/записи операнда из/в кэш память, а второй для выдачи части эффективного адреса из РОН в устройство сегментации для вычисления исполнительного адреса операнда), т.к. индекс и база хранятся в РОН, а их сумма (PA) вычисляется в АЛУ, а сложение оставшихся переменных (БА и ЭА[D+PA]) должно выполняться за один или два такта в зависимости от вида адресации. Содержимое РОН передается в устройство сегментации по отдельной шине. Смещение берется из ОК, т.е. в данном такте с опережением должно быть считано либо смещение/операнд, либо следующая команда.

Устройство страничного преобразования включает в себя TLB буфер емкостью 32 32-разрядных слова, реализованный на основе частично-ассоциативного ЗУ с замещением по стратегии LRU-стека, для хранения БА активных страниц и их дескрипторов. А также дешифратор КОП и средства для организации системы защиты страниц. Кроме того, при отсутствии описания страницы в TLB буфере в его состав входят таблицы каталогов и страниц, хранящиеся в ОП.

За счет использования TLB буфера, преобразование ЛА в ФА выполняется за один такт табличным методом. В типичных применениях TLB буфер удовлетворяет до 99% запросов на доступ к таблицам страниц. Линейный адрес, если АÎTLB состоит из 12-разрядного смещения в странице, 3-разрядного поля индекса (адреса) ЧАЗУ и 17-разрядного поля тега. Если АÏTLB, то ЛА состоит из двух 10-разрядных полей каталога и страницы и 12-разрядного смещения в странице для организации двухуровневого доступа к таблице страниц через таблицу каталогов, хранимых в ОП. В TLB буфере описание страницы содержит 20-разрядный адрес страничного кадра (БА страницы) и 12-разрядный дескриптор страницы, а ФА получается операцией конкатенации адреса страничного кадра из TLB буфера и 12-разрядного смещения из ЛА. Также параллельно выполняется контроль по атрибутам защиты страницы.

К дополнительным функциям данных устройств можно отнести: параллельную дешифрацию команды (ПА и КОП соответственно), а также контроль атрибутов сегмента и страниц соответственно. Алгоритм контроля в устройстве сегментации:

Контроль уровней привилегий в механизме защиты;

Контроль параметров сегментов и их атрибутов с целью предотвращения загрузки бессмысленных сегментов:

¨ контроль по размеру поля индекса селектора команды и RgLDT с размером таблицы GDT из RgGDT (поле предела > индекса);

¨ при загрузке сегментов данных (DS, ES, GS, FS), если данные (константы) размещаются в кодовом сегменте CS не допускается указание атрибута только выполнение;

¨ для сегмента SS не допускается указание атрибута защиты по записи;

¨ сегмент CS должен быть обязательно исполняемым;

¨ сегмент должен присутствовать в памяти (Р=1).

 

 

 


При нарушении хотя бы одной проверки - прерывание и селектор не загружается, иначе загрузка селектора сегмента.

3. Проверка атрибутов защиты по рабочим алгоритмам, т.е. по размеру сегмента и атрибутам его защиты.

 

 


Алгоритм контроля в устройстве страничного преобразования:

При загрузке элемента таблицы страниц в TLB буфер предварительно определяется атрибут защиты страницы, устанавливаемый только для TLB буфера по правилу:

R/W[TLB] = R/W[PDE] & R/W[PTE]

Т.е. атрибуты защиты страницы могут указываться как в таблице каталогов PDE, так и в таблице страниц PTE, а конечный атрибут получаем по формуле. Тогда параллельно с формирование ФА из дескриптора страниц TLB буфера формируется сигнал сегментной ошибки при установленном атрибуте защиты по записи, а также по режиму работы супервизора или пользовательского путем сравнения бита режима работы дескриптора страницы с полем CPL=0,1,2 для супервизора и 3 для пользовательских программ.

Процедура свопинга страниц (сегментов) производится, если в ОП нет свободных областей, а запрашиваемая страница хранится на внешнем носителе (Р=0).

Алгоритм:

* ОС по значению бита обращения А определяет группу страниц с битом Р=1 в качестве кандидатов на удаление из ОП, а по полю достоверности (активности страниц) определяет единственную страницу в качестве кандидата на перемещение на диск;

* По значению бита D записи в страницу принимается решение о необходимости выполнения процедуры свопинга;

* Если D=1, то ОС копирует страницу из ОП на диск и отмечает ее местоположение в таблице страниц, а бит Р:=0. Далее ОС копирует затребованную страницу с диска в ОП, загружает адрес страничного кадра и атрибуты страницы, бит Р:=1 и записывается в таблицу страниц ОП.

* Если удаленная страница находилась в буфере TLB, то ее бит достоверности в ЧАЗУ сбрасывается.

* Элемент таблицы страниц, загруженный в ОП, записывается в TLB буфер на место неактивной страницы, определяемой аппаратно по значению бита достоверности, равного нулю, или по алгоритму псевдо LRU стека.

* Выполняется рестарт команды, вызвавшей прерывание.

 




Поделиться с друзьями:


Дата добавления: 2014-01-14; Просмотров: 646; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.