Учебный курс

18
Учебный курс Архитектура ЭВМ и язык ассемблера Лекция 8 заместитель министра связи и массовых коммуникаций РФ, старший преподаватель Северов Дмитрий Станиславович

Upload: keira

Post on 19-Mar-2016

106 views

Category:

Documents


2 download

DESCRIPTION

Учебный курс. Архитектура ЭВМ и язык ассемблера Лекция 8 заместитель министра связи и массовых коммуникаций РФ, старший преподаватель Северов Дмитрий Станиславович. Микроархитектура. Управление микрокомандами. • Микропрограммная память. –. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Учебный курс

Учебный курс

Архитектура ЭВМ и язык ассемблера

Лекция 8

заместитель министра связи и массовых коммуникаций РФ, старший преподаватель

Северов Дмитрий Станиславович

Page 2: Учебный курс

Микроархитектура

2

Page 3: Учебный курс

–––––

–––––

Управление микрокомандами• Микропрограммная память

(9) Псевдорегистр «микропрограммный счётчик» (MPC)(512x36) Управляющая память(36) Регистр микрокоманд (MIR)Триггеры признаков (N),(Z)Схемы управления выбором следующего микроадреса

• Уточнённый цикл микрокомандыСпадом такта микрокоманда фиксируется в MIRВыдача из регистра на входную шинуСрабатывание АЛУ и сдвигателяСтабилизация выходной шины, шин памяти, АЛУЗащёлкивание (ростом такта)

• в триггеры признаков (N), (Z)• в регистры с выходной шины и/или из памяти

– Формирование MPC к началу след. цикла (спаду такта )3

Page 4: Учебный курс

––––

Некоторые задачи реализации АСК• Определить модель памяти

Набор константФрейм локальных переменныхСтек операндовОбласть процедур

• Определить набор команд• Определить поведение памяти при…

– передаче параметров и управления между процедурами– cоздании локальных переменных– вычислении выражений

• Определить состав микрокоманд• Реализовать АСК в виде микропрограммы

4

Page 5: Учебный курс

Модель памяти

5

Набор констант

Текущий стек операндов 3

Текущий фрейм локальных переменных 3

Фрейм локальных переменных 2

Фрейм локальных переменных 1

Область процедур

СРР

SP

LV

PC

Page 6: Учебный курс

6

Набор команд IJVM

Число Мнемоника Примечание0x10 BIPUSH byte Помещает байт в стек0x59 DUP Копирует верхнее слова стека и помещает его в стек0xA7 GOTO offset Безусловный переход0x60 IADD Выталкивает два слова из стека; помещает в стек их сумму0x7E IAND Выталкивает два слова из стека; помещает в стек результат

логического умножения 0x99 IFEQ offset Выталкивает слово из стека и совершает переход, если оно

равно нулю0x9B IFLT offset Выталкивает слово из стека и совершает переход, если оно

меньше нуля0x9F IF_ICMPEQ

offsetВыталкивает два слова из стека; совершает переход, если они равны

0x84 IINC varnum const

Прибавляет константу к локальной переменной

Page 7: Учебный курс

0x15 ILOAD varnum

Помещает локальную переменную в стек

0xB6 INVOKEVIRTUAL disp

Вызывает процедуру

0x80 IOR Выталкивает два слова из стека; помещает в стек результат логического сложения

0xAC IRETURN Выдает результат выполнения процедуры (целое число)0x36 ISTORE

vamumВыталкивает слово из стека и запоминает его во фрейме локальных переменных

0x64 ISUB Выталкивает два слова из стека; помещает в стек их разность

0x13 LDC_W index Берет константу из набора констант и помещает ее в стек0x00 NOP Не производит никаких действий0x57 POP Удаляет верхнее слово стекаOx5F SWAP Переставляет два верхних слова стекаOxC4 WIDE Префиксная команда; следующая команда содержит16-

битный индекс

Набор команд IJVM (продолжение)

Page 8: Учебный курс

