
- •Лекция 5. Микропроцессорная техника: Обобщенная структура мп
- •5.1.Организация, интерфейс и работа базового 16-разрядного мп семейства 80x86 ( мп i8086)
- •5.1.1.МПi8086 называют базовой моделью мп дляIbmpc, поскольку все последующие модели мп-ров фирмы могут функционировать в реальном режиме как мПi8086. В отличие от 8-разрядного, мп i8086
- •Оперирует 16-разрядными данными и адресами;
- •5.1.2. Организация и работа мп i80386
- •5.1.2. Организация, интерфейс и работа мп Pentium (р5)
- •2). Предвыборка команд и предсказание переходов.
- •3). Раздельные типы кэш-памяти команд и данных.
- •Контрольные вопросы и задания.
5.1.2. Организация и работа мп i80386
МП i80386 имеет 32-х разрядные ША и ШД и 3 режима работы - здесь отметим только 2 из них: реальный и защищенный. МП организован в виде 6-ти уровневого конвейера. Память ЭВМ (и информация) разбивается на сегменты – блоки в реальном режиме не более 64 Кбайт и в защищенном практически произвольного обьема и страницы - блоки по 4 Кбайта. Физический адрес, выставляемый из МП на ША, формируется сложным способом в двух соответствующих блоках – страничной и сегментной адресаций последовательно как на конвейере. Упрощенная структура МП приведена на рис. 5.2.
В реальном режиме МП i80386 работает как МП i8086, но имеет свою систему выводов и циклов шины, отличающуюся от 16-разрядного МП.
Рисунок 5.2. Упрощенная структура МП i80386
5.1.2. Организация, интерфейс и работа мп Pentium (р5)
Особенности архитектуры процессора.
1).Суперскалярная архитектура: наличие двух 5-ти уровневых конвейеров (U и V) в блоке целочисленной арифметики и одного конвейеризированного блока арифметики с плавающей точкой.
2). Предвыборка команд и предсказание переходов в программе.
3). Раздельные типы кэш-памяти команд и данных – по 8 кб.
4). Усовершенствованная 64-разрядная ШД.
5).Управление энергопотреблением.
6). Поддержка мультипроцессорности.
и др.
Организация МП Pentium (Р5) показана на рис. 5.3.
1). Два конвейера данных обозначаются U и V. Конвейер U – основной – может выполнять все операции над целыми числами. Конвейер V – вспомогательный – может выполнять только простые операции над целыми числами. Одновременное выполнение двух команд в разных конвейерах называется сдваиванием. Не все последовательно выполняемые команды допускают сдваивание, и в этом случае используется только конвейер U. Чтобы достичь максимальной эффективности работы процессора Pentium, желательно перекомпилировать программы так, чтобы появилась возможность сдваивать как можно больше команд.
АЛУ для конвейеров U и V, а также один из блоков целочисленной арифметики являются комбинационными схемами. Поэтому один конвейер может исполнять 5 этапов 5-ти последовательных команд. Введение двух конвейеров целочисленной арифметики позволяет выдавать результаты исполнения 2-х команд за такт. При 64-битовой внешней ШД все регистры P5 остаются 32х-битовыми.
В блоке операции с плавающей запятой операции деления и умножения мантисс реализованы комбинационными схемами и выполняются за один такт. В блоке операции с плавающей запятой операции деления и умножения мантисс реализованы комбинационными схемами и выполняются за один такт. Обработка порядков происходит в блоке целочисленной арифметики.
Адреса операндов вычисляются раздельно для команд U и V конвейеров.
2). Предвыборка команд и предсказание переходов.
С целью сокращения времени простоя конвейеров, вызванных задержками выборки команд при изменении счетчика команд в случае ветвления, в P5 применяется упреждающая (предварительная) выборка команд переходов. Заранее вычисляется адрес передачи управления в программе, хотя этот адрес может и не быть востребован процессором. Это обеспечивается двумя буферами предвыборки (БП) и буфером адресов переходов BTB (Branch Target Buffer). В БП за один такт считывается строка кэш (32 байта). Один БП применяется для предвыборки команды в предположении, что перехода нет, другой – что переход будет. Выборка команд ветви перехода осуществляется при использовании содержимого BTB, заполненного при первом выполнении перехода. BTB может хранить до 256 переходов (вычисленных адресов), причем BTB поддерживает как простые ветвления, так и во вложенных циклах.