9. Развитие микропроцессоров семейства Intel




старонка1/8
Дата канвертавання22.04.2016
Памер0.72 Mb.
  1   2   3   4   5   6   7   8

9. Развитие микропроцессоров семейства Intel.

Рассмотрим кратко несколько важнейших принципов, которые характеризуют следующие поколения микропроцессоров семейства Intel.



  1. Первый принцип – разбивка всей области памяти микрокомпьютера на логические участки – сегменты.

Существуют два различных способа адресации памяти:

  • Линейная адресация, которая предполагает последовательную адресацию памяти от адреса “0” до адреса 2n-1, где n – разрядность шины адреса.

  • Сегментная адресация, где память логически разделена на участки называемые сегментами, внутри которых адресация – линейная. Любая локализация в памяти происходит относительно базы сегмента.

  1. Другой принцип – формирование некоторой виртуальной памяти. Виртуальная память определяется как область памяти, которую может сформировать пользователь, расположив последовательно максимальное количество сегментов (каждый сегмент максимального размера) используя некоторый виртуальный адрес. Что интересно, объём виртуальной памяти может намного превосходить объём физической памяти микрокомпьютера. В область виртуальной памяти входят все ресурсы микрокомпьютера (как внутренние, так и внешние – диски, магнитная лента и т.д.).

  2. Появляется механизм управления памятью. Он состоит в отображении виртуального адреса (используемого программистом) в физический адрес. Первым представителем семейства Intel, который применяет данный механизм, является Intel 80286. Он поддерживает виртуальное адресное пространство объёмом 1GВ, физически адресуемая память – 16MВ. Следующие микропроцессоры i386, i486, Pentium поддерживают виртуальное адресное пространство объёмом 64 GB. На рисунке 9.1 представлена функциональная блок-схема микропроцессора i286 .


Рисунок 9.1

В сравнении со схемой микропроцессора 8086 здесь появились два новых устройства:



Для i286 устройство декодирования команд поддерживает последовательность из трёх декодированных команд, готовых к исполнению (эти команды считываются из очереди команд (6В) которая находится в устройстве сопряжения с шиной). Четыре устройства выполняют свои функции одновременно, параллельно, что увеличивает производительность процессора.

  1. Следующий принцип – многозадачность(“multitasking”), которая определяется, как способность компьютера исполнять несколько задач (“task”) одновременно, это осуществляется последовательным переключением с одной последовательности команд некоторой задачи (“task”) к другой последовательности, другой задачи и т.д. В итоге переключается к первой последовательности.

  2. Важным следствием механизма управления памятью является механизм защиты.

Защита обладает тремя аспектами:

  • контроль информации (коды или другие типы данных);

  • разделение пользователей один от другого (защита “inter-task”);

  • разделение системного software от прикладного (защита “intra-task”);

  1. С точки зрения механизма защиты сегмент переопределяется как минимальная область (логическая) памяти с атрибутами защиты.

Для экономии объёма памяти необходимой для выполнения текущей задачи применяется следующий принцип – замена места задач (“swapping task”), который состоит во временном отправлении задачи (или часть задачи) во внешнюю память, если данная задача(или часть) не находится в исполнении в данный момент. Замена места некоторых сегментов взаимосвязана с методом компактирования программ путём точного определения базы сегментов кодов и данных (рис.9.2).


Рисунок 9.2





  1. Механизм, который применяют практически все современный компьютеры это страничный механизм – разделение виртуальной памяти на фиксированные блоки называемые страницами. Многозадачность, а также метод замены места задач могут реализовываться страницами вместо сегментов. Оба метода, страничный механизм и сегментация памяти, применяются в следующих поколениях микропроцессоров Intel. Первым из них является i386.

Функциональная схема микропроцессора i386 (первый 32-х разрядный микропроцессоров) представлена на рис.9.3.

В сравнении с i286 появляются новые устройства. Устройство декодирования команд разделяется на два устройства:



  • Устройство предварительной выборки команд (“prefetch”) - поддерживает очередь команд, т.е. его функция состоит в извлечении из памяти последовательности команд и размещение их в регистрах очереди (16 байт). Команды переходов (или вызов подпрограмм) информируют устройство “prefetch” о необходимости извлечения команд с нового адреса.



