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

1 курс 1 семестр / лекции / Лекция 9 Многотактный П — копия

.pdf
Скачиваний:
15
Добавлен:
27.12.2022
Размер:
2.33 Mб
Скачать

Лекция 9. Многотактный процессор.

Вопросы:

1.Тракты команд и данных многотактного процессора.

2.Многотактное устройство управления.

3.Дополнительные команды addi и j.

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

Тракт команд и данных однотактного процессора

1. Тракты команд и данных многотактного процессора.

Недостатки однотактного процессора:

1.Период его тактового сигнала должен быть достаточно большим, чтобы успела выполниться самая медленная команда (например, lw).

2.Процессору требуется три сумматора (один - для АЛУ (вычисление адресов и операндов команд типа R) и два - для вычисления нового значения счетчика команд РС: 1 для последовательного выполнения команд и 2-й для команд перехода ); быстрые сумматоры требуют множества логических элементов, что делает их относительно дорогими схемами.

3.Процессор должен иметь отдельные блоки памяти: команд и данных, что зачастую нереально. В большинстве компьютеров используют общую память для команд и данных, доступную для чтения и записи.

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

каждом этапе (такте) процессор может читать или писать данные в память или в регистровый файл, или выполнять какую-нибудь операцию в АЛУ. У

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

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

Однотактный процессор

Многотактный процессор

T- период тактового сигнала

 

 

 

 

 

 

 

 

 

 

 

 

 

 

импульс

 

пауза

Тактовыйимпульс импульс

 

 

 

 

 

 

 

 

 

 

 

PC оркивыб

 

 

T- период тактового сигнала

 

 

Ста

PC = A1 адрес команды

 

 

адре

 

 

ди

 

 

 

 

 

 

 

 

 

са

я

 

Стадия выборки адреса

 

 

 

 

 

tнс

 

 

 

 

 

 

 

 

 

рас

 

 

 

 

 

 

 

 

RF = команда Lw $a0, 4($0)

 

 

 

ши

 

 

RF

фр

 

 

 

 

 

 

 

 

 

овк

 

 

Стадия расшифровка команды

tнс

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RF = формирование адреса чтения в DM

 

 

 

 

 

 

RF

 

 

 

 

 

 

 

 

 

Формирование

 

SrcA и SrcB

tнс

 

 

 

 

 

 

ALU

 

 

 

 

 

ALU = вычисление адреса для DM

 

 

 

 

 

 

 

 

SrcA + SrcB

вычисление А

tнс

 

 

 

 

 

 

DM

DM

 

Стадия чтение по адресу А

tнс

RF = запись данных по адресу А3 в порт WD3, RF

 

 

 

WE3=1

 

 

 

Определение А3

 

 

 

 

 

 

 

PC =

 

 

 

 

 

 

PC’ адрес новой

 

 

 

 

Новы

Стадия выборки

PC = PC’

команды

й А

адреса

tнс

 

 

 

 

 

 

 

 

 

 

 

 

 

T- период тактового сигнала

Тактовый импульс

tнс

Фор

мир

ова

ние

SrcA

и

SrcB Src A + Src B

выч

исл

ени е А

Ста

дия

чте

ние

по

адр

есу

А

Оп

ре

де

ле

ни

е

А3

tнс

tнс

tнс

tнс

Ст

ад

ия

tнс вы

бо

рк

и

ад

ре

са

tнс

1.1 Основные принципы конструирования многотактного

процессора.

1.Конструкция тракта данных выполнена на основе соединения

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

2.Использование других блоков для хранения информации о

промежуточном (не архитектурном) состоянии между этапами.

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

текущего этапа выполнения команды на основе конечного автомата.

4.Добавление новых команд, по необходимости.

1.2. Отличие многотактного от однотактного процессора:

В многотактном процессоре используют общую память, хранящую и команды, и

данные. Поэтому выбор команды происходит на одном такте, а обращаются к памяти данных на другом такте, а обработка команды в RF может происходить на третьем такте и смена значения счетчика РС происходит на 4 такте. Таким образом, каждый элемент многотактного процессора может работать на отдельном такте синхронного импульса. Частота импульсов тактового генератора может быть еще увеличена, т.к. каждый такт теперь определяет не полную команду, а ее отдельный этап.

CLK

 

 

 

рп1

 

 

 

 

 

 

 

 

 

 

 

 

 

команды

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данные

команды

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данные

 

 

рп2

 

 

 

 

 

 

 

Счетчик команд (РС) и файл регистров (Register File) – не изменены.

Память команд и данных (Instr/Data Memory) – в одном устройстве, но разделены на две части (команды и данные), к которым подсоединяются два регистра памяти рп1 и рп2 соответственно для хранения архитектурных состояний процессора и его данных: рп1 – для хранения команд, а рп2 – для хранения данных.

1.3. Выборка команды из памяти.

Прочитанная из памяти команда сохранятся во временный (не архитектурный) регистр инструкций (Instruction Register-IR), что бы можно было использовать ее в следующих тактах.

Сигнал разрешения записи в регистр инструкций IR назовем IRWrite (запись инструкций) и используем его, когда потребуется обновить находящуюся в регистре команду.

команды

IR

1.4. Обработка команды lw.

lw $s3, 1 ($s0) – чтение и загрузка (запись) слова в регистровый файл!

Инструкция lw определяет эффективный адрес в памяти как сумму базового адреса и смещения. Базовый адрес (записан в скобках в инструкции) является регистром, а смещение константа 1.

1). Первым шагом для команды lw будет чтение регистра, содержащего базовый адрес. Номер регистра указывается в поле команды rs (Instr 25:21) и подается на адресный вход первого порта (А1) файла регистров RF. Значение, прочитанное из файла регистров (базовый адрес), появляется на его выходе RD1, после чего сохраняется во временный регистр адреса А.

2). Поиск 2-го адреса. Команде lw также нужно смещение, которое представляет собой непосредственный операнд (immediate), находящийся в одном из полей команды, Instr15:0. Над этим операндом выполняется операция знакового расширения, в

результате чего получается 32-битное число Signlmm

3). Сложение базового адреса ScrA и смещения ScrB

вычисление адреса данных ALUResult для памяти, которое сохраняется в еще одном не архитектурном регистре ALUOut. Данные, которые нужно записать по вычисленному адресу А, находятся в блоке I/D Memory.

А