- •Ответы на экзаменационные вопросы по асвт.
- •История создания эвм. Архитектура Фон Неймана.
- •Единица информации и ее производные.
- •Единица адресуемой памяти. Полуслово, слово, Двойное слово.
- •Виды памяти и ее физическая реализация.
- •Ascii code; кои-8, Альтернативная кодировка. Структура, состав.
- •Архитектура системной платы. Основные элементы, необходимые для запуска компьютера. Основные номиналы напряжения и модули электропитания современного компьютера.
- •Шина pci
- •Шина pci-e
- •Шина usb
- •Синхронизация системы
- •Шина agp
- •Технология Plug and Play, распределение адресного пространства.
- •Архитектура микропроцессоров. Risc; cisc; misc процессоры.
- •Микропрограммная структура процессора
- •Технологии оптимизации выполнения операций микропроцессора. Продвижение данных, Предсказание переходов, Исполнение по предположению.
- •Поколения процесcоров i80x86
- •Cкалярная и суперскалярная архитектура микропроцессоров.
- •Конвейерная обработка операций в микропроцессоре.
- •Программная модель 16 разрядных микропроцессоров
- •Формирование физического адреса в реальном режиме микропроцессора.
- •Структура регистра флагов
- •Программная модель 32 разрядных процессоров
- •Регистры общего назначения в 32 разрядных процессорах.
- •Роль сегментных регистров в защищенном режиме работы микропроцессора
- •Управляющие регистры микропроцессора
- •Тестовые регистры микропроцессора
- •Адресация оперативной памяти в защищенном режиме
- •Страничная организация памяти
- •Стековая организация памяти
- •Распределение адресного пространства в реальном режиме процессора
- •Распределение адресного пространства в защищенном режиме процессора
- •Основные понятия защищенного режима
- •Соотношение уровней привилегий источника и приемника в защищенном режиме
- •Передача управлений между уровнями привилегий
- •Прерывания и исключения
- •Организация прерываний в защищенном режиме процессора
- •Физическая организация оперативной памяти, технология исполнения и классификация устройств.
- •Логическая организация памяти
- •Организация динамического озу
- •Типы динамической памяти
- •Биос распределение адресного пространства и отображение в оперативную память
- •Архитектура и назначение таймера
- •Часы реального времени и cmos память
- •Подсистема прямого доступа к памяти (dma)
- •Подсистема прерываний, организация прерываний.
- •Физическая организация накопителей на магнитных дисках
- •16 Разрядная система счисления
- •Логическая структура жестких магнитных дисков
- •Преодоление барьера 528 мб. LBa; echs
- •Логическая структура разделов жесткого диска.
- •Физическая организация оптических дисков
- •Логическая организация оптических дисков
- •Управление накопителями жестких дисков. Интерфейсы ide; sata
- •Scsi интерфейс
- •Raid массивы, организация, виды.
- •Файловая система
Микропрограммная структура процессора
Технологии оптимизации выполнения операций микропроцессора. Продвижение данных, Предсказание переходов, Исполнение по предположению.
Для достижения максимальной производительности процессора- обеспечения полной загрузки конвейеров с минимальным числом лишних штрафных циклов (penalty cycles) - программа должна составляться с учетом архитектурных особенностей процессора. Скалярным называют процессор с единственным конвейером, к этому типу относятся все процессоры Intel до 486 включительно. Суперскалярный (superscalar) процессор имеет более одного (Pentium - два) конвейера, способных обрабатывать инструкции параллельно.
Продвижение данных (data forwarding) подразумевает начало исполнения инструкции до готовности всех операндов. При этом выполняются все возможные действия, и декодированная инструкция с одним операндом помещается в исполнительное устройство, где дожидается готовности второго операнда, выходящего с другого конвейера.
Предсказание переходов (branch prediction) позволяет продолжать выборку и декодирование потока инструкций после выборки инструкции ветвления (условного перехода), не дожидаясь проверки самого условия. В процессорах прежних поколений инструкция перехода приостанавливала конвейер (выборку инструкций) до исполнения собственно перехода, на чем, естественно, терялась производительность. Предсказание переходов направляет поток выборки и декодирования по одной из ветвей. Статический метод предсказания работает по схеме, заложенной в процессор, считая, что переходы по одним условиям, вероятнее всего, произойдут а по другим - нет. Динамическое предсказание опирается на предысторию вычислительного процесса - для каждого конкретного случая перехода накапливается статистика поведения, и переход предсказывается, основываясь именно на ней.
Исполнение по предположению, называемое также спекулятивным (speculative execution), идет дальше - предсказанные после перехода инструкции не только декодируются, но и по возможности исполняются до проверки условия перехода. Если предсказание сбывается, то труд оказывается ненапрасным, если не сбывается, то происходит перегрузка конвейера.
Поколения процесcоров i80x86
В настоящее время семейство i80x86 насчитывает 7 поколений процессоров.
Первое поколение (процессоры 8086 и 8088 и математический сопроцессор 8087) задало архитектурную основу - набор неравноправных 16- разрядных регистров, сегментную систему адресации памяти в пределах 1 Мбайт с большим разнообразием режимов, систему команд, систему прерываний и некоторые другие черты. В процессорах применялась «малая» конвейеризация - пока одни узлы выполняли текущую инструкцию, блок предварительной выборки выбирал из памяти следующую. На выполнение каждой инструкции уходило в среднем по 12 тактов процессорного ядра.
Второе поколение (80286 с сопроцессором 80287) привнесло в семейство защищенный режим, позволяющий задействовать виртуальную память размером до 1 Гбайт для каждой задачи, пользуясь адресуемой физической памятью в пределах 16 Мбайт. Защищенный режим 80286 не нашел массового применения - эти процессоры в основном использовались как «очень» быстрые 8086. Их производительность повысилась не только за счет роста тактовой частоты, но и за счет значительного усовершенствования конвейера. Здесь на выполнение инструкции уходило в среднем по 4,5 такта. Во втором поколении появились новые инструкции: системные (для обслуживания механизмов защищенного режима) и несколько прикладных (в том числе для блочного ввода-вывода - основы программного обмена с портами). Наличие защищенного режима не отменяет возможности работы в реальном режиме 8086, и эта возможность сохраняется во всех последующих поколениях (дань совместимости с программным обеспечением, включая и MS-DOS).
Третье поколение (386/387 с суффиксами DX и SX, определяющими разрядность внешней шины) ознаменовалось переходом к 32-разрядной архитектуре IA-32. Кроме расширения диапазона непосредственно представляемых данных увеличился и объем адресуемой памяти (до 4 Гбайт реальной, 64 Тбайт виртуальной). В систему команд ввели возможность переключения разрядности адресации и данных. Защищенный режим был несколько усовершенствован, но оставлена и обратная совместимость с 286. На таком процессоре стала применятся ОС MS Windows. В плане организации исполнения инструкций существенных изменений, повлекших за собой сокращение числа тактов на инструкцию, не произошло - те же средние 4,5 такта, но частота уже достигла 40 МГц.
Четвертое поколение (486, DX и SX) в архитектурную модель больших изменений не внесло, но зато был принят ряд мер для повышения производительности. В этих процессорах значительно усложнен исполнительный конвейер - основные операции выполняет RISC-ядро, «задания» для которого готовят из входных CISC-инструкций х86. Этот конвейер стал способным выполнять очередные инструкции в среднем за каждые два такта. Производительность конвейера процессора оторвалась от возможностей доставки инструкций и данных из оперативной памяти, и прямо в процессор ввели быстродействующий первичный кэш объемом 8-16 Кбайт. В этом же поколении отказались от внешнего сопроцессора: теперь он размещается либо на одном кристалле с центральным (называется FPU), либо его нет вообще. По сравнению с предыдущим поколением и сопроцессор стал работать значительно эффективнее, а тактовая частота в этом поколении достигла 133 МГц (у AMD, а у Intel - только 100).
Пятое поколение - процессор Pentium у Intel и К5 у AMD - привнесло суперскалярную архитектуру. Суперскалярность означает наличие более одного конвейера. У процессоров пятого поколения после блоков предварительной выборки и первой стадии декодирования инструкций имеются два конвейера, U-конвейер и V-конвейер. Каждый из этих конвейеров имеет ступени окончательного декодирования, исполнения инструкций и буфер записи результатов. Конвейеризирован и блок FPU. Процессор с такой архитектурой может одновременно выполнять до двух инструкций, но в среднем получается 1 такт на инструкцию. В процессорах применяется блок предсказания ветвлений. Для быстрого снабжения конвейеров инструкциями и данными из памяти шина данных процессоров имеет разрядность 64 бит, из-за чего поначалу их даже ошибочно называли 64-разрядными процессорами. На закате этого поколения появилось расширение ММХ, новизна которого заключается в принципе SIMD: одна инструкция выполняет действия сразу над несколькими операндами.
Шестое поколение процессоров Intel (микроархитектура Р6) началось с Pentium Pro и продолжается в процессорах Pentium И, Pentium III, Celeron и Хеоп. Его отличительной особенностью является исполнение с изменением последовательности инструкций (динамическое исполнение), при котором инструкции разбиваются на простейшие микрооперации, которые далее выполняются суперскалярным процессорным ядром в порядке, удобном процессору. Ядро процессора содержит несколько конвейеров, к которым подключаются исполнительные устройства целочисленных вычислений, обращений к памяти, предсказания переходов и вычислений с плавающей точкой. Несколько различных исполнительных устройств могут объединяться на одном конвейере. Результаты «беспорядочно» выполняемых микроопераций собираются в переупорядочивающем буфере и в корректном порядке записываются в память (и порты ввода-вывода). Чтобы можно было одновременно выполнять разные инструкции с одними и теми же программно-адресуемыми регистрами, внутри процессора выполняется аппаратное переименование регистров. В процессорах 6-го поколения реализовано исполнение по предположению. В итоге всех этих ухищрений среднее число тактов на инструкцию у Pentium Pro сократилось до 0,5 такта.
При повышении быстродействия процессорного ядра и относительно низких частотах системной шины и оперативной памяти, возникает проблема доставки инструкций и данных из ОЗУ к процессорному ядру, используя систему кэш памяти первого и второго уровней. Для решения указанной проблемы используется двойная независимая шина (DDB), при которой одна из шин процессора, "фасадная" (FSB - Front Side Bus) имеет частоту системной шины (66 - 133 МГц) и связывает его с ОЗУ, а другая шина имеет частоту ядра (или ее половина) и связывает процессор с вторичным кэшем.
Седьмое поколение (no AMD) началось с процессора Athlon. Причисление его к новому поколению мотивировано развитием суперскалярности и суперконвейерности, которая теперь охватила и блок FPU. Седьмое поколение процессоров Intel началось годом позже с процессора Pentium 4, микроархитектура которого рассматривается в п. 3.6.4.
Фирма Intel сейчас занимается 64-разрядной архитектурой. Скоро должен выйти 64-разрядный процессор Itanium, разрабатываемый под кодовым названием Merced. Его архитектура - IA-64 - должна будет обеспечивать совместимость с существующим ПО для используемой ныне архитектуры IA-32.