Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 курс 1 семестр / лекции / Лекция_7_Микроархитектура_процессор —_копия

.pdf
Скачиваний:
42
Добавлен:
27.12.2022
Размер:
993.51 Кб
Скачать

Лекция 7. Микроархитектура процессора.

Вопросы:

1.Общие вопросы построения микроархитектуры процессора.

2.Однотактная микроархитектура MIPS.

Литература: Цифровая схемотехника и архитектура компьютера, второе издание, Дэвид М. Харрис и Сара Л. Хар, Издательство Morgan, с. 938962.

1. Общие вопросы построения микроархитектуры процессора.

Микроархитектура описывает, как именно в процессоре расположены и соединены друг с другом регистры, АЛУ, конечные автоматы, блоки памяти и другие блоки, необходимые для реализации архитектуры.

Архитектурное состояние процессора MIPS определяется содержимым

счетчика команд (program counter, PC) и 32 регистрами, поэтому любой процессор, реализующий архитектуру MIPS, вне зависимости от его микроархитектуры обязан иметь счетчик команд и ровно 32 регистра.

У некоторых микроархитектур есть также и не архитектурное (т.е. невидимое программисту) состояние, которое используется для упрощения логики или для улучшения производительности.

Примем следующие допущения при анализе микроархитектуры процессора:

1.Для простоты построения рассмотрим только отдельные виды команд: add, sub, and, or, slt, lw, sw, beq, addi, j.

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

3.Используем 32-битную архитектуру.

Разработка процессора, как сложной системы, начинается с

элементов, которые хранят его состояние:

1.Память для хранения команд ( инструкций) и данных .

2.Блоки для хранения архитектурного состояния, т.е.

счетчик команд и видимые программисту регистры.

3.Комбинационные схемы, вычисляющие новое состояние на основе текущего состояния.

Команды (инструкции программ) читается из той части памяти, где находится программа.

Команды загрузки и сохранения данных читают или пишут

данные в другую часть памяти.

Поэтому память удобно разделить на две части, чтобы одна содержала команды (инструкции), а другая - данные.

Однако технически эти две части могут находиться в одном блоке, но в разных местах этого блока памяти.

1.1. Блоки микропроцессора.

Память

данных

Программный

счетчик

Файл

регистров

Память

команд

 

Обозначения и характеристика блоков:

 

Программный счетчик

 

program counter, PC).

Т

актовый сигнал CLK

определяет такт обработки команды.

 

 

