andrey

Путь к Файлу: /Организация ЭВМ / Лекции ВМ-91 / Глава4.2 (Гапонов, Мельниченко).doc

Ознакомиться или скачать весь учебный материал данного пользователя
Скачиваний:   0
Пользователь:   andrey
Добавлен:   13.01.2015
Размер:   561.0 КБ
СКАЧАТЬ

Министерство Образования Российской  Федерации

Хабаровский Государственный Технический Университет

 

 

 

 

 

Лекция

«Подготовленные последовательные машины»

 

 

 

Выполнили: ст. гр. ВМ-91

                        Гапонов Е.В.

                        Мельниченко Д.

Проверил: Бурдинский И.Н.

 

 

 

 

 

Хабаровск

2004

4.2    Подготовленные последовательные машины

В этом разделе мы сконструируем машину DLXσ со следующими свойствами:

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

Таблица 4.2 Влияние команд перехода и связи Ii € {jal, jalr} на PC в режиме задержки ветвлений и задержки PC

after

 

delayed branch

 

delayed PC

 

PC

 

GPR[31]

 

DPC               | PC'

 

GPR[31]

 

Ii-1

 

PCi-1

 

 

 

PCi-1

 

PCi-=PCi-1+4

 

 

 

Ii

 

PCi-1+4

 

PCi-1+8

 

PC'i-1 = PCi

 

PCi+1 = btargeti

 

PC'i-1+4

 

Ii+1

 

btargeti

 

 

 

PC'i = btargeti

 

PCi+2

 

 

 

2. Пути данных и управление машины размещены в 5-ти этапном конвейере, но

3. Только один этап одновременно является синхронизируемым в round robin fashion. Таким образом, машина DLXσ будет последовательной; это легко подтверждается использованием методов предыдущей главы.

4. Машина может быть превращена в конвейерную машину DLXπ только простейшим преобразованием окружения PC и механизма останова. Верность этого показывается моделирующей теоремой заявляющей – согласно некоторым гипотезам – что машина DLXπ моделирует машину DLXσ.

Мы назовем машину DLXσ подготовленной последовательной машиной. Полная структура путей данных изображена на рисунке 4.3. Есть 5 этапов регистров и ячеек RAM. Обратите внимание, что мы размещаем все регистры и ячейки RAM внизу этапа, где они вычисляются.

Для каждого этапа k – с номерами или именами из таблицы 4. 1 – мы обозначим через out(k) набор регистров и ячеек RAM вычисляемых на этапе k. Точно так же, мы обозначим через in(k) набор регистров и ячеек RAM которые являются входами этапа k. Эти наборы для всех k перечислены в таблице 4.3. R .k означает, что R является выходным регистром этапа k - 1, то есть, R. k € out(k - 1).

Стоимость путей данных

cdp     =     CPCenv + CIMenv + CIRenv + CEXenv + CDMenv

+     CSH4Lenv + CGPRenv + CCAddr + 7*Cff(32) + 3 • Cff (5 +12).

Большинство окружений может быть взято из конструкции последовательной DLX. Только два окружения подвергаются изменениям: окружение PC и окружение выполнения EXenv. Окружение PC должно быть адаптировано для механизма задержки PC. Для команд хранения вычисление адреса в состоянии addr и сдвиг операнда в состоянии sh4s теперь должны происходить в одном цикле. Это не будет значительно замедлять


Глава4.2 (Гапонов, Мельниченко)

 Рисунок 4.3 Высокоуровневый вид путей данных подготовленной последовательной DLX

Таблица 4.3 Входы и выходы путей данных на каждом этапе k подготовленной DLX

stage

 

in(k)

 

out(k)

 

0

 

IF

 

DPC, IM

 

IR

 

1

 

ID

 

GPR, PC', IR

 

A, B, PC', link, DPC, со, Cad.2

 

2

 

EX

 

A, B, link, со, Cad.2, IR

 

MAR, MDRw, Cad.3

 