Память при вызове и возврате

8

Page 9: Учебный курс

Микрооперации

9

Таблица 4.3. Все допустимые операции. Любую из перечисленных операций можно расширить, добавив «<<8», что означает сдвиг результата влево на 1 байт. Например, часто используется операция H=MBR<<8

DEST=HDEST=SOURCE SOURCE DESTDEST=H - MDR - MARDEST=SOURCE - PC - MDR DEST=H+SOURCE - MBR - PCDEST=H+S0URCE+1 - MBRU - SPDEST=H+1 - SP - LVDEST=S0URCE+1 - LV - CPPDEST=SOURCE-H - CPP - TOSDEST=S0URCE-1 - TOS - OPCDEST= -H - OPC - HDEST=H И SOURCEDEST=H ИЛИ SOURCEDEST=0DEST=1DEST= -1

Page 10: Учебный курс

10

Микро-команда Операция Комментарий

Main1РС=РС+1; fetch; goto(MBR)

MBR содержит код операции; получение следующего байта; отсылка

nop1 goto Main 1 Ничего не происходит

iadd1 MAR=SP=SP-1;rdЧтение слова, идущего после верхнего слова стека

iadd2 H=TOS Н = вершина стека

iadd3MDR=TOS=MDR+H;wr; goto Main 1

Суммирование двух верхних слов; запись суммы в верхнюю позицию стека

lload1 H-LV MBR содержит индекс; копирование значения LVBH

iload2 MAR=MBRU+H; rdMAR = адрес локальной переменной, которую нужно поместить в стек

iload3 MAR=SP=SP+1 Регистр SP указывает на новую вершину стека; подготовка к записи

iload4 PC=PC+1; fetch; wrУвеличение значения PC на 1; вызов кода следующей операции; запись вершины стека

Микропрограмма для Mic-1

Page 11: Учебный курс

iload5TOS=MDR; goto Malnl Обновление TOS

goto1 OPC=PC-1 Сохранение адреса кода операции

goto2 PC=PC+1; fetchMBR ■ первый байт смещения; вызов второго байта

goto3 H=MBR<<8Сдвиг первого байта влево на 8 битов и сохранение его в регистре Н

goto4 H=MBRU ИЛИ Н Н =16-битное смещение переходаgoto5 PC=OPC+H; fetch Суммирование смещения и ОРС

goto6 goto Maln1Ожидание вызова следующего кода операции

Микропрограмма для Mic-1 (продолжение)

Page 12: Учебный курс

А дальше?• Учебные модели

– Google: VS-CPU Carpinelli– Google: RS-CPU Carpinelli– Жмакин А.П. Архитектура ЭВМ. (с диском)

• ISBN 5-94157-719-2

• Простейший процессор– 8 бит– 4-ре команды

– www.csie.ntu.edu.tw/~b92029/data/EXP

12

Page 13: Учебный курс

Ускорение микроархитектуры• Меньше микроопераций в операции

– упрятать выборку команды– три шины

• Короче цикл– меньше последовательных действий– короче отдельные действия

• сложнее сумматор (АЛУ)• убрать декодер 4в16

• Несколько действий одновременно– Отдельный блок выборки команд

13

Page 14: Учебный курс

Mic-2LDC-WSWAPILOADIADDLDC-W

98649

36333

14

Page 15: Учебный курс

Mic-3• Такт короче• Всё доступно

Mic-2

Mic-2

Mic-3

Mic-3

15

Page 16: Учебный курс

Конвейер

16

Page 17: Учебный курс

–––––

Mic-4• Микрооперации• Специализация

Начало в ПЗУВыборка заранееОчередь исполненияMIR на стадиюМикропереходыотдельно

17

Page 18: Учебный курс

––––––

Кэш (cache)• Отображение, «попадание», «промах»• Блоки, строки, теги• Основные характеристики

Емкость (1КB-10МБ)Размер строкиАлгоритм отображенияАлгоритм замещенияАлгоритм согласованияЧисло уровней

18