3610 ОРГАНИЗАЦИЯ ЭВМ И СИСТЕМ

1. Структурные элементы пояснительной записки

Структурными элементами пояснительной записки являются:

-         титульный лист;

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

-         обозначения и сокращения;

-         содержание;

-         введение;

-         основная часть;

-         заключение;

-         список использованных источников;

-         приложения.

2. Требования к содержанию структурных элементов пояснительной записки

2.1. Титульный лист

Титульный лист является первой страницей пояснительной записки. Пример оформления титульного листа приведен в приложении А.

2.2. Техническое задание

В этом разделе указываются все исходные данные, которые необходимы для выполнения данного проекта. Пример оформления приведен в п.3.1.

2.3. Обозначения и сокращения

Структурный элемент «Обозначения и сокращения» содержит перечень обозначений и сокращений, применяемых в данной пояснительной записке. Запись обозначений и сокращений проводят в в алфавитном порядке с необходимой расшифровкой и пояснениями.

2.4. Содержание

Содержание включает введение, наименование всех разделов, подразделов, пунктов (если они имеют наименование), заключение, список использованных источников и наименование приложений с указанием номеров страниц, с которых начинаются эти элементы пояснительной записки.

2.5. Введение

Во введении приводятся краткое описание процессора с плавающей точкой (ППТ), его особенности, принципы работы, влияние на производительность ПЭВМ и т.д.

2.6. Основная часть

В основной части помещаются следующие разделы:

-       описание команд;

-       описание форматов данных;

-       программная модель процессора;

-       блок-схема процессора;

-       алгоритмы выполнения заданных операций ППТ;

-       структурные схемы блоков процессора;

-       структура микрокоманды;

-       моделирование операций.

2.7. Заключение

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

2.8. Список использованных источников

Список должен содержать сведения об источниках, использованных при выполнении курсового пректа.

2.9. Приложения

В приложения рекомендуется включать материалы, связанные с выполненным курсовым проектом, которые по каким-либо причинам не могут быть включены в основную часть, например трассу микропрограммы при моделировании операции.

Правила оформления пояснительной записки в соответствии с ГОСТ 7.32-2001 приведены в приложении Б.

3. Пример проектирования

3.1. Техническое задание

1. Система команд:

FAdd m32real – сложение.

FISt m16int – сохранение целочисленное.

2. Емкость ОП 8 Кбайт.

3. Длина слова ОП 64 бита.

4. Моделирование: сложение чисел с ПТ.

3.2. Описание команд

В этом разделе приводятся подробное описание заданных команд, особые случаи и форматы команд. Исходные данные для этого раздела берем из приложения В, [1, п.2.2], [2] и [3].

 

 

Пример.

FAdd m32real – сложение

Команда сложения суммирует операнды источника и получателя и возвращает сумму в получатель.

ST ¬ ST + m64real.

Один из операндов находится в оперативной памяти (ОП) в формате m32real, второй – в регистровом стеке ST в формате 80real. Перед выполнением операции сложения операнд читается из ОП и преобразуется в формат 80real.

Особые случаи:

P – неточный результат (точность);

U – антипереполнение;

O – переполнение;

D – денормализованный операнд;

I – недействительная операция.

Формат команды представлен на рис.1.

7

 

0

 

7

 

 

0

 

7

0

 

7

0

11011

MF

1/0

 

mod

1

КОП

r/m

 

Sib

 

disp

Рис. 1. Формат команд FAdd m32real и FISt m16int

Адрес операнда m32real определяется полями mod, r/m, sib и disp. Адрес вычисляется целочисленным процессором. К началу операции он уже сформирован. Бит [0] первого байта команды определяет тип операции.

В данном случае бит[0]=0 – арифметическая операция над операндом из памяти и вершиной стека.

Поле MF определяет тип операнда. При m32real MF=00.

FISt m16int – сохранение целочисленное

Команда FISt m16int преобразует значение из регистра ST  в формате 80real в знаковое целое число формата 16int в соответствии с полем RC управления округления слова управления (CW) и передает результат в ОП. Содержимое  ST остается неизменным.

Особые случаи:

P – неточный результат (точность);

I – недействительная операция.

Примечание.

Если значение в регистре ST слишком велико для представления целым числом, формируется особый случай  I. Маскированная реакция заключается в записи в память наибольшего (по модулю) отрицательного целого числа.

Формат команды представлен на рис.1.

