Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура фон Неймана.doc
Скачиваний:
142
Добавлен:
20.05.2014
Размер:
571.39 Кб
Скачать

41. Программная модель процессора i486.

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

Кэш 2-го

уровня

512 Кбайт

Мост

PCI

ОП

Шина

Внутрисистемный интерфейс

PCIЛокальная

шина памяти

Кэш 1-го

уровня

команд

Кэш 1-го

уровня

данных

Локальная шина Кэш-памяти Локальная шина связи с мостом

Блок Блок Блок

вызова, отправки, возврата

декодирования выполнения

Конвейер – 7 стадий Блок 1 Блок 2 Блок 3 Регистровый

АЛУ АЛУ ММХ файл

Блок загрузки, сохранения

Re Order Bufferбуфер перестройки команд

Устройство Управления

Центральныйпроцессор

Рис. 5.5 Архитектура процессора Pentium II(выдаем его заi486=)))))

Pentium II– один из процессоров семействаIntel. Он содержит ту же архитектуру системы команд, что и 80486,Pentium,Pentium Pro, однако с точки зрения аппаратного обеспечения, он представляет собой нечто большее. Действительно, он может обращаться к 64 Гбайт физической памяти, передавать данные в память и из памяти блоками по 64 бита, хотя и является 32-разрядной машиной. Более того,Pentium IIявляется суперскалярным процессором.

Pentium IIимеет двухуровневую кэш-память с полной Гарвардской архитектурой. Кэш первого уровня содержит 16 Кбайт для команд и 16 Кбайт для данных, а кэш-память второго уровня содержит 512 Кбайт команд и данных. Строка кэша состоит из 32 байт и работает на частоте процессора, тактовая частота кэша второго уровня в два раза меньше. На рисунке 5.5 показаны основные компоненты центрального процессора: блок вызова/декодирования, блок отправки/выполнения и блок возврата, которые вместе действуют как конвейер высокого уровня. Эти три блока обмениваются данными через пул команд -Re Order Buffer(буфер перестройки команд). Если говорить кратко, блок вызова/декодирования вызывает команды и разбивает их на микрооперации для хранения вROB, блок отправки/выполнения получает микрооперации из буфера и выполняет их, блок возврата завершает выполнение каждой операции и обновляет регистры.

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

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

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

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

ЭА = (base) + (index) · scale + disp,

где (base) - значение базового регистра; (index) - значение индексного регистра; scale - величина масштабного множителя; disp - значение смещения, закодированного в самой команде.

Отметим, что в 32-разрядной архитектуре эффективный адресобычно называют смещением (offset), в то же время отличая его от смещения, кодируемого в самой команде (displacement).