Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение icon

Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение


Скачать 412.31 Kb.
НазваниеАрхитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение
страница6/10
Размер412.31 Kb.
ТипРеферат
1   2   3   4   5   6   7   8   9   10

^ 4.5. Микроархитектура процессоров семейства AMD

В процессоре AMD-K6-2 реализована так называемая "Enhanced RISC86"-микроархитектура. Напомним, что RISC — это аббревиатура от Reduced Instruction Set Computing ("вычисления с сокращенным набором команд"). RISC-процессор обладает меньшим числом команд фиксированной длины. Упрощенная структура позволяет RISC-процессору развивать более высокую скорость. Типичные представители RISC-процессоров — Alpha от DEC, SPARC от SUN, PowerPC от IBM.

В противоположность этому CISC — сокращение от Complex Instruction Set Computing ("вычисления со сложным набором команд"). Все члены семейства х86 — типичные представители CISC-процессоров со cложными, но удобными наборами команд. Что касается AMD-K6-2, то речь в данном случае идет об объединенной архитектуре на основе преобразования х86-команд в более простые в обращении RISC-инструкции,

Основная ее особенность состоит в том, что внешние х86-инструкции, поступающие на обработку в процессор, преобразуются во внутренние RISC86-инструкции, которые и исполняются процессором. Вместо того чтобы напрямую исполнять сложные х86-инструкции с переменной длиной от 1 до 15 байт, процессор обрабатывает поток простых RISC86-инструкций фиксированной длины.

В состав процессора AMD-K6-2 (рис. 4.16) входят несколько основных модулей; L1-кэш данных (Level-One Dual Port Data Cache), Li-кэш инструкций (Level-One Instruction Cache) с кэшем предварительного декодирования (Predecode Cache), модуль декодирования (Multiple Instruction Decoders), центральный планировщик (Centralized RISC86 Operation Scheduler), вычислительные блоки (Execution Units) и модуль предсказания переходов (Branch Logic).

L1-кэш инструкций и данных, предварительное декодирование. L1-кэш состоит из двух независимых блоков: L1-кэша данных (Level-One Dual Port Data Cache) и L1-кэша инструкций (Level-One Instruction Cache) с кэшем предварительного декодирования (Predecode Cache). L1-кэш данных предназначен только для хранения данных и имеет объем 32 Кбайт- Несколько сложнее обстоит дело с L1-кэшем инструкций: наряду с инструкциями, для хранения которых предназначены 32 Кбайт памяти, в нем хранятся так называемые "биты преддекодирования" (predecode bits) — для них отведено 20 Кбайт памяти. Дело в том, что после загрузки инструкции в L1-кэш инструкций выполняется ее предварительное декодирование (predecoding) — к каждому байту инструкции добавляется пять бит (из этого и следует соотношение 32 Кбайт/20 Кбайт = 8/5), в которые записывается информация о количестве байт, оставшихся до начала следующей инструкции. Эта информация используется на этапе декодирования х86-инструкций в RISС8б-инструкции. После того, как L1 -кэш инструкций полностью заполнится данными, инструкции вместе с преддекодированными битами передаются в буфер инструкций (Instruction Buffer).