Адрес операнда m16int определяется полями mod, r/m, sib и disp. Адрес вычисляется целочисленным процессором. К началу операции он уже сформирован. Бит [0] первого байта команды определяет тип операции.

В данном случае бит[0]=1 – передача данного из стека в память.

Поле MF определяет тип операнда. При m16int MF=11.

3.3.  Форматы данных

В данном разделе описываются форматы данных, которые используются в вашем варианте задания. Приводятся параметры форматов и примеры представления чисел в заданных форматах. Исходные данные для этого раздела берем из [1, п.1], [2], [3] и [4].

3.4.  Программная модель процессора

Программная модель подробно описана в [1, пп.2.1]. Здесь также необходимо подробнее описать слово управления CW и слово состояния SW процессора [1, пп.2.3].

3.5.   Блок-схема процессора

Обобщенная блок-схема процессора приведена в [1, п.3.1]. Для вашего варианта указываются только те связи, которые необходимы для выполнения заданных команд.

Пример

Для варианта задания, которое приведено в п.3.1, укрупненная блок-схема процессора представлена на рис.2. В него входят оперативная память ОП, блок преобразования форматов данных БПФ, блок регистров БР, блок обработки данных БОД, блок микропрограммного управления БМУ. БПФ и ОП связаны 64-битной шиной, через нее передаются данные из ОП в формате 32real в БПФ  (FAdd m32real) и из БПФ в ОП в формате 16int (FISt m16int). БПФ осуществляет прямое преобразование из формата 32real в формат 80real и обратное преобразование из формата 80real в формат 16int.  БР включает в себя регистровый стек, регистры слов тегов, управления и состояния. Из БР в БПФ передается операнд  из вершины стека в формате 80real (операция FISt). В БОД для сложения поступают два операнда: один из  БР в  формате 80real, а другой  из БПФ также в формате 80real. Результат операции сложения в формате 80real из БОД  передается в вершину стека БР.

Управление операциями осуществляется БМУ путем выборки последовательности микрокодов (МК). Обратная связь от  БПФ, БР и БОД к БМУ обеспечивается через шину осведомительных сигналов ОС.


Рис.2.  Блок-схема процессора

3.6. Алгоритмы операций

В данном разделе описывается порядок выполнения команд в процессоре, подробно разрабатываются алгоритмы команд и приводятся примеры выполнения команд по полученным алгоритмам на конкретных данных. Схемы алгоритмов выполняются в соответствии с ГОСТ 19.701-90.

Пример.

Порядок выполнения команд в процессоре

Более подробно порядок выполнения команд в процессоре рассматривается в лабораторном практикуме [6]. Его можно представить в следующем виде:

1)    выборка команды из памяти и определение адреса следующей команды;

2)    декодирование команды;

3)    вычисление адреса операндов;

4)    считывание операндов;

5)    собственно выполнение команды и формирование признака результата;

6)    запись результата.

В данном курсовом проекте считаем, что п.1-3 уже выполнены и  адреса операндов уже известны.

Алгоритм операции FAdd m32real

Исходя из изложенного в предыдущем пункте укрупненный алгоритм операции FAdd m32real представим на рис.3. Соответственно разработка алгоритма состоит из 8 этапов.

1-й этап. Чтение второго операнда из ОП

Для разработки данного этапа необходимо познакомиться с [1, п.3.2].

Адрес данного к началу операции вычислен и находится в адресном регистре EAR. По заданию длина слова ОП равна 64 бит. Поэтому операнд выбирается  в регистр чтения RGR за одно обращение:

RGRW =  MEM[EAR] (рис.4.)

 

 

2-й этап.  Позиционирование операнда

Описание прямого позиционирования чисел различных форматов приведено в [1, пп.3.3, 3.3.1].

Позиционирование операнда – это размещение операнда  в приемном регистре в некотором стандартном виде. Если операнд имеет длину меньше, чем длина слова ОП, то вначале приводим его к выбранному стандартному расположению в регистре RGRW, а затем переписываем в регистр RGD в определенные разряды.

В данном варианте операнд может занимать разряды [63:32], [47:16] или [31:0] регистра RGRW, поэтому с помощью сдвигателя или мультиплексора приводим его к стандартному виду в промежуточном регистре RGP, а затем позиционируем в RGD (рис.5).

RGD[79]=RGP[31]– позиционирование знака;

RGD[71:64]=RGP[30:23] – позиционирование порядка;

RGD[63:41]=RGP[22:0] –позиционирование мантиссы;

В биты RGD[78:72, 40:0] записать нули.