Проектирование универсального процессора

Выбор форматов данных и команд, видов адресации. Определение внутренних регистров процессора. Разработка блока формирования логического и физического адреса, устройства управления и форматов микрокоманд. Разработка подпрограммы вычисления функции Z(-x).

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 01.02.2013
Размер файла 757,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Затем по данным из того же RgK2 определяется куда будет записываться результат: либо результат необходимо записать в память (сигнал с комбинационной схемы - Рзпозу) либо в один из регистров, определяемых полями RgK2 РЕГ1 и РЕГ2 (Рнр = 0 поле RgK2 РЕГ1, Рнр = 1 поле RgK2 РЕГ2), и формируется регистр результата RgR. В этом же такте, если на третьей будет выполняться запись операнда в память, адрес из RgA2 КЭШД переписывается в RgA3.

Далее, если в регистре RgD21 находится операнд (определяется сигналом с КС Рво), в третьем такте, никаких операций не осуществляется, а в четвёртом он переписывается в ОУ в специально предназначенный программно недоступный регистр.

В последнем такте второй ступени устанавливается триггер готовности данных (ГГД2), данные и команда из буферного регистра второй ступени RgD22 и регистра команд (RgK2) переписывается на третью ступень (RgD3 и RgK3).

На третьей ступени, после получения сигнала готовности данных (ТГД2) выполняется дешифрация КОП с переходом на подпрограмму выполнения операции. Операция выполняется с использованием операндов из РОН, программно недоступных регистров ОУ или внешнего регистра данных RgD3. Если результат необходимо получить в РОН, то операция выполняется с записью в нужный регистр. В случае дальнейшей записи результата в память, данные подаются на шину данных ОУ и защёлкиваются во внешнем регистре результата RgZ.

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

Далее проверяется ТПО и при его нулевом значении КЦ ПР завершается.

4.2 Разработка ГСА работы ОК

При поступлении сигнала сброса выполняется инициализация всех счётчиков ОК с установкой счётчиков чтения CTR и записи CTW в ноль.

Работой ОК управляют два УУ: устройство управления чтением (УУЧ) и устройство управления записью (УУЗ). Каждое из них работает по своему алгоритму в зависимости от управляющих сигналов вырабатываемых комбинационными схемами на основе вспомогательных (CT1, CT2 и CT3) и основных (CTW и CTR) счетчиков.

ГСА работы очереди команд приведена в приложении Л.

После инициализации УУЗ переходит в вершину ожидания сигнала от УУ ОЗУ для начала цикла пополнения ОК.

Работа алгоритма происходит следующим образом.

Комбинационными схемами ОК вырабатываются сигналы “ОК пуста” Рокп и ”ОК полупуста” Рокпп. Сигналы подаются на УУ ОЗУ и при возникновении одного из них и условии, что ОЗУ не занято, УУ оперативной памяти выставляет сигнал готовности передачи пакета данных Ргпп. По этому сигналу начинает работу УУЗ и в первом такте передаёт в УУ ОЗУ адрес из счётчика CTAOK, а затем начинает приём пакета: второй такт - ожидание чтения ОЗУ первого слова (сигнал Рпозу), третий - запись слова в регистр ОК и затем в каждом такте прием последующих семи слов пакета. Сигнал окончания цикла передачи пакета вырабатывается на основании информации из счётчика CT1. В последнем такте готовится информация для следующего цикла пополнения: CTW устанавливается на свободный регистр, счетчик цикла обнуляется, счётчик адреса устанавливается на начало следующего пакета в памяти.

УУЧ после инициализации переходит на вершину ожидания внешнего сигнала чтения очереди команд Рчток, при поступлении которого выполняется цикл выборки следующей команды в выходной регистр RgDO.

Работа алгоритма происходит в следующей последовательности.