Модуль декодирования (Multiple Instruction Decoders), Модуль декодирования извлекает х86-инструкций (до 16 байт данных с инструкциями за один такт) с битами преддекодирования из буфера инструкций (Instruction Buffer), определяет границы инструкций и преобразует их в RISC86-инструкции. Непосредственно преобразованием занимаются четыре декодера; два для декодирования простых (Short Decoder #1, Short Decoder #2) и два для декодирования сложных х86-инструкций (Long Decoder, Vector Decoder). Одновременно могут работать либо два декодера Short Decoder #1 и Short Decoder #2, либо декодер Long Decoder, либо декодер Vector Decoder.


Микроархитектура процессора 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-инструкции.


Микроархитектура процессора AMD Athlon

2-way, 64 KB Instruction Cache

Predecode Cache

Branch Predecode Table




System Interfase L2 SRAM


Рис. 4.17.


Integer, MMX- и 3DNow! - инструкции передаются по двум независимым шинам — Register X Issue Bus и Register Y Issue Bus. При этом блоки Integer X ALU и MMX ALU (X) подключены только к шине Register X Issue Bus, a Integer Y ALU и MMX ALU (У) — только к шине Register Y Issue Bus. А вот блоки MMX/3DNow! Multiplier и 3DNow! ALU подключены сразу к обеим шинам, как и блок MMX Shifter, функция которого заключается в том, чтобы переключать блоки MMX/3DNow! Multiplier и 3DNow! ALU между шинами.

Модуль предсказания переходов (Branch Logic). Назначение этого модуля, как следует из его названия, состоит в предсказании возможных переходов.

Во всех "старых процессорах AMD, Модуль вычислений с плавающей точкой был неконвейерным, что не позволяло начать выполнять новую команду пока не закончиться выполнение предыдущей. Это приводит к сильному падению производительности всей системы. До сих пор разработчики AMD не вносили никаких изменений в FPU, рассчитывая на свой блок 3Dnow!

в Athlone AMD (рис. 4.17) впервые представляет новый, полностью конвейерный FPU модуль, позволяюший выполнять до трех операций за такт.

Обратите внимание на три вычислительных блока и на то, как модули Stack Map, Registry Rename, Scheduler с 36 входами и FPU Register File с 88 входами позволяют разделить вычисления между ними (рис. 4.18).


Рабочая схема модуля вычислений с плавающей точкой





Рис. 4.18.


FPU в процессорах Pentium III и Celeron разделен на два модуля FADD и FMUL; первый, полностью конвейерный, выполняет простые вычисления, в то время как второй выполняет более сложные вычисления и не полностью конвейерный. Естественно, что наличие трех, полностью конвейерных модулей, вместо двух, из которых только один

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

По сравнению с FPU, целочисленные модули AMD всегда были достаточно производительными, но, несмотря на это, в Athlon произошли некоторые изменения.

В новом блоке целочисленных вычислений используется три конвейерных модуля, способных выполнять три операции одновременно. Глубина этих конвейерных модулей составляет 10 шагов, что, по словам AMD, является самым оптимальным.

Блок 3DNow! также претерпел ряд изменений. 19 новых SIMD инструкций были добавлены к оригинальному 3Dnow!, чтобы увеличить производительность целочисленных и вещественных операций. Также добавлены пять новых DSP инструкций предназначенных для использования в мультимедиа приложениях (МРЗ, АСЗ, Mpeg2 encoding и decoding). Используя расширенный набор 3Dnow! Инструкций, можно получить до 20% прироста производительности по сравнению с стандартным набором и около 50% по сравнению с приложениями, не использующими 3Dnow!

Одной из интересных особенностей нового процессора является применение новой архитектуры системной шины — EV6. Такая же архитектура применяется в системах на процессорах Alpha. Применение EV6 связано с желанием AMD использовать Athlon в производительных многопроцессорных системах.

Сравнение EV6 и GTL+ (Pentium III и Celeron) показывает, что первая архитектура использует технологию Point to Point, в которой каждый процессор имеет свою отдельную часть шины, в то время, как в GTL+ процессоры должны делить одну "широкую" шину. Это объясняет, почему многопроцессорные системы на GTL+ шине очень трудно найти. EV6 поддерживает до 14 процессоров, но пока самые оптимальные теоретические расчеты предлагают использовать не более восьми процессоров.


^ Организация системной шины


CPU0

CPU1

CPU2

CPU0

CPU1

CPU2



System Logic








System Logic




Рис. 4.19.

Левая блок-схема показывает организацию EV6. Каждый процессор имеет собственную шину для соединения с логическими схемами, даже если в системе установлено несколько процессоров. На правой блок-схеме Вы можете видеть решение, основанное на GTL+ шине: ширина системной шины зафиксирована и делится между доступными ей процессорами (рис. 4.19).


^ 5.Принципы организации системы прерывания программ


5.1. Классы сигналов прерывания

Для обеспечения перехода от одной программы к другой в мультипрограммной ЭВМ вводится так называемый режим прерывания программ.

^ Прерывание программы — способность процессора прекращать выполнение текущей программы и ее управление при возникновении определенных условий. Сигналы, вызывающие прерывание программы, называются сигналами прерывания или запросами прерывания.

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

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

2. Программное прерывание, или прерывание из-за ошибок программы, возникает при обнаружении ошибок в программе или при появлении необычных ситуаций при ее выполнении. Например, при переполнении разрядной сетки, делении на нуль и т. п.

3 Внешнее прерывание возникает в случае появления сигналов от внешних объектов: датчиков времени (электронных часов), кнопок запросов на пультах инженера и оператора и других ЭВМ, подключенных к данной ЭВМ; аппаратуры передачи данных по линиям связи, от датчиков технологических процессов и т. п.

4. Прерывание от устройств ввода-вывода позволяет процессору получать информацию о состоянии каналов и периферийных устройств и отвечать на эти сигналы. Это прерывание от устройств ввода-вывода сформируется, когда канал и ПфУ не могут выполнить за данную операцию; при возникновении особой ситуации в процессе выполнения операции ввода-вывода (ошибка в информации, обрыв перфоленты и бумаги, замятие перфокарты и др.); в момент окончания операции ввода-вывода.

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

^ 5.2. Распределение прерываний в ПК на базе процессоров х86

Все ПК, базирующиеся на процессорах семейства х86 управляются с помощью прерываний, генерируемых аппаратным или программным обеспечением. Эти прерывания могут быть разделены на семь категорий:

  • прерывания микропроцессора;

  • аппаратные;

  • программные;

  • операционной системы;

  • BASIC;

  • адресное и общего назначения.

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


^ Таблица 5.1.

Распределение аппаратных прерываний



Номер прерывания

Назначение

0

Системный таймер

1

Контролер клавиатуры

2

Сигнал возврата по кадру (видео), связан с 9

3

СОМ2/СОМ4

4

СОМ1/СОМ3

5

Свободен

6

Контролер FDD

7

LPT1

8

Часы реального времени с автономным питанием

9

Параллельна с 2

10

Свободен

11

Свободен

12

Контролер мыши PS/2

13

Математический сопроцессор

14

Контролер IDE HDD (первый канал)

15

Контролер IDE HDD (второй канал)


Программные прерывания являются часть программ ROM-BIOS. Сами подпрограммы BIOS, вызываемыми этими прерываниями, не могут быть изменены, однако векторы, указывающие на эти подпрограммы, могут быть изменены таким образом, что они будут указывать совсем на другие подпрограммы. Зарезервированные коды - 5, 16-28, 72.

Прерывания операционной системы (ОС) используются самой ОС. Многие программы и языки программирования для выполнения своих основных операций, особенно тех, которые связаны дисковым вводом-выводом, через прерывания ОС используют служебные функции ОС. Зарезервированные коды - 32-255 (используются 32-96).

Прерывания BASIC присваиваются самим BASIC и доступны тогда, когда используется BASIC. Зарезервированные коды - 128-240.

Адресные прерывания являются частью таблицы векторов прерываний и используются для хранения сегментных адресов. С этими прерываниями не связаны какие-либо действительные прерывания или подпрограммы обработки прерываний. Три из них связаны с тремя очень важными таблицами: таблицей инициализации изображения, основной таблицей диска и таблицей графических символов. Эти таблицы содержат параметры, используемые ROM-BIOS при процедурах начального запуска и при генерации графических символов. Зарезервированные коды - 29-31, 68,73.

Прерывания общего назначения устанавливаются нашими программами для временного использования. Зарезервированные коды - 96-106.

^ 5.3. Приоритеты прерываний

Программы, выполнявшиеся до появления запросов прерывания, называют прерываемыми программами. Программы, за требованные запросами прерывания,— прерывающими программами.

На рис. 5.1 приведена временная диаграмма прерывания текущей программы П1. При поступлении запроса прерывания (3П) процессор переходит к прерывающей программе П2 не сразу, так как требуется время на анализ системы на запрос прерывания. После перехода к прерывающей программе П2 в течение tз происходит запоминание состояния прерванной программы П1, а затем в течение tп исполняется прерывающая программа П2. Сразу после ее окончания в течение tв восстанавливается состояние прерванной программы П1 и ей передается управление. Сумма времени, затрачиваемого на запоминание состояния прерванной программы П1 и на возврат к ней, называют временем обслуживания программы. Время реакции tp и обслуживания tо=tз+tв характеризуют потери машинного времени на организацию процесса прерывания и быстродействия ЭВМ по обслуживанию запросов прерывания.


Временная диаграмма возможного процесса прерывания программы

П1




t

ЗП

t


t


tр tз tп tв


Рис. 5.1.

Максимальное количество программ, прерывающих друг друга вновь возникающими запросами, называют глубиной прерывания. Степень важности запросов на прерывания в общем случае зависит от времени их поступления в систему прерывания программ, характера источников запросов. Поэтому каждому источнику запросов на прерывания присваивается постоянный, как правило, уровень приоритетности, или глубина прерывании. Наивысшим приоритетом (нулевой уровень) прерывания обладают прерывания от схем контроля ЭВМ. Прерывания нулевого уровня могут прервать любую из программ, отвечающих, уровням 1, 2, ... , n при выделении (n+1) уровней.

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

Прерывания первого уровня могут прерывать любую из программ второго и третьего уровней приоритетности, но не могут прервать программу с нулевым уровнем приоритетности. На временной диаграмме (рис. 5.2) показано обслуживание запросов 3Пi с учетом их приоритетности.


^ Определение исполнение программ в системе с учетом приоритетности запросов прерывания

ЗПi 2 1 3 0


t

П0

t

П1

t

П2


t

П3

t


Рис. 5.2.


В связи с введением приоритетов время реакции tр на отдельные запросы увеличивается.


^ 5.4. Защита от прерывания

Процессор должен обеспечивать такой подход к запросам на прерывание, при котором прерывание по отдельным причинам может быть запрещено в течение некоторого промежутка времени, в то время как для других запросов прерывание разрешается. В современных ЭВМ наибольшее распространение получило программное управление приоритетом на основе маски-кода защиты от прерываний, представляющего собой двоичное число, разряды которого соответствуют отдельным причинам или уровням прерывании. Если разряд маски имеет значение 0, то соответствующая причина прерывания замаскирована и процессор не реагирует на данный запрос на прерывание. Если разряд маски равен 1, то соответствующая причина прерывания не замаскирована и процессор воспринимает данный запрос на прерывание.

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

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

Различают два метода обработки прерываний: с опросом и по вектору.

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

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

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


1   2   3   4   5   6   7   8   9   10

Похожие:

Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconАрхитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение
Так, разработаны новые микропроцессорные вычислительные средства, являющиеся основой микроэвм и персональных ЭВМ. В связи с этим...
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconУчебное пособие Москва-Рязань
Права человека: учебное пособие /Ю. С. Бадальянц, Д. А. Ягофаров. – Москва-Рязань: Издательство «Поверенный», 2006. – 519 с
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconУчебное пособие для вузов М.: Аспект Пресс, 2004. Оглавление введение
Охватывает период так называемой пражурналистики – с I в до н э. Под ней понимают возникновение первичных способов, средств, методов,...
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconУчебное пособие для студентов высших и средних специальных учебных заведений. М., 2001. Введение
Канке В. А. Философия: учебное пособие для студентов высших и средних специальных
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconИ. В. Паблик рилейшнз для менеджеров и маркетеров. М., 1997. Варакута С. А., Егоров Ю. Н. Связи с общественностью Уч пос-е. М.,2004. Чумиков А. Н., Бочаров М. П. Связи с общественностью: теория и практика. Учебное пособие
Чумиков А. Н., Бочаров М. П. Связи с общественностью: теория и практика. Учебное пособие. – М., 2006
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconУчебное пособие для участников торгов на мировых биржах Содержание введение 7
Охватывают вас во время игры, чтобы убедиться в логической обоснованности ваших решений. Вам нужна такая структура управления капиталом,...
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconЮ. Ф. Введение в актуарную математику > Кузнецова Н. Л., А. В. Сапожникова Актуарная математика. Учебное пособие

Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconУчебное пособие санкт-петербург
Учебное пособие предназначено для самостоятельной подготовки курсантов и проведения практических занятий на базе городской детской...
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconОбщая архитектура современных микропроцессорных систем
...
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconУчебное пособие для студентов химического факультета. Уфа: риц башГУ, 2012. 89с. Введение
Химическая технология. Часть Физико-химические закономерности в химической технологии: Учебное пособие для студентов химического...
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconУчебное пособие для самостоятельной работы Ставрополь 2010 ббк 63. 3 (2) Я73 удк 99 (С) р -82
Учебное пособие предназначено для студентов медицинских и фармацевтических вузов
Вы можете разместить ссылку на наш сайт:
Документы


При копировании материала укажите ссылку ©ignorik.ru 2015

контакты
Документы