Автор: Пользователь скрыл имя, 22 Мая 2012 в 20:06, курсовая работа
Разрабатываемый процессор является специальным. Он предназначен для выполнения операций, приведенных в частных технических требованиях. Процессор является частью ЭВМ, поэтому далее будем говорить об общих технических требованиях к ЭВМ (частные требования приведены непосредственно для процессора).
Содержание:
1. Техническое задание. ---------------------------------------------------------------------- 3
1.1. Общие технические требования. -------------------------------------------------- 3
1.1.1. Условия эксплуатации и транспортирования. ---------------------------- 3
1.1.2. Требования к помехозащищенности. -------------------------------------- 4
1.1.3. Требования к условиям хранения. ------------------------------------------ 4
1.1.4. Требования по безопасности. ------------------------------------------------ 4
1.1.5. Требования к конструкторской и технологической документации. - 4
1.1.6. Требования к укладке, упаковке и маркировке. ------------------------- 4
1.2. Частные технические требования ------------------------------------------------- 5
2. Формат представления чисел с фиксированной запятой. -------------------------- 6
3. Формат команды. --------------------------------------------------------------------------- 7
4. Адресация операндов. --------------------------------------------------------------------- 9
4.1. Прямая адресация. ------------------------------------------------------------------- 9
4.2. Базовая адресация. ------------------------------------------------------------------ 10
4.3. Индексная адресация. -------------------------------------------------------------- 11
4.4. Регистровая адресация. ------------------------------------------------------------ 12
5. Команды процессора. -------------------------------------------------------------------- 13
5.1. Сложение. ---------------------------------------------------------------------------- 13
5.2. Сравнение. ---------------------------------------------------------------------------- 14
5.3. Условный переход по признаку равенства нулю. ---------------------------- 14
6. Описание и обоснование выбора структурной схемы системы. ---------------- 15
6.1 Регистровая архитектура. ---------------------------------------------------------------- 16
6.2 Устройство управления. ------------------------------------------------------------ 16
6.3 Арифметико-логическое устройство. ------------------------------------------ 18
6.4. Основная память. ---------------------------------------------------------------- 18
6.5. Системная шина. ----------------------------------------------------------------------- 18
6.6. Кэш-память. -------------------------------------------------------------------------- 19
7. Функциональная схема. ----------------------------------------------------------------- 20
8. Список используемой литературы. --------------------------------------------------- 23
(1)
где int означает округление в большую сторону до целого числа.
Таким образом разрядность кода операции:
2. Объем оперативной памяти равен 64Мегабайта( байт). Отсюда для прямой адресации операндов под адрес потребуется 26 разрядов, но т.к. длина команды 32 разряда, то формирование адреса будет происходить путем сложения начального адреса, находящегося в одном из адресных регистров, и смещения в команде. Данная операция будет происходить в сумматоре адресов. Таким образом, в 21 разрядном поле команды будет находиться смещение, а в одном из адресных регистров (SP, BP, SI, DI) начало адреса – 5 старших разряда, т.е.
xxxxx00000000000
3. В процессоре используется 8 регистров общего назначения, для их адресации необходимо 3 разряда.
4. Процессор использует 3 способа адресации: прямая, базовая и индексная, значит аналогично формуле (1) под способ адресации нужно отвести 2 разряда. Помимо этих 3-х способов в процессоре могут быть использованы и другие способы адресации: косвенная, базово-индексная и т. д. Поэтому отведем под способ адресации не 2, а 3 разряда.
5. Таким образом, формат двухадресной команды будет иметь вид (рис.3):
31 | 27 | 26 | 24 | 23 | 3 | 2 | 0 |
КОП | Способ адресации | Адрес 1-го операнда | Адрес 2-го операнда |
Рис.3. – Формат двухадресной команды
В двухадресных командах первый операнд может размещаться в регистре или в оперативной памяти, а второй всегда размещается в регистре.
16
4. Адресация операндов.
Вопрос о том, каким образом в адресном поле команды может быть указано местоположение операндов, считается одним из центральных при разработке архитектуры ВМ. В архитектуре системы команд любой ВМ предусмотрены различные способы адресации операндов.
В двухадресных командах режим адресации определяет размещение только первого операнда, т.к. второй операнд всегда находится в регистре процессора.
Исполнительный адрес операнда (Аисп) – двоичный код номера ячейки памяти, служащей источником или приемником операнда. Этот код подается на адресные входы запоминающего устройства, и по нему происходит фактическое обращение к указанной ячейке. Если операнд хранится не в основной памяти, а в регистре процессора, его исполнительным адресом будет номер регистра.
Адресный код команды (Ак) – двоичный код в адресном поле команды, из которого необходимо сформировать исполнительный адрес операнда.
В современных ВМ исполнительный адрес и адресный код, как правило, не совпадают, и для доступа к данным требуется соответствующее преобразование.
Способ адресации – способ формирования исполнительного адреса операнда по адресному коду команды. Способ адресации существенно влияет на параметры процесса обработки информации. Одни способы позволяют увеличить емкость адресуемой памяти без удлинения команды, но снижают скорость выполнения операции, другие – ускоряют операции над массивами данных, третьи – упрощают работу с подпрограммами и т.д.
4.1. Прямая адресация.
При прямой или абсолютной адресации, представленной на рисунке 4, операнд находится в ОП, а в команде прямо указан адрес ячейки памяти (точнее смещение), т.е. адрес определяется сложением начального адреса и смещения.
4.2. Базовая адресация.
Регистр, называемый базовым, содержит полноразрядный адрес, а подполе Ас - смещение, относительно этого адреса. Ссылка на базовый регистр может явной или неявной. В некоторых ВМ имеется специальный базовый регистр и его использование является неявным, то есть подполе R в команде отсутствует.
Более типичен случай, когда в роли базового регистра выступает один из регистров общего назначения (РОН), тогда его номер явно указан в подполе R команды.
Базовую адресацию обычно используют для доступа к элементам массива, положение которого в памяти в процессе вычислений может меняться. В базовый регистр заноситься начальный адрес массива, а адрес элемента массива указывается в подполе в подполе Ас команды в виде смещения относительно начального адреса массива. Достоинство данного способа адресации в том, что смещение имеет меньшую длину, чем полный адрес, и это позволяет сократить длину адресного поля команды. Короткое смещение расширяется до полной длины исполнительного адреса путём добавления слева битов, совпадающих со значением знакового разряда смещения.
4.3. Индексная адресация.
При индексной адресации (ИА) операнд записан в ОП. В команде подполе А1 содержит смещение, адресный регистр – начало адреса, а индексный регистр (SI, DI или один из РОН), указанный явно или неявно – смещение относительно этого адреса. Для получения адреса ОП содержимое регистра суммируется с адресом операнда команды (рис. 7, 8).
16
4.4. Регистровая адресация.
Регистровая адресация (РА) напоминает прямую адресацию. Различие состоит в том, что адресное поле инструкции указывает не на ячейку памяти, а на регистр процессора. Обычно размер адресного поля в данном случае составляет три или четыре бита, что позволяет указать соответственно на один из 8 или 16 регистров общего назначения (РОН).
Двумя основными преимуществами регистровой адресации являются: короткое адресное поле в команде и исключение обращений к памяти. Малое число РОН позволяет сократить длину адресного поля команды.
5. Команды процессора.
5.1. Сложение.
При сложении можно выделить 4 этапа выполнения команды.
1. Расшифровка и выборка очередной команды.
a. Формирование эффективного адреса очередной команды.
b. Формирование физического адреса ячейки ОП, в которой находится следующая
команда.
с. Полученный физический адрес отсылается в ОП, по нему выбирается очередная
команда и пересылается в регистр команд
d. Производится расшифровка кода операции и определяется вид выбранной
команды.
2. Формирование адреса 1-го и 2-го операндов и выборка обоих операндов.
a. В соответствии с содержанием команды формируется эффективный адрес 1-го
операнда.
b. Формируется физический адрес 1-го операнда, который отсылается в ОП.
с. По этому адресу из ОП выбирается 1-ый операнд и направляется в АЛУ .
d. 2-ой операнд выбирается из РОНа и также отсылается в АЛУ.
3. Выполнение операции сложения.
а. Операнды складываются в параллельном комбинационном сумматоре.
b. Результат суммы направляется в ОП по адресу 1-го операнда.
c. Вместе с результатом вырабатываются признаки результата и заносятся в регистр
флагов RF:
- флаг ZF - фиксирует получение нулевого результата:
ZF=0, если результат не нулевой;
ZF=1, если результат нулевой;
5.2. Операция логического сравнения.
Операция логического сравнения двух операндов будет реализована на базе логической операции сложения по модулю 2 (исключающее ИЛИ), с последующим анализом результата на равенство 0. ( флаг ZF)
Элементом логических данных является логическая (булева) переменная, которая может принимать лишь два значения: «истина» или «ложь». Кодирование логического значения принято осуществлять битом информации: единицей кодируют истинное значение, нулем – ложное.
В команде производиться поразрядная логическая функция:
0 v 0 = 0
0 v 1 = 1
1 v 0 = 1
1 v 1 = 0
Операция производится над числами, лежащими в РОНах и (или) ОП. Результат направляется по адресу 1-го операнда.
Вместе с результатом вырабатываются признаки, изменяющие состояние регистра флагов:
OF-устанавливается в 0
СF-устанавливается в 0
SF-признак отрицательного результата. В нашем случае всегда 0, так как реализуется логическая операция.
ZF-признак нулевого результата. Принимает значение 1 - результат равен 0 и значение 0 - результат не равен нулю.
PF-признак приоритета (четности). Фиксирует наличие четного числа единиц в битах результата. Принимает значение 1- четное число единиц и значение 0- нечетное число единиц.
Если флаг ZF установлен в 1 это означает, что операнды поразрядно равны, в противном случаи эти операнды не равны.
5.3. Условный переход по признаку «равенство нулю».
Команда условного перехода по признаку 'равенство нулю' проверяет флаг: ZF (ZF=1) – нулевой результат. Если он установлен, то счетчик команд изменяет свое значение на адрес выполняемой команды. В противном случае счетчик команд увеличивает свое значение на 2 (т.к. команда условного перехода имеет длину 2 байта) и выбирается следующая по порядку команда.
16
6. Описание и обоснование выбора структурной схемы системы
При проектировании структурной схемы процессора была выбрана CISC архитектура. В вычислительных машинах типа CISC существенно расширена система команд, дополнены сложные команды. Основоположником CISC-архитектуры считается компания IBM, которая начала применять данный подход с семейства машин IBM360 и продолжает его в своих мощных современных универсальных IBM , таких как IBM ES/9000. Аналогичен и подход компании Intel в ее микропроцессорах серии 8086 и Pentium.
Для этой архитектуры характерны следующие особенности:
1. наличие в процессоре сравнительно небольшого числа регистров общего назначения;
2. большое количество машинных команд, некоторые из них аппаратно реализуют сложные операторы;
3. разнообразие способов адресации операндов;
4. множество форматов команд различной разрядности;
5. наличие команд, где обработка совмещается с обращением к памяти.
В наиболее общем виде в процессоре можно выделить:
- операционный блок
- управляющий блок
- регистровую память
Операционным блоком является арифметико-логическое устройство (АЛУ), которое выполняет все арифметические и логические операции. АЛУ может выполнять операции над данными из оперативной памяти (ОП) или регистровой памяти (РП). Результат из АЛУ обычно помещается в первый операнд (А1).
Для вычисления адреса операнда используется сумматор адресов (СА), в котором происходит сложение начального адреса и смещения.