Микропроцессорные системы Микропроцессор Микропроцессор (МП), или Central Processing Unit (CPU) — функционально законченное программно управляемое устройство обработки информации, выполненное в виде одной или нескольких больших (БИС) или сверхбольших (СБИС) интегральных схем Функции микропроцессора • вычисление адресов команд и операндов; • выборка и дешифрацию команд из основной памяти (ОП); • выборка данных из ОП, регистров МПП и регистров адаптеров внешних устройств (ВУ); • прием и обработку запросов и команд от адаптеров на обслуживание ВУ; • обработка данных и их запись в ОП, регистры МПП и регистры адаптеров ВУ; • выработка управляющих сигналов для всех прочих узлов и блоков ПК; • переход к следующей команде. Основные параметры микропроцессора • • • • • • разрядность; адресное пространство; рабочая тактовая частота; состав инструкций; конструктив; рабочее напряжение и т. д. Архитектуры набора команд микропроцессора • CISC (Complex Instruction Set Command) с полным набором системы команд; • RISC (Reduced Instruction Set Command) с усеченным набором системы команд; • VLIW (Very Length Instruction Word) со сверхбольшим командным словом; • MISC (Minimum Instruction Set Command) с минимальным набором системы команд и весьма высоким быстродействием и т. д. Структура микропроцессора Физические компоненты микропроцессора Pentium • Core — ядро МП; • Execution Unit — исполняющий модуль; • Integer ALU — АЛУ для операций с целыми числами (с фиксированной запятой); • Registers — регистры; • Floating Point Unit — блок для работы с числами с плавающей запятой; • Primary Cache — кэш первого уровня, в том числе кэш данных (Data Cache) и кэш команд (Code Cache); • Instruction Decode and Prefetch Unit и Branch Predictor — блоки декодирования инструкций, опережающего их исполнения и предсказания ветвлений; • Bus Interface — интерфейсные шины, в том числе 64- и 32битовая, и выход на системную шину к оперативной памяти. Укрупненная функциональная схема УУ Функциональная схема АЛУ Регистровая память микропроцессора Регистр флагов Номер бита Название 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22-31(63) Описание CF PF AF ZF SF TF IF DF OF IOPL Флаг переноса Зарезервирован (всегда установлен) Флаг чётности Зарезервирован (всегда сброшен) Дополнительный флаг переноса Зарезервирован (всегда сброшен) Флаг нулевого результата Флаг знака результата Флаг трассировки Флаг разрешения прерывания Флаг направления Флаг переполнения Текущий уровень привилегий ввода/вывода NT RF VM AC VIF VIP ID - Флаг вложенности задачи Зарезервирован (всегда сброшен) Флаг возобновления Флаг виртуального процессора 8086 Флаг проверки выравнивания адреса Флаг виртуального прерывания Флаг отложенного виртуального прерывания Флаг разрешения идентификации процессора Зарезервированы (всегда сброшены) Первый этап выполнения команды Этап дешифрирования кода операции Основные этапы выполнения команды арифметического типа Чтение данных из памяти Этап непосредственного выполнения команды Основные этапы выполнения команды арифметического типа 1. 2. 3. Этап записи результата 4. 5. 6. 7. 8. Основные этапы исполнения команды арифметического типа: Содержимое содержимого УК переслать в РК { (УК) → РК }. Продвинуть содержимое УК { (УК) + 1 → УК }. Дешифрировать код операции — активизировать блок Р. Содержимое ячейки А1 — переменную х1 переслать в r1 { (Л1)→r1 }. Содержимое ячейки А2 —переменную х2 переслать в r2 { (А2) →r2 }. Выполнить операцию с содержимым регистров r1 и r2, результат поместить в регистр r3 { {r1)р(r2)→r3 }. Переслать результат в память { (r3)→ А3 }. Перейти к выполнению пункта 1. Основные этапы выполнения команды арифметического типа # реальный режим - это режим, в который переходит процессор после включения или перезагрузки. # защищённый режим (protected mode, или legacy mode по документации AMD) - это 32-разрядный режим; разумеется для процессоров х86 этот режим главный # long mode («длинный режим», или IA-32е по документации Intel) - это собственно сам 64-разрядный режим. Процессор также поддерживает следующие два подрежима: • режим виртуального процессора 8086- это подрежим защищённого режима для поддержки старых 16разрядных приложений; • режим совместимости для longmode. Режимы работы процессора х86-64 Диаграмма режимов работы процессора Физическое адресное пространство организовано как линейный массив пронумерованных ячеек. • Минимальная адресуемая единица в современных ЭВМ – 1 байт. Слово – 2 байта. Номер ячейки является ее адресом. ФАП – когда все ячейки пронумерованы. • При составлении программы используется логическая адресация. Логическое адресное пространство – набор адресов, сгенерированный программой, которому соответствует физическое адресное пространство. Организация памяти 1. Линейное или плоское. Совпадает с физическим адресным пространством. Трансляция адреса не требуется. 2. Сегментированное ЛАП. Состоит из сегментов переменной длины. Логический адрес состоит из идентификатора сегмента и смещения в сегменте. Идентификатор – не адрес, не номер сегмента. Трансляция адреса проводится блоком сегментного преобразования ММU. 3. Страничное ЛАП. Состоит из страниц, имеющих постоянную длину. Логический адрес содержит номер (идентификатор страницы) и смещение внутри страницы. Трансляция адреса проводится блоком страничного преобразования ММU. 4. Сегментно-страничное ЛАП. Состоит из сегментов, каждый из которых в свою очередь состоит из страниц. Типы ЛАП Процессор имеет свою память двух видов: кэш-память и регистровую • кэш-память - это такая же системная память, просто находящаяся внутри кристалла процессора. Кэш-память является копией некоторой области основной памяти, к которой он часто обращается; • регистровую память представляют собой регистры. Регистр это такое устройство, которое хранит в себе некоторую информацию, т.е. некоторое значение. Стек - это специальная область памяти, которая используется для хранения промежуточных данных. Стек - как магазин автомата: добавили адрес, добавили второй, добавили третий, и затем адреса достают в порядке, обратном добавлению: третий, второй, первый. Работа с памятью Процесс изготовления процессора выглядит так: • Из расплавленного кремния на специальном оборудовании выращивают монокристалл цилиндрической формы. • Получившийся слиток охлаждают и режут на «блины», поверхность которых тщательно выравнивают и полируют до зеркального блеска. • В «чистых комнатах» полупроводниковых заводов на кремниевых пластинах методами фотолитографии и травления создаются интегральные схемы. • После повторной очистки пластин, специалисты лаборатории под микроскопом производят выборочное тестирование процессоров – если все «ОК», то готовые пластины разрезают на отдельные процессоры, которые позже заключают в корпуса. Технология создания процессоров Этапы создания процессоров Этапы создания процессоров Этапы создания процессоров Этапы создания процессоров