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

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

.pdf
Скачиваний:
8
Добавлен:
07.06.2023
Размер:
994.14 Кб
Скачать

Лекция 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 или 5-и битной разрядности служат для передачи кодов команд и данных.

Память инструкций (команд), 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 битный адресный порт А для чтения или записи.

Если сигнал разрешения записи (write equal) WЕ=1 равен единице, то данные со входа WD (write date)

записываются в 32 битную ячейку памяти данных DM с 32 битным значением адреса A по положительному фронту тактового сигнала.

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

запись в порт WD – не происходит.

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

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

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

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

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

требуется.

Запись же производится в порт WD3 для RF и в порт WD для DM исключительно по положительному фронту тактового сигнала CLK и при наличии сигналов разрешения соответственно 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-я стадия

5-я стадия

 

 

 

 

 

 

 

 

 

 

1-я ком

 

 

1-я ком

 

 

 

 

1-я ком

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2-я стадия

 

 

3-я стадия

4-я стадия

 

 

 

 

 

 

2-я ком

 

 

 

 

 

 

2-я ком

 

 

 

 

 

 

2-я ком

 

 

 

 

 

 

 

 

 

 

 

 

 

1-я стадия

 

 

2-я стадия

3-я стадия

 

3-я ком

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3-я ком

 

 

3-я ком

 

 

 

 

 

 

1-я стадия

 

2-я стадия

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4-я ком

 

 

 

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.