3

 

M

 

MAR, MDRw, DM, Cad.3, IR

 

DM, C, MDRr, Cad.4

 

4

 

WB

 

C, MDRr, Cad.4, IR

 

GPR

 

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

Глава4.2 (Гапонов, Мельниченко)Есть, однако, простое но глобальное изменение, в котором мы синхронизируем выходные регистры этапов. Вместо единственного сигнала разрешения обновления UE (раздел 3.4.3), мы вводим для каждого этапа k сигнал четкого разрешения обновления ue.k. Выходной регистр R этапа k модифицируется тогда и только тогда, когда и сигнал запроса синхронизации

 

 

 

Рисунок 4.4 Управление обновлением выходных регистров  этапа k

Rce и сигнал разрешения обновления на этапе k активны (рисунок 4.4). Таким образом, сигнал разрешения синхронизации Rce' такого регистра R получается как

 

Rce' = Rcе /\ ue.k.

 

Как и прежде, сигналы чтения и записи основной памяти M не маскируются сигналом разрешения обновления ue.3 но заполняют бит full.3 этапа памяти.

4.2.1    Пути данных подготовленной DLX

Окружение IRenv

регистра команд все еще управляется сигналами J jump (J-type jump), shiftI и синхронизирующим сигналом IRce. Функциональные возможности фактически те же самые, что и прежде. При IRce = 1, выход IMout памяти команд синхронизируется с регистром команд      

 

IR = IMout,

 

и 32-битной константа со генерируется как в последовательной конструкции, а именно

 

Глава4.2 (Гапонов, Мельниченко)

Стоимость и задержка окружения IRenv остаются теми же.

Для использования в дальнейших конвейерных этапах, два кода операций IR[31 : 26] и IR[5 : 0] буферизируются в трех регистрах

IR .k, каждый из которых шириной в 12 бит.

 

Окружение SH4Lenv

управляется сигналом shift4l, который запрашивает сдвиг в случае загрузки команды. Единственное изменение в этом окружении то, что адрес памяти теперь предоставляется регистром С а не регистром MAR. Это влияет на функциональность окружения SH4Lenv, но не на стоимость и задержку.

Пусть sh4l(a, dist) означает функцию, вычисляемую устройством сдвига SH4L, как это было определено в разделе 3.3.7. Тогда  измененное окружение SH4Lenv обеспечивает результат

Глава4.2 (Гапонов, Мельниченко)

Окружения CAddr и GPRenv

Как в последовательной конструкции, схема CAddr генерирует адрес Cad регистра назначения основываясь на сигналах Jlink (jump и link) и Itype. Однако, адрес Cad теперь заранее вычисляется на этапе ID и затем проходит вниз этап за этапом к окружению файла регистров GPRenv. Для дальнейшего использования, мы вводим запись

Cad = CAddr(IR).   

Окружение GPRenv (рисунок 4.5) имеет те же самые функциональные возможности. Оно обеспечивает два регистровых операнда          

Глава4.2 (Гапонов, Мельниченко)

и обновление файла регистров под управлением сигнала записи GPRw:

GPR[Cad.4]=C'    если   GPRw=1.

 

Так как схема CAddr теперь имеет свое собственное окружение, стоимость окружения файла регистров GPRenv равна

CGPRenv   =  Cram3(32,32)+2* (Czero(5) + Cinv + Cand(32)).

Из-за вычисляемого заранее адреса назначения Cad.4 обновление файла регистров становится быстрее. Окружение GPRenv теперь задерживает только доступ по записи

 

DGPR,write  = Dram3(32,32).

 

Пусть Acon(csWB) означает накопленную задержку управляющих сигналов которые управляют этапом WB; время цикла этапа обратной записи равно

Глава4.2 (Гапонов, Мельниченко)

Задержка DGPR,read доступа по чтению, однако, остается неизменной; она складывается со временем цикла этапа IF и блока управления.

 Глава4.2 (Гапонов, Мельниченко)

 

