Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
осрв.doc
Скачиваний:
20
Добавлен:
25.04.2019
Размер:
269.82 Кб
Скачать

Вопрос 22. Процессоры Intel80x86. Общий обзор.

Процессоры Intel 80x86 доминируют на рынке персональных компьютеров. Первый представитель семейства - 18086, появился в 1979г. Это был 16-ти битный процессор.

Основные общие черты семейства 180x86:

• пространство ввода/вывода отделено от пространства памяти,

• сегментная организация памяти,

• малое число регистров,

• невзаимозаменяемость регистров (много инструкций, неявно использующих жестко закрепленные регистры).

i80386 (1987, 275000 транзисторов, 33MHz, 8 MIPS):

• 32-бит шина данных и 32-бит шина адреса

• 8 32-битных регистров общего назначения

• 3 режима адресации

• внешнее FPU 180387

• внешний контроллер (внешней) кэш памяти 182385

• поддержка многозадачности посредством регистра задачи и дескрипторов задач

180486 (1989, 1200000 транзисторов, частота шины 33MHz, 20 MIPS):

• частота процессора до 100 МГц

• единый 8Кб (16Кб) кэш инструкций и данных (с поддержкой блоковых передач (burstaccess))

• встроенное FPU (без конвейера)

• 5-ти стадийный конвейер, использующий таблицу регистров (registerScoreboard)

Pentium (1993, 3100000 транзисторов, частота шины 50/60/66MHz, 100 specint92, 80 specfp92, максимальная частота 66*3 = примерно 200 МГц):

• суперскалярная архитектура: 2 IU

• устройство предсказания переходов (BU)

• гибридная CISC/RISC архитектура

PentiumPro (1996, 5500000 транзисторов, шина 150+MHz, 366 specint92, 283 specfp92):

• суперскалярный процессор: до 5 инструкций за цикл

• 14-ти стадийные конвейеры (2 для IU и 1 для FPU)

• Гарвардская архитектура: 16Кб кэш инструкций и 8Кб кэш данных

• 256(512)Кб встроенный кэш второго уровня; расположен на отдельном кристалле, но в том же корпусе, связан с процессором 64-битной шиной, работающей на частоте процессора

• спекулятивное исполнение: выполнение инструкций за точкой ветвления

• переименование регистров (registerrenaming)

Pentium-II (1997, 7500000 транзисторов, шина 233+MHz):

• суперскалярный процессор: 2IU и 2FPU

• Гарвардская архитектура: 16Кб кэш инструкций и 16Кб кэш данных

• 512Кб встроенный кэш второго уровня; расположен на отдельном кристалле, связан с процессором 64-битной шиной, работающей на половине частоты процессора (для модификации Pentium-IIIXeon - на частоте процессора)

Pentium-III (1999, шина 450+MHz):

• PentiumII с дополнительными мультимедийными инструкциями

Р7 (Intel и HP, 2000):

• 64-бит архитектура

• RISC процессор с набором команд PA-RISC, способен выполнять инструкции 18086

Программная модель

Регистры: ax, bx, cx, dx, sp, bp, si, di, ip, flags.

Сегментные регистры: cs, ds, ss, fs, gs, es.

Сочетание в команде: регистр - регистр

• регистр - память

• память - регистр

• непосредственное значение - регистр

• непосредственное значение – память

Вопрос 23. Суперконвейерные и суперскалярные процессоры. Выделение независимо работающих устройств: iu. Fpu. Mmu. Bu.

Одним из способов дальнейшего повышения быстродействия является конвейеризация стадий конвейера. Такие процессоры называются суперконвейерными. При таком подходе каждая стадия конвейера, такая как кэш (см. ниже) или АЛУ (арифметическое и логическое устройство), может принимать новую инструкцию каждый цикл, даже если эта стадия не завершила исполнение текущей инструкции. Отметим, что добавление новых уровней конвейеризации имеет смысл только в случае, если разработчик может значительно увеличить частоту процессора. Однако, увеличение производительности за счет увеличения внутренней частоты процессора имеет ряд недостатков. Во-первых, это увеличивает потребление энергии процессором, что делает суперконвейерные процессоры малопригодными для встраиваемых систем. Во-вторых, это вводит новые трудности в сопряжении процессора с памятью нижнего уровня, такой как DRAM. Быстродействие этой памяти растет не так быстро, как скорость процессоров, поэтому чем быстрее процессор, тем больше разрыв в производительности между ним и основной памятью.

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

В процессоре выделяют исполняющие устройства, работающие независимо:

• Целочисленное устройство (IU, IntegerUnit) - выполняет целочисленные операции.

• Устройство для работы с плавающей точкой (FPU, FloatingPointUnit) - обычно отделено от целочисленного устройства, которое работает только с целыми числами и числами с фиксированной точкой.

• Устройство управления памятью (MMU, MemoryManagementUnit) - вычисляет реальный физический адрес по виртуальному адресу.

• Устройство предсказания переходов (BU, BranchUnit) - занимается предсказанием условных переходов, для того, чтобы избежать простоя конвейера в ожидании результата вычисления условия перехода.