(

 

 

Шины 32

битной разрядности.

32.

Память

 

 

 

инструкций, INSTRUCTION MEMORY, IM имеет один 32 битный порт чтения

данных RD. На адресный вход A памяти команд IM подается 32-битный адрес команды, после чего на выходе RD (чтение данных) появляется 32-битное число, т.е. команда,

прочитанное из памяти по этому адресу.

Файл регистров, REGISTER FILE, RF содержит 32 регистра по 32 бита. Каждому регистру RF

доступно два 32 битных порта чтения RD1, RD2 и один 32 битный порт записи WD3 со входом разрешения записи WE3, 5-битные входы адресов A1, A2, А3, каждый из которых определяет 32 адреса (25 = 32) для всех 32 регистров в RF.

Память данных, DATA MEMORY, DM содержит 32 битный адрес А, 32 битный порт чтения RD и 32 битный порт записи WD со входом разрешения записи WE.

Функциональные особенности блоков МП

PC (программный счетчик), RF (файл регистров) и DM (память данных) синхронизируемые элементы по по положительному фронту тактового сигнала тактового сигнала CLK .

Память данных DM имеет один 32 битный адресный порт А для чтения или записи.

Если сигнал разрешения записи WЕ=1 равен единице, то данные со входа WD записываются в 32 битную ячейку памяти данных DM с 32 битным значением адреса A по положительному фронту тактового сигнала.

Если же сигнал разрешения записи WЕ=0 равен нулю, то данные из 32 битной ячейки памяти данных DM с 32 битным адресом A подаются на выход памяти данных DM в порт чтения RD .

Счётчик команд РС – 32 битный. Переходит из одного значения РС в другое РС’ по положительному фронту тактового сигнала CLK.

Его выход содержит адрес текущей команды PC, а его вход содержит адрес следующей команды PC’.

Только счетчик команд (PC) имеет сигнал сброса, который обнуляет его в момент включения процессора. При включении процессора счетчик команд инициализируется значением 0x00000000, поэтому размещение программы в памяти IM начинается именно с этого адреса.

Особенности блоков: Файл регистров (RF) и память данных (DM).

Чтение из памяти команд, Файла регистров (RF) и Памяти данных (DM) происходит асинхронно, то есть независимо от тактового сигнала: сразу же после изменения значения на любом адресном входе А для RF и для DM на соответствующем выходе RD1 или RD2 для RF и RD

для DM появляются новые данные. Это происходит не мгновенно, а с существующей задержкой распространения сигнала, однако тактовый сигнал для чтения не требуется.

Запись же производится в порт WD3 для RF и в порт WD для DM исключительно по положительному фронту тактового сигнала при наличии сигналов разрешения соответственно

WE3 для RF и WE для DM.

Таким образом, состояние процессора изменяется только по фронту тактового сигнала.

Выводы.

1. В связи с тем, что элементы памяти изменяют свои значения только по

положительному фронту тактового сигнала, они являются синхронными последовательными схемами.

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

3. Процессор можно рассматривать как гигантский конечный автомат или как несколько

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

1.2. Типовые микроархитектуры процессора.

Существуют три типа процессорной микроархитектуры MIPS:

однотактная, многотактная и конвейерная.

1. Однотактная микроархитектура выполняет всю команду за один такт.

Из-за того, что все действия выполняются за один такт, эта микроархитектура не требует никакого не архитектурного состояния. Однако длительность такта ограничена самой медленной командой.

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

3. Конвейерная микроархитектура – сводит выполнение команд к однотактной микроархитектуре. Она позволяет выполнять несколько команд одновременно, значительно улучшая пропускную способность процессора.

Принцип конвейеризации заключается в том, команды процессора имеют

типовые стадии обработки команд (инструкций): выборка, расшифровка, запоминание, исполнение и запись результата исполнения команды. Конвейерная микроархитектура требует дополнительной логики для разрешения конфликтов между одновременно выполняемыми в конвейере командами. Она также требует несколько не архитектурных регистров, расположенных между стадиями конвейера для запоминания их результатов.

Команды

 

 

 

 

 

 

 

 

 

 

выборка

 

 

расшифровка

для обработки

 

 

 

 

1-я стадия

 

 

2-я стадия

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1-я ком

 

 

 

 

1-я ком

 

 

 

 

 

 

 

 

 

 

 

 

1-я ком

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1-я стадия

 

 

2-я ком

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2-я ком

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3-я ком

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4-я ком

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

запоминание

 

 

исполнение

 

 

 

 

 

 

3-я стадия

 

4-я стадия

 

 

 

 

 

 

 

 

 

 

 

 

 

1-я ком

 

 

 

 

1-я ком

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2-я стадия

 

 

3-я стадия

 

 

2-я ком

 

 

 

 

 

 

 

 

 

 

 

 

2-я ком

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1-я стадия

 

 

2-я стадия

 

 

 

 

 

3-я ком

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3-я ком

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1-я стадия

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4-я ком

 

 

 

 

 

 

 

 

 

 

 

 

 

 

запись результата

5-я стадия

1-я ком

4-я стадия

2-я ком

3-я стадия

3-я ком

2-я стадия

4-я ком

2.Однотактная архитектура MIPS.

2.1.Выборка команды.

Получение 32битной команды Instr.

Счетчик команд (Program Counter, PC) определяет адрес команды, которую надо выполнить. Этот адрес команды поступает в регистр адреса А памяти инструкций IM

Дальнейшие действия процессора будут зависеть от того, какая именно команда Instr будет выбрана c адресом А в памяти инструкций IM.

2.2. Чтение команды прямой адресации

20:16

16:0 15:11

IM

32b

RF

Чтение операнда памяти Instruction Memory (чтение команды)

Определение адреса команды – это 5 битов в операнде IM от 25 до 21 бита, которые подключены к адресному входу первого порта А1 регистрового RF . Значение операнда (команды), читается из регистрового файла RF и появятся на его выходе RD1, состоящего из 32 бит, как только значение адреса появится в А1 (для RD2 адрес в А2; для WD3 адрес в А3).

Например, 3-х адресный тип команды, читаемый из портов RD регистрового файла RF с результатом записи в порт WD3

 

 

 

 

Пример расположение адресов:

 

 

 

 

адрес А1 в поле rs;

 

 

 

 

адрес А2 в поле rt;

31

26 25 21 20 16 15 11 1 0

6 5

0

адрес А3 в поле rd.