Figure 4.5 Окружение GPRenv конструкции DLXσ

Окружения памяти

Конструкция DLX которая подготовлена для конвейерного выполнения включает два блока памяти, один для команд и один для  фактического доступа к данным.

Окружение IMenv памяти команд управляется одним сигналом fetch, который активирует сигнал чтения Imr. Адрес доступа к памяти команд определен в регистре DPC. Таким образом, при fetch = 1, окружение IMenv выполняет операцию чтения, обеспечивающую слово памяти

IMout = IMword[(DPC[31 : 2]00)].

Так как память IM не выполняет доступа по записи, ее сигнал записи Imw всегда неактивен.1 Управление IMC памятью команд простое и имеет нулевую стоимость и задержку. Пусть dImem означает время доступа к банку памяти IM. Так как адрес непосредственно берется из регистра, окружение IMenv задерживает выборку команды на

DIMenv(IR)   =  DIMC + dImem   =  dImem.

Память команд также обеспечивает сигнал ibusy показывающий, что доступ не может быть закончен в текущем тактовом цикле. Мы ожидаем, что этот сигнал будет верным через dIstat единиц времени после начала обращения к памяти IM.

Окружение DMenv памяти данных DM выполняет обращение к памяти команд загрузки и записи. По большему счету, DMenv идентичен окружению памяти последовательной конструкции, но теперь адрес всегда обеспечивается регистром MAR.

Окружение DMenv управляется двумя сигналами Dmr и Dmw, которые запрашивают доступ к памяти по чтению или записи соответственно. Память

1Конечно это абстракция.  В главе 6 мы обрабатываем кэш команд, который, конечно, может быть записан.


DM адресуема побайтно, управление DMC генерирует четыре сигнала записи в банк Dmbw[3 : 0] основываясь на адресе и ширине доступа по записи, как и в последовательной конструкции. Стоимость и задержка управления памятью остаются теми же самыми .

Память данных DM имеет время доступа dDmem и обеспечивает флаг dbusy с задержкой dDstat. Сигнал dbusy показывает, что текущее обращение не может быть закончено в текущем тактовом цикле. Пусть acon(csm) означает накопленную задержку сигналов Dmr и Dmw, тогда

Глава4.2 (Гапонов, Мельниченко)

Окружение PC

Окружение PCenv на рисунке 4.6 управляется семью сигналами управления, а именно:

• reset, который инициализирует регистры PC' и DPC,

• сигналы синхронизации PCce и linkce,

• jump, который обозначает одну из четырех команд перехода j, jal, jr и jalr,

•          jumpR , который обозначает команды абсолютного перехода (jr, jalr),

•          branch , который обозначает команды ветвления beqz, bnez,

•          bzero , который активен при beqz и неактивен при bnez.

Основываясь на этих сигналах, glue logic PCglue генерирует тактовый сигнал для регистров PC' и DPC. Они синхронизируются одновременно, когда сигнал PCce активен или при сбросе, то есть

PCce \/ reset.

В добавок, PCglue проверяет операнд A' на ноль      

AEQZ = 1     <->     [A[31:0]] = 0

и генерирует сигнал bjtaken согласно спецификациям раздела 4.1. Таким образом, bjtaken устанавливается при любых переходах или принятии ветвления:

bjtaken = jump \/ branch /\ (bzero XNOR AEQZ).


Глава4.2 (Гапонов, Мельниченко)

Рисунок 4.6 Окружение PCenv осуществляющее задержанный PC

Пусть Acon(csID) означает накопленную задержку управляющих сигналов, которые управляют этапом ID. Тогда стоимость glue logic и задержка сигналов AEQZ и bjtaken

CPCglue  =          2*Cor + Cand  + Cxnor + Czero(32)

DPCglue =          Dor + Dand + Dxnor

A(AEQZ)       =          AGPRenv(A')+Dzero(32)

A(bjtaken)      =          max {ACON(csID),A(AEQZ)} + DPCglue.

Окружение PCenv простейшим способом осуществляет механизм “задержанного PC” из раздела 4.1. При активном сигнале синхронизации, эти два PC установлены в

Глава4.2 (Гапонов, Мельниченко)

где значение pc' = nextPC(PC', А', со) команды I, которая содержится в регистре IR, вычисляется как

Глава4.2 (Гапонов, Мельниченко)

PCenv также обеспечивает регистр link , который обновляется под управлением сигнала linkce. При linkce = 1, он установлен в

link = PC' + 4,

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


Глава4.2 (Гапонов, Мельниченко)

Рисунок 4.7 Среда выполнения подготовленной DLX

Для обновления двух программных счетчиков, окружение PCenv требует некоторых операндов из других частей путей данных. Регистр операнда A' обеспечивается окружением файла регистров GPRenv, тогда как непосредственный операнд со обеспечивается окружением IRenv. Стоимость и время цикла окружения PCenv могут быть рассчитаны как

Глава4.2 (Гапонов, Мельниченко)

Окружение выполнения

Окружение выполнения EXenv на рисунке 4.7 включает среду ALU и устройство сдвига SHenv и соединяет их с шинами операндов и результата. Так как при использовании команд хранения вычисление адреса и сдвиг операнда производятся параллельно, необходимы три шины операнда и две результата.

Регистр A всегда предоставляет операнд a. Сигналы управления bmuxsel и a'muxsel выбирают данные, которые будут помещены на шины b и a':

Глава4.2 (Гапонов, Мельниченко)

Глава4.2 (Гапонов, Мельниченко)

Обратите внимание, что одновременно должно быть активно не более одного сигнала.

Данные на шину результата D выбираются среди регистра link и результатом ALU и устройства сдвига. Этот выбор осуществляется тремя сигналами разрешения вывода


Окружение ALU Окружение ALUenv управляется теми же самыми управляющими сигналами, как в последовательной конструкции, и определение его сигналов alu и ovf остается неизменным. Однако, оно теперь обеспечивает два дополнительных бита s[1 : 0], которые подаются непосредственно на устройство сдвига. Они являются  двумя наименее значимыми битами результата арифметического модуля AU(32). В зависимости от сигнала sub, который обеспечивается ALU glue logic, AU вычисляет сумму или разность операндов a и b по модулю 232:

Глава4.2 (Гапонов, Мельниченко)

Стоимость окружения ALU и его окончательная задержка DALUenv остаются такими же, но биты s[1 : 0] имеют меньшую задержку. Для всех сумматоров представленных в главе 2, задержка этих битов может быть оценена, основываясь на задержке 2-битного AU

DALUenv(s[1:0]) = daluglue+ dau(2) как это показано в упражнении 4.1.

Окружение устройства сдвига Окружение устройства сдвига SHenv все еще управляется сигналом shift4s, который запрашивает неявный сдвиг в случае операций хранения, но его операнды отличаются. При явном сдвиге операнды обеспечиваются шинами a' и b, тогда как при неявном сдвиге они обеспечиваются шиной a' и результатом s[1 : 0] окружения ALU. Таким образом, выход sh  окружения SHenv теперь определен как

Глава4.2 (Гапонов, Мельниченко)

Однако это изменение не влияет на стоимость и задержку окружения. Примем за ACON(csEX) задержку управляющих сигналов этапа EX, стоимость и время цикла всего окружения выполнения EXenv

Глава4.2 (Гапонов, Мельниченко)

 

Наверх страницы

Внимание! Не забудьте ознакомиться с остальными документами данного пользователя!

Соседние файлы в текущем каталоге:

На сайте уже 21970 файлов общим размером 9.9 ГБ.

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

Не нашли нужный документ? Воспользуйтесь поиском по содержимому всех файлов сайта:



Каждый день, проснувшись по утру, заходи на obmendoc.ru

Товарищ, не ленись - делись файлами и новому учись!

Яндекс.Метрика