В первом такте после подачи сигнала Рчток, на первую ступень из RgDO выдаётся предварительно выбранная в предыдущем цикле команда, устанавливается триггер последнего действия (Тпд = 1, последнее действие - чтение) и сбрасывается значение счетчика CT2 (в первом такте он должен выбирать с помощью дешифратора DC3 все три выходных регистра RgDO1-RgDO3).

Далее идёт проверка на наличие внутреннего сигнала Рокп “ОК пуста” и при его возникновении работа цикла приостанавливается до исчезновения сигнала.

Во втором такте выполняется запись в первый 16-разрядный выходной регистр, слова, на которое указывает счётчик чтения CTR и увеличение значения всех управляющих счетчиков на соответствующие значения: CTR должен указывать на следующее выбираемое слово, CT2 на следующий выходной регистр RgDO2.

Далее если в команде отсутствует операнд (сигнал Роо), цикл заканчивает свою работу и переходит на вершину ожидания.

Иначе, после проверки на отсутствие сигнала “ОК пуста”, проверяется разрядность (Рр) и в зависимости от сигнала либо читается следующее слово во второй выходной регистр RgDO2 и увеличивается CTR на 1 байт либо выполняются ещё два такта выборки слов в выходные регистры RgDO2 и RgDO3 с соответствующими изменениями счётчиков и проверками на присутствие данных в ОК (Рокп).

Сигнал увеличения счётчика CTR также является управляющим для программного счётчика IP1, они увеличиваются на одинаковые значения.

5. Расчетная часть

5.1 Расчёт быстродействия

Быстродействие - это величина обратная среднему времени выполнения операции (формула 1):

V = 1/T, (1)

где T - время выполнения операции.

Время выполнения операции можно определить по формуле 2:

T = M*t, (2)

где M - среднее число тактов,

t - длительность тактового периода.

При конвейерном выполнении операций время выполнения операции определяется как максимальное время выполнения на ступени конвейера:

T = max {Тст1,Тст2,Тст3} (3)

Время такта вычисляется как максимальное из задержек на управляющей (УУ) и операционной частях (ОУ):

Т = Tрмк + max { Tоу , Туу }(4)

Трмк - Тз на регистре РМК.

Туу = max { Тмку + Тику, Тлэ + Тпна + Tms} +(5)

+ Тбупм + Тпзу

Тмку - Тз на мультиплексоре кода условия;

Тику - Тз на инверторе кода условий;

Тms - Тз на мультиплексоре выбора адреса;

Tлэ - Tз на логических элементах;

Тпна - Тз на ПНА;

Тбумп - Тз на БУПМ;

Тпзу - Тз на ПЗУ.

Необходимо выбрать микросхемы таким образом, чтобы суммарная задержка на УУ не превышала 90 нс.

Задержка на операционной части по поставленному заданию 90 нс.

Для получения сигнала синхронизации предполагается использование системного тактового генератора КР1804ГГ1. Поэтому длительность Ти = 10 нс.

Исходя из этого вычислим длительность тактового импульса :

Т = Т + Ти = 95 + 10 = 105 нс

Для выработки требуемой формы сигнала синхронизации при использовании МС КР1804ГГ1 нужно подключить его вход СО3 к логическому нулю , а входы СО1 и СО - к логической единице. Тогда с выхода С1 получим сигнал для синхронизации работы процессора.

Определим среднее число тактов М.

Для расчета используются характеристики приведенные в таблице 11 и таблице 12. При вычислении быстродействия предполагается, что процессор находится в защищённом режиме, не учитывается вероятность возникновения аппаратных прерываний. Вероятность промаха в кеш-памяти при чтении и записи в ОЗУ - 5%.

Таблица 11 - вероятности видов адресации.

Способ адресации

Вероятности

1

Непосредственная

0.1

2

Регистровая

0.2

3

Косвенная регистровая

0.05

4

Прямая

0.2

5

Индексная

0.05

6

Базово-индексная

0.05

7

Базово-индексная со смещением

0.05

8

Базовая

0.05

9