Рисунок 9.3





  • Устройство предварительного декодирования (формат команд в случае i386 – от одного до 16 байт).

Устройство предварительной выборки загружает внутреннюю очередь команд, из которой они считываются устройством предварительного декодирования. Последнее, по коду команды, формирует 100-разрядную микрокоманду, которую заносит в очередь микрокоманд. Устройство управления и устройство обработки извлекают первую микрокоманду из очереди и обеспечивают её выполнение.

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

Между сегментным и страничным устройствами появляется новый тип адресов – линейный адрес, который рассмотрим далее.


  1. Т.к. обращение к памяти становится сложным механизмом (виртуальный адрес→линейный адрес→физический адрес), то возникает необходимость в методах уменьшающих время доступа в память. Для этого применяется метод элементов скрытых структур (“cache”). Так Intel применяет регистры cache, которые дополняют (дублируют), невидимо для пользователя, информацию в сегментных регистрах (для полного определения сегментов в памяти вместе с атрибутами защиты), i386 содержит ассоциативную кэш-память (“translation lookaside buffer”- TLB), которая содержит адреса наиболее часто используемых 32 страниц, что существенно уменьшает время трансляции адресов, этапа:

линейный адрес→физический адрес.

  1. Следующий представитель: i486 имеет встроенную кэш-память размером 8kB. На рисунке 9.4 дана функциональная схема, на которой можно выделить его функциональные узлы отличные от i386 .



Рисунок 9.4




  • модуль арифметического сопроцессора (Floating Point Unit - FPU)

  • внутренняя кэш-память

Внутренняя кэш-память выполнена как ассоциативная и работает в режиме “write through”(т.е. данные заносятся и в кэш-память и в ОЗУ).

k) Суперскалярная архитектура. Для того чтобы пояснить этот термин, разберемся вначале со значением другого термина — конвейеризация вычислений. Важным элементом архитектуры, появившимся в i486, стал конвейер специальное уст­ройство, реализующее такой метод обработки команд внутри микропроцессора, при котором исполнение команды разбивается на несколько этапов, i486 имеет пятиступенчатый конвейер. Соответствующие пять этапов включают:



  • выборку команды из кэш-памяти или оперативной памяти;

  • декодирование команды;

  • генерацию адреса, при которой определяются адреса операндов в памяти;

  • выполнение операции с помощью АЛУ;

  • запись результата (куда будет записан результат, зависит от алгоритма работы конкретной машинной команды).

Таким образом, на стадии выполнения каждая машинная команда как бы разби­вается на элементарные операции. В чем преимущество такого подхода? Очередная команда после ее выборки попадает в блок декодирования. Таким об­разом, блок выборки свободен и может выбрать следующую команду. В результа­те на конвейере могут находиться в различной стадии выполнения пять команд. Скорость вычисления в результате существенно возрастает. Микропроцессоры, имеющие один конвейер, называются скалярными, а два и более — суперскаляр­ными. Микропроцессор Pentium имеет два конвейера, то есть использует суперскалярную архитектуру, и поэтому может выполнять две команды за машинный такт. Внутренняя структура конвейера такая же, как и у i486. Микропроцессоры семейства Р6 (Pentium Рго/II/III) имеют другую структуру конвейера.

Блок-схема процессора Pentium представлена на рис. 9.5. Прежде всего, новая микроархитектура этого процессора базируется на идее суперскалярной обработки (правда с некоторыми ограничениями). Основные команды распределяются по двум независимым исполнительным устройствам (конвейерам U и V). Конвейер U может выполнять любые команды семейства x86, включая целочисленные команды и команды с плавающей точкой. Конвейер V предназначен для выполнения простых целочисленных команд и некоторых команд с плавающей точкой. Команды могут направляться в каждое из этих устройств

одновременно, причем при выдаче устройством управления в одном такте пары команд более сложная команда поступает в конвейер U, а менее сложная - в конвейер V.

  1   2   3   4   5   6   7   8


База данных защищена авторским правом ©shkola.of.by 2016
звярнуцца да адміністрацыі

    Галоўная старонка