
- •Архитектура вычислительных систем. Учебное пособие.
- •Характеристики и режимы работы эвм
- •Основные характеристики эвм
- •1.2. Режимы работы эвм
- •1.2.1. Однопрограммный режим работы
- •1.2.2. Мультипрограммный режим работы
- •1.2.3. Режим пакетной обработки
- •1.2.4. Режим разделения времени
- •1.2.5. Диалоговый режим работы
- •1.2.6. Режим работы в реальном масштабе времени
- •Классификация компьютеров по областям применения
- •2.1. Персональные компьютеры и рабочие станции
- •2.3. Серверы
- •2.4. Мейнфреймы
- •2.5. Кластерные архитектуры
- •3. Организация современного пк
- •Архитектура пк на базе набор микросхем 440 lx
- •3.1. Структура системной платы на наборе микросхем 440 lx
- •3.2. Типы системных плат на чипсете 440 lx
- •4. Функциональная и структурная организация процессоров
- •4.1. Классификация процессоров (cisc и risc)
- •4.2.Принципы организации процессоров
- •4.2.1. Назначение и структура процессора
- •Структура микропроцессора
- •4.2.2. Основные регистры процессоров
- •Операционное устройство и шинный интерфейс
- •4.2.3. Способы организации управления вычислительным процессом
- •Схемный принцип управления
- •Микропрограммный принцип
- •4.2.4. Технология mmx
- •Отображение ммх-регистров на fpu-регистры
- •Влияние ммх-команд на контекст fpu
- •4.2.5. Принципы конвейерной технологии
- •Представление о работе конвейера
- •Диаграмма работы простейшего конвейера
- •4.3. Микроархитектура процессоров p5
- •Структурная схема микропроцессора Pentium
- •4.4. Микроархитектура процессоров семейства р6
- •Структурная схема микропроцессора Pentium Pro
- •Ядро и подсистемы памяти Pentium
- •Устройство выборки/декодирования
- •Структура устройства диспетчирования/выполнения
- •Устройство отката
- •Интерфейс с шиной
- •4.5. Микроархитектура процессоров семейства amd
- •Микроархитектура процессора amd-k6-2
- •Микроархитектура процессора amd Athlon
- •Рабочая схема модуля вычислений с плавающей точкой
- •Организация системной шины
- •5.Принципы организации системы прерывания программ
- •5.1. Классы сигналов прерывания
- •5.2. Распределение прерываний в пк на базе процессоров х86
- •Распределение аппаратных прерываний
- •5.3. Приоритеты прерываний
- •Временная диаграмма возможного процесса прерывания программы
- •Определение исполнение программ в системе с учетом приоритетности запросов прерывания
- •5.4. Защита от прерывания
- •Организация памяти пк
- •6.1. Иерархии памяти
- •6.2. Организация кэш-памяти
- •6.3. Организация оперативной памяти (ram)
- •6.3.1. Типы и классификация оп
- •Прямая регистровая адресация
- •6.3.2.4. Подразумеваемая адресация
- •6.3.2.5. Косвенная адресация
- •Косвенная адресация с использованием оперативной памяти
- •6.3.2.6. Косвенная регистровая адресация
- •6.3.2.7. Модификация адресов
- •Индексная адресация с использованием регистров
- •6.3.2.8. Относительная адресация
- •Относительная адресация
- •Формирование исполнительного адреса при относительной и индексной адресации
- •6.4. Организация виртуальной памяти
- •6.4.1. Страничная адресация памяти
- •Адреса при страничной адресации
- •Порядок использования таблицы страниц
- •6.4.2. Сегментация памяти
- •7. Организация ввода-вывода
- •7.2. Системные и локальные шины
- •7.3. Шины ввода/вывода
- •7.3.1. Шина agp
- •Схемы pci и agp
- •7.3.2. Шина usb
- •Топология шины usb
- •7.3.3. Шины ide и scsi
- •8. Периферийные устройства
- •Примеры устройств ввода/вывода
- •8.1. Магнитные и магнитооптические диски
Микроархитектура процессора amd-k6-2
Рис. 4.16.
Два декодера Short Decoder #1 и Short Decoder #2 работают параллельно и обрабатывают наиболее часто используемые х86-инструкций — move, shift, branch, ALU, FPU, а также инструкции из наборов команд ММХ и 3DNow! Декодеры Short Decoder #1 и Short Decoder #2 обрабатывают только часто используемые (most commonly-used) х86-инструкций длиной не более семи байт- Каждый может преобразовать только одну такую х86-инструкцию и сгенерировать 0 (например, при обработке х86-инструкций NOP), одну или две RISC86-инструкции за такт. Таким образом, за один такт оба декодера могут сгенерировать до 4 РISC86-инструкций.
Редко используемые инструкции (semi-commonly-used) длиной до семи байт и обычные инструкции (commonly-used) с длиной большей семи байт, но меньшей или равной 11 байтам обрабатываются декодером Long Decoder, который может декодировать только одну такую х86-инструкцию и сгенерировать до 4 RISC86-инструкций за такт. Все остальные преобразования (более сложные инструкции, прерывания, и. т. д.) выполняются декодером Vector Decoder. В этом случае Vector Decoder генерирует набор первых RISC86-инструкции и адрес заранее предопределенного набора последующих инструкций, который хранится в ROM-памяти (On-Chip ROM) и извлекается блоком RISC86 Sequencer.
Все наборы RISC86-операций, генерируемые декодерами и извлекаемые из On-Chip ROM всегда (!) состоят из групп, содержащих по четыре RISC86-операции. В том случае, если их получилось меньше, недостающее количество заполняется пустыми RISC86-инструкциями NOP. Например, если Long Decoder преобразовал х86-инструкцию в три RISC86-инструкции, то к ней добавляется одна RISC86-инструкция NOP. Получившийся лоток из таких групп поступает в буфер планировщика (Scheduler Buffer) — за один такт всегда передается группа из четырех RISC-операций. Центральный планировщик (Centralized RISC86 Operation Scheduler). Планировщик — это сердце процессора AMD-K6-2. Он следит за процессом исполнения RISK86-инструкций, приведением результата их исполнения к х86-архитектуре, а также возвращением результатов спекулятивного выполнения х86-инструкций в соответствии с их порядком поступления на вход процессора.
В буфере планировщика может одновременно содержаться до 24 RISC86-инструкций. Любая из них может быть в любой момент передана на исполнение соответствующему вычислительному блоку (store, load, branch, register X integer/multimedia, register Y integer/multimedia, floating-point), если, конечно, последний свободен. Таким образом, реализуется исполнение инструкций в порядке, отличном от порядка их поступления в буфер (out-of-order execution). В общей сложности планировщик может передать на выполнение шесть и завершить (retire) также шесть RISC86-инструкций за такт, Вычислительные блоки (Execution Units). Процессор AMD-K6-2 содержит 30 параллельных вычислительных блоков — Store Unit, Load Unit, Integer X ALU, Integer Y ALU, MMX ALU (X), MMX ALU (Y), MMX/3DNow! Multiplier, 3DNow! ALU, FPU и Branch Unit. Каждый блок работает независимо от остальных, так что несколько блоков могут обрабатывать переданные им на исполнение RISC86-инструкции.