Индексная авто[ин/де]крементная

0.1

10

Базово-индексная авто[ин/де]крементная

0.1

11

Базово-индексная со смещением авто[ин/де]крементная

0.05

Таблица 12 - вероятности форматов команд.

Формат команды

Вероятность (%)

1

Двухадресные

0.4

2

Одноадресные

0.5

3

Безадресные

0.1

Время выполнения ступеней конвейера и отдельных команд, рассчитываются по ГСА с учетом вероятностей.

Время работы первой ступени:

Тст1 = t + t + (PДА+PОА)(PНО*t + PPЕГ*t + PКРЕГ*t + PП*t + PИ*t + PБИ*t + PБИС*t + PБ*t + PАИ*t + PАБИ*t + PАБИС*t) + PБА*t

= 1 + 1 + (0.4+0.5)*(0.1*1.5 + 0.2*1 + 0.05*2 + 0.2*2 + 0.05*2 + 0.05*2 + 0.05*2 + 0.05*2 + 0.1*2 + 0.1*2 + 0.05*2) + 0.1*1 = 3.675 такта

= 3.67 * 105 нс = 386 нс

Время работы второй ступени:

Тст2 = (PДА+PОА) (PКРЕГ*t + PП*t + PИ*t + PБИ*t + PБИС*t + PБ*t + PАИ*t + PАБИ*t + PАБИС*t) + t + (PДА)(PНО/2*t + PНО/2*t + PPЕГ*t + PКРЕГ*t + PП*t + PИ*t + PБИ*t + PБИС*t + PБ*t + PАИ*t + PАБИ*t + PАБИС*t) + (PОА+PБА)*t

= (0.4+0.5)*(0.05*1 + 0.2*1 + 0.05*1 + 0.05*1 + 0.05*1 + 0.05*1 + 0.1*1 + 0.1*1 + 0.05*1) + 1 + (0.4)*(0.05*2 + 0.05*1 + 0.2*1 + 0.05*1 + 0.2*1 + 0.05*1 + 0.05*1 + 0.05*1 + 0.05*1 + 0.1*1 + 0.1*1 + 0.05*1) + 0.6*1 = 2.67 такта = 2.67 * 105 нс = 280 нс

Время работы третьей ступени:

Тст3 = t + PПК*t + Pпу*t + Pск*t + t = 1 + 0.7*1 + 0.1*5 + 0.2*3 + 1 = 3.8 такта

= 3.8 * 105 нс = 399 нс

где Pпк - вероятность появления простых команд (пересылки, арифметических, логических);

Pпу - команд передачи управления;

Pск - длинных команд.

T = max {Тст1,Тст2,Тст3} = max {386;280;399} = 399 нс - время третьей ступени.

V = 1/T = 1/399 нс = 2,5063*106 оп/сек.

5.2 Расчёт надёжности аппаратуры очереди команд

Расчет надежности приведен в таблице 13.

Таблица 13 - расчёт надёжности

Тип элемента

Кол-во элементов

Интенсивность отказа

Нагрузка

L

Логич.элементы

72

0,1

0,5

10,8

Триггер

2

0,1

0,5

0,3

Регистр

67

0,15

0,5

15,075

Счётчик

8

0,15

0,5

1,8

Дешифратор

7

0,15

0,5

1,575

Мультиплексор

2

0,15

0,5

0,45

Резистор

1

0,04

1

0,08

Конд. керам.

105

0,02

0,1

2,31

Конд. электр.

1

0,04

0,1

0,044

Проводники

3013

0,001

1

6,026

Пайка

2009

0,001

1

4,018

Разъём

118

0,1

1

23,6

?

66.08

5.3 Расчет потребляемой мощности

Расчет мощности разработанного процессора приведен в таблице 14

Таблица 14 - расчёт мощности.

Микросхема

I,mA

P,mВт

N

N*I

N*P

КР1533ИР25

20

100

35

700

3500

КР1533ИР33

27

135

70

1890

9450

КР1533КП11

12

60

34

408

2400

КР1533ТМ2

4

20

6

24

120

Am2910

344

1720

2

688

3440

Am27S35C

180

900

20

3600

18000

КР1533ИЕ15

26

130

8

208

1040

КР1533ЛЛ1

5

25

9

45

225

КР1533ЛИ1

4

20

8

32

160

КР1533ЛИ3

6.6

33

10

66

330

КР1533ЛИ6

2

10

15

30

150

КР1531ЛП3

7

35

8

48

280

КР1531ИП3

50

250

20

1000

5000

КР1531ИП4

30

150

5

150

750

Am2901A

280

1400

4

1120

5600

Am2904

109

545

1

109

545

Am2902A

318

1590

1

318

1590

КР1804ВН1

305

1525

3

915

4575

КР1804ВР3

24

120

1

24

120

ИТОГО

260

11375

57275

Потребляемый ток 11,4 А,

Потребляемая мощность 57,3 Вт.

6. Разработка подпрограммы вычисления функции Z(-x)

По техническому заданию необходимо предусмотреть вычисление функции y=Z(-x).

Нахождения функции выполняется следующим образом.

Разложим заданную функцию:

Отсюда видно, что функция сводится к вычислению двух рядов.

Вычисление основано на выполнении команды SQRZX - команды выполняющей переход на ПП, аналогично CALL, вычисления функции, находящейся по фиксированному адресу в памяти. Операнды Z и X передаются в подпрограмму через стек. Результат возвращается в стеке.

При программировании логарифмических функций значения аргументов необходимо проверять на вхождение в допустимый диапазон. Это выполняется также в подпрограмме и в случае возникновения ошибки возвращается её код в регистре DX.

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

FPOP st7

FSUB st7,1

FLD st5,0

FLD st3,0

FLD st6,1

M1 FPUSH st7

Pop cx

Dec cx

FLD st3, st2

FLD st1, 0

FLD st2, 0

M2 cmp cx, 0

Jz M3

FMUL st1, st7

Dec cx

Jmp M2

M3 FDIV st1, st5

FMUL st1, st6

FADD st2, st1

FMUL st6, -1

FADD st5,1

FPUSH st2

FPUSH st3

Pop ax

Pop dx

Cmp ax,dx

Jnz M1

FPOP st7

FMUL st3, -st7

FLD st5, 0

FLD st0,0

M6 FPUSH st7

Pop cx

Cmp cx, 0

Jz M4

FMUL st2, st3

Push cx

FPOP st6

FMUL st1,st6

Dec cx

Jmp M5

M4 FADD st5,1

FDIV st2,st1

FADD st4,st2

FPUSH st0

FPUSH st2

Pop ax

Pop dx

Cmp ax,dx

Jnz M6

FPUSH st0

Из стека операнд Z

Уменьшение на 1

Инициализация регистров

Вычисление первого ряда

Сохранение в стеке

St7 используется и сопроцессором и процессором

Умножение регистров st7 и st1

Деление st1 на st5

Сложение регистров

Сохранение в стеке

Проверка достижения точности

Вычисление второго ряда

Вычисл. произведение

В стек для восстановления в сх

Окончание цикла

Иначе продолжаем умножение

Инверт знак

Проверка достижения точности

Результат на вершину стека

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

Заключение

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

- быстродействие (млн.оп./с)2,5

- ширина выборки из памяти (байт)32

- объем ОЗУ (Мбайт)128

- количество прерываний 20

- вложенных прерываний 9

- немаскируемых прерываний1

- форматы данных с ФЗ 8/32 разряда;

- виды адресации11

Были разработаны структурные схемы процессора, КЭШ-памяти, очереди команд, БФЛА, БФФА, АП, ОУ, ГСА алгоритмов работы процессора, очереди команд. Проведены расчеты потребляемой мощности, надежности и номинального быстродействия.

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

Список литературы

1. Страбыкин Д.А., Бакшаев А.М. "Практикум по микропроцессорным устройствам с использованием диалоговых систем управления". - Горький, изд. ГГУ, 1989, 105 с.

2. Пустоваров В.И. “Язык ассемблера в программировании информационных и управляющих систем”. - M.: «Энтроп», К, “Век”, 1997. - 304 с.

3. Электронные вычислительные машины и системы: Учеб. Пособие для вузов. - 3-е изд., перераб. и доп. - М.: Энергоатомиздат, 1991. - 592.

4. Шахнова В.А. “Микропроцессоры и микропроцессорные комплекты интегральных микросхем: справочник”. М.: Радио и связь, 1989. - в 2 т.

Приложение А

(обязательное)

Схема структурная операционного устройства

Приложение Б

(обязательное)

Схема структурная КЭШ-памяти

Приложение Г

(обязательное)

Схема структурная блока формирования логического адреса

Приложение Д

(обязательное)

Схема структурная блока формирования физического адреса

Приложение Ж

обязательное)

Схема структурная аппаратуры прерываний

Перечень сокращений

АЛУ - арифметико-логическое устройство

АП - аппаратура прерываний

БА - базовый адрес

БФЛА - блок формирования логического адреса

БФФА - блок формирования физического адреса

ВА - вид адресации

ГСА - граф-схема алгоритма

ТД - таблица дескрипторов

ДК - дополнительный код

ИА - исполнительный адрес

КОП - код операции

КЦ - командный цикл

КЭШ - кэш-память

ЛШД - локальная шина данных

МА - магистраль адреса

МД - магистраль данных

НО - непосредственный операнд

ОЗУ - оперативное запоминающее устройство

ОК - очередь команд

ОУ - операционное устройство

ПЗ - плавающая запятая

ПК - прямой код

ППОП - подпрограмма обработки прерывания

ПР - процессор

РК - регистр команд

РОН - регистр(ы) общего назначения

СоПР - сопроцессор

ТД - таблица дескрипторов

ТЗ - техническое задание

УУ - устройство управления

УУП - устройство управления памятью

ФА - физический адрес

ФЗ -фиксированная запятая

ФИА - формирование исполнительного адреса

УУ - устройство управления

Размещено на www.allbest.

...

Подобные документы

  • Разработка структурной схемы вычислительного устройства, выбор системы команд и определение форматов. Разработка алгоритма командного цикла, выполнения арифметических и логических операций. Проектирование операционного автомата, устройств управления.

    курсовая работа [2,8 M], добавлен 15.05.2014

  • Разработка структурной схемы процессора; синтез микропрограммного и управляющего автомата с жесткой логикой. Функциональная организация процессора: программные модели, форматы данных и команд. Организация оперативной памяти. Проектирование блока операций.

    учебное пособие [1,1 M], добавлен 09.04.2013

  • Последовательность загрузки значений регистров базовых адресов и регистров прав доступа для системного режима. Методы и средства защиты памяти, преобразования логического адреса в физический, реализованных в УУП процессора. Режим работы процессора.

    лабораторная работа [1,5 M], добавлен 23.07.2012

  • Определение основных функций процессора. Микросхема процессора и выводы шин адреса, данных и управления. Функции памяти и устройств ввода/вывода (мыши, клавиатуры, джойстика). Описание функций внутренних регистров микропроцессора. Оперативная память.

    презентация [603,1 K], добавлен 17.06.2014

  • Изучение базовых команд ПК на базе МП i286 и их форматов. Изучение прямых способов адресации данных. Наработка практических навыков работы с командами. Разработка регистровой модели выполнения операций передачи данных. Программа реализации команд.

    контрольная работа [42,2 K], добавлен 12.03.2011

  • Разработка устройства управления процессора для выполнения команд сложения, вычитания и поразрядного логического "или", с использованием способов адресации операндов: регистр-регистр, регистр - непосредственно операнд, регистр - прямая адресация памяти.

    курсовая работа [72,8 K], добавлен 21.11.2011

  • Описание архитектуры внешних выводов кристалла процессора. Рассмотрение форматов данных для целых чисел со знаком и без знака. Выбор модели памяти и структуры регистровой памяти. Использование кэш прямого отображения. Арифметические и логические команды.

    курсовая работа [890,5 K], добавлен 05.06.2015

  • Функциональная и структурная организация ЭВМ. Разработка функциональных микропрограмм заданных команд. Их объединение и привязка к структуре операционного автомата процессора. Разработка управляющего автомата процессора с программируемой логикой.

    дипломная работа [4,0 M], добавлен 25.03.2012

  • Разработка устройства, реализующего набор команд из числа операций с плавающей точкой семейства процессора i486. Структура сопроцессора FPU. Принцип выполнения операций, разработка блок-схемы, построение структурной схемы основных блоков процессора.

    курсовая работа [734,9 K], добавлен 27.10.2010

  • Рассмотрение принципа работы процессора и его практической реализации с использованием языка описания аппаратуры Verilog. Проектирование системы команд процессора. Выбор размера массива постоянной памяти. Подключение счетчика инструкций и файла регистра.

    курсовая работа [1,2 M], добавлен 26.05.2022

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

    дипломная работа [2,1 M], добавлен 26.06.2012

  • Ознакомление с языком ассемблера процессора Neuro Matrix NM 6403, его возможности, особенности работы, содержание операций в регистрах, архитектура. Разработка программы для заполнения блока памяти, компилирование и отладка файла, фиксирование его адреса.

    лабораторная работа [48,2 K], добавлен 18.10.2012

  • Принцип работы процессора (одномагистральная структура). Временные диаграммы, описывающие выполнение микроопераций для каждой команды. Структурная схема управляющего автомата на основе памяти с одним полем адреса. Описание процессора на языке Active VHDL.

    курсовая работа [621,0 K], добавлен 24.09.2010

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

    курсовая работа [871,9 K], добавлен 16.09.2010

  • Выполнение операции умножения над числами с фиксированной точкой со сдвигом суммы частичных произведений вправо. Разработка структуры центрального процессора при выполнении двухадресной команды со следующими способами адресации: прямая и регистровая.

    курсовая работа [459,5 K], добавлен 25.03.2012

  • Проектирование микро-ЭВМ. Программа вычисления матрицы. Кодирование программ и регистров, формат команды. Микропрограммное устройство управления. Граф-схемы выполнения операций. Прошивка ПЗУ микрокоманд, точек входа. Разработка принципиальной схемы.

    курсовая работа [1,1 M], добавлен 01.03.2013

  • Синтез структуры простого магистрального процессора с одним АЛУ, выполняющего 8 заданных команд. Разработка формата и кодировки команд, структурной схемы процессора, функциональные схемы всех его блоков в целом с указанием шин и управляющих сигналов.

    реферат [123,9 K], добавлен 18.05.2009

  • Принцип работы процессора, способы его охлаждения, кодовые названия. Шины процессора, разрядность и кэш–память. Технологии расширения и поток команд процессора. Процессорные вентиляторы и их характеристика. Алгоритм и способы разгона процессора.

    реферат [38,0 K], добавлен 21.02.2009

  • Основная цель этого блока, ввод данных для работы программы. Дополнительная цель, вывод информации. Два условия проверки вводимых данных. Первое условие проверки на количество точек. Второе, на правильность ввода координат точек. Созданные подпрограммы.

    лабораторная работа [154,3 K], добавлен 13.02.2009

  • Разработка программы эмулятора, которая должна имитировать рабочий цикл процессора для каждой команды. Анализ структуры микропроцессора. Моделирующие переменные. Мнемоника команд моделируемого процессора. Разработка структуры программы: классов, методов.

    курсовая работа [156,8 K], добавлен 07.11.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.