close

Вход

Забыли?

вход по аккаунту

?

Шубин (2)

код для вставкиСкачать
Министерство общего и профессионального образования РФ
НГТУ
Кафедра ВТ
Курсовой проект
по дисциплине “Организация ЭВМ”
Факультет:
Группа:
Студент:
Преподаватель:
Дата:
Новосибирск 2004.
АВТ
АМ-09
Шубин А.С.
Гребенников В.Ф.
Содержание.
1.
2.
3.
4.
5.
6.
7.
Цель работы
Исходные данные
2.1. Общие исходные данные.
2.2. Индивидуальные исходные данные.
Разработка и описание структурной схемы ЭВМ.
3.1. Центральный процессор.
3.2. Основная память ЭВМ.
3.3. Система прерываний.
3.4. Контроллер ПДП.
3.5. Таймер.
3.6. Клавиатура.
3.7. Монитор.
3.8. Блок синхронизации.
Разработка функциональной схемы арифметического сопроцессора.
Разработка алгоритмов операций умножения и деления.
Заключение.
Список литературы.
Приложение 1. Структурная схема ЭВМ.
Приложение 2. Структурная схема ЦП.
Приложение 3. Функциональная схема арифметического сопроцессора.
-2-
3
3
3
3
4
4
5
6
7
8
8
8
9
9
10
10
11
12
13
14
1. Цель работы.
Целью курсового проекта является углубление и закрепление теоретических знаний, приобретение навыков разработки узлов ЭВМ на структурном и функциональном уровнях.
Курсовой проект состоит из двух частей. Первая часть посвящена разработке структурной
схемы гипотетической ЭВМ, описанию ее функционирования. В состав ЭВМ входят как общие
для всех вариантов блоки, так и определяемые индивидуальным заданием.
Вторая часть проекта посвящена разработке функциональной схемы и алгоритмов работы
конкретного блока, входящего в состав ЭВМ, его детальному описанию.
2. Исходные данные.
2.1. Общие исходные данные
Общие исходные данные определяют минимальный состав проектируемой ЭВМ и ее основные параметры. В состав ЭВМ входят следующие блоки:
 центральное обрабатывающее устройство (ЦОУ);
 микропрограммное устройство управления (УУ);
 оперативная память (ОП);
 блок синхронизации (БС);
 система прерывания программ (СПП);
 таймер;
 система ввода-вывода (СВВ);
 монитор и клавиатура;
 «Винчестер».
Основные параметры ЭВМ:
 адресность ЭВМ - двухадресная;
 длина команды - переменная;
 разрядность - не менее 16;
 емкость ОП - не менее 4 Mбайт.
2.2. Индивидуальные исходные данные






архитектура ЭВМ - трехшинная;
состав ЭВМ - арифметический сопроцессор (умножение/деление);
система прерываний – радиальная структура с обработкой на макроуровне;
организация ОП - обычная;
контроль ОП - код Хемминга;
ввод/вывод – прямой доступ к памяти (ПДП).
Выбранная разрядность ЭВМ - 32.
Емкость ОЗУ - 4Мбайт
Емкость ПЗУ - 512Кбайт
-3-
3. Разработка и описание структурной схемы ЭВМ.
Согласно индивидуальному варианту используется трехшинная архитектура с общей
шиной, являющейся разделяемым ресурсом. В состав общей шины входят:
 шина адреса (Address Bus) – для задания 32-разрядного физического адреса памяти:
ОЗУ, ПЗУ, видеопамяти;
 шина данных (Data Bus) – обеспечивает обмен данными между блоками ЭВМ (имеет разрядность ЭВМ - 32);
 шина управления (Control Bus) – осуществляет передачу управляющих сигналов
для блоков ЭВМ. К таким сигналам относятся: синхросигнал, сигнал сброса, сигнал
обращения к памяти, сигнал чтение/запись памяти, сигнал ошибки контроля памяти.
Все внешние устройства (клавиатура, монитор, винчестер и т.д.) подключаются к системной шине через контроллеры. Это обеспечивает сопряжение ВУ с шиной и приведение их к
единому протоколу обмена информацией.
Структурная схема ЭВМ представлена в приложении 1.
Описание основных блоков, представленных на структурной схеме, приведено ниже.
3.1. Центральный процессор.
Главное место в структурной схеме ЭВМ занимает ЦП.
При разработке будем ориентироваться на микросхемы серии Аm29300.
Семейство Am29300 - это набор СБИС служащий для построения высокопроизводительных
32-х разрядных систем на основе принципа микропрограммирования. Потребуются следующие элементы этого семейства:
Am29331 - секвенсор микрокоманд. Размер адресуемой МПП до 64Кслов.
Аm29332 - 32-х разрядное арифметико-логическое устройство.
Am29334 - регистровый файл. 4-х портовая память с двухсторонним доступом. Организация 64х18 бит. Для обеспечения требуемой разрядности используются 2 микросхемы.
Помимо этого используется параллельный умножитель Am29323 как основа арифметического сопроцессора.
В функции ЦП входят: выполнение команд, хранящихся в ОП, и координирование работы
всех узлов ЭВМ. Работа ЦП основана на принципе микропрограммного управления. В состав
ЦП входят: операционный блок (ОБ), в котором происходит обработка данных, и микропрограммное устройство управления, которое управляет порядком обработки команд в ОБ и осуществляет управление всеми узлами ядра ЭВМ. Структурная схема ЦП приведена в приложении 2.
БИС Аm29332, используемая в качестве ОБ, содержит в своём составе приоритетный
шифратор и групповой 64-разрядный сдвигатель, позволяющий за 1 такт выполнять все виды
сдвигов на любое число разрядов. Эти устройства позволяют выполнять арифметические операции над числами с плавающей точкой.
АЛУ данной БИС выполняет также операции двоично-десятичной арифметики.
В структуру Am29332 включен блок Q-регистра (Q-сдвигатель и Q-регистр). Это позволяет
поддерживать выполнение: операции умножения двух 32-разрядных чисел по модифицированному алгоритму Бута (в каждом такте сдвиг вправо на 2 разряда), и деления по алгоритму "без
восстановления остатка".
Машинная команда содержит одно или два 32-х разрядных слова. Она должна размещаться в основной памяти, при этом необходимо соблюдение требований к целочисленным границам слов.
Условные обозначения битовых полей:
COP – код операции
– в операциях сдвига определяет величину и направление сдвига, в операциях над биP
товыми полями – правую границу поля
– ширина битового поля
W
-4-
RGB – регистр приемник/источник
RGA – регистр источник
Data – 32-х разрядная константа
Для адресации регистров используются 6-разрядные поля, что позволяет адресовать все 64
программно доступных регистра общего назначения.
Команда типа “регистр–регистр”
COP
P
31
23 22
17 16
W
Команда типа “данные–регистр”
COP
P
31
23 22
17 16
W
RGB
12 11
6 5
RGB
12 11
RGA
0
Не используется
6 5
0
Data
31
0
Поскольку параллельно АЛУ Am29332 подключен умножитель, то для управления выводом результатов работы этих микросхем используются мультиплексоры. Это позволяет гибко
управлять передачей необходимых данных на нужные входы устройств ОБ.
Для обеспечения синхронизации передачи данных и адреса по шинам DB и DA соответственно в качестве интерфейсных элементов используются регистры с динамическим управлением записью.
БИС Аm29331, используемая в качестве секвенсора микрокоманд, поддерживает прерывания реального времени на микро и макроуровнях управления со временем реакции не превышающим длительности микроцикла. Заданием оговаривается система прерываний на макроуровне, поэтому в структуре предусмотрен дешифратор векторного адреса (ДВА).
Также МУУ содержит регистр состояния, содержащий флаги АЛУ, флаг “0” результата
умножения (необходимо для выполнения алгоритма деления), а также флаг ошибки контроля
ОП по коду Хэмминга.
Имеющийся вход сброса секвенсора RST позволяет производить сброс ЦП в исходное состояние при включении питания или в процессе работы путём подачи на него сигнала RESET,
имеющего активный низкий уровень (на рисунке он не показан).
3.2. Основная память ЭВМ.
ОП ЭВМ должна иметь в своём составе как оперативную (ОЗУ), так и постоянную (ПЗУ)
память. Кроме того ОП должна иметь контроллер, который бы управлял выбором микросхем
памяти и формировал временные диаграммы чтения, записи и регенерации динамической памяти.
Разрядность шины адреса 32 бита, а для адресации ОЗУ требуется всего 20 разрядов (для
ПЗУ – 17), поэтому старшие биты адреса могут использоваться для определения к какой именно памяти идет обращение. Также часть неиспользуемого адресного пространства может использоваться для адресов ВУ.
Необходимость контроля вызвана тем, что при использовании в качестве ОЗУ микросхем
динамической памяти возможны ошибки в хранимых словах. Ошибки обычно бывают двух видов - постоянные и типа «сбой». Постоянные ошибки характеризуются тем, что содержимое
одной, нескольких или всех адресуемых ячеек БИС заранее определено - из них всегда считывается одна и та же информация. Например, из ячеек с адресами, кратными некоторому числу,
может считываться лог. 1, и попытка записи лог. 0 в эти ячейки не даёт желаемых результатов.
Ошибки типа «сбой» связаны с разрядом конденсаторов динамических элементов памяти из-за
-5-
действия кратковременных импульсов случайных помех по цепям питания или линиям управления, из-за пролёта альфа-частиц через кристалл БИС и т.п. Ошибку типа «сбой» можно
устранить повторной записью в ту же ячейку считанного и откорректированного кода.
Для этих целей можно использовать блок контроля, использующий код Хэмминга. Код
Хэмминга позволяет исправлять одиночные ошибки (ошибки в одном разряде), обнаруживать
двойные и некоторые тройные ошибки.
Алгоритм работы корректора следующий. При записи 32-разрядного слова в ОЗУ корректор формирует 7-разрядный код Хэмминга, который также передаётся в накопитель. В результате в адресуемой ячейке ОЗУ запоминается полезная информация (32 бит) и вспомогательная
(7 бит). При считывании слова из ячейки памяти оно в неизменном виде поступает в корректор;
туда же передаётся код Хэмминга, считанный из той же ячейки.
Корректор анализирует полученную информацию. Если ошибок нет, то поступившее из
накопителя 32-разрядное слово без изменений передаётся в магистраль. Если имеется одиночная ошибка в одном из считанных 32 разрядов, то эта ошибка исправляется «на проходе» (но не
в самом накопителе) и восстановленное слово передаётся в магистраль. Допустима также одиночная ошибка в считанных контрольных разрядах, если нет ошибок в информационных. Если
в считанном 39-разрядном слове две или более ошибок, то оно не исправляется, формируется
сигнал ERR, поступающий на вход тестирования секвенсера.
Рис.1. Структура ОП.
3.3. Система прерываний.
Прерывания представляют собой определенное средство изменения последовательности
состояний в ответ на внешние асинхронно происходящие события (запросы на прерывание).
Функции системы прерываний:
 организация вхождения в прерывающую программу;
 организация приоритетного выбора между запросами;
 организация возврата в прерванную программу.
В соответствии с заданием используется радиальная структура прерываний. В этой структуре предусмотрена своя линия запроса для каждого устройства. Структура с несколькими линиями запроса позволяет уменьшить время ответа, так как в ней устройство, пославшее запрос
на прерывание, может быть сразу же идентифицировано. Но т.к. в данной работе прерывания
обрабатываются на макроуровне (по заданию) нельзя говорить о минимальном времени ответа.
Это объясняется тем, что прерывания обрабатываются только после завершения текущей команды.
-6-
Прерывания на макро уровне требуют меньше аппаратных затрат и меньшее количество
запоминаемой информации, необходимой для возврата в прерванную программу. Приоритеты
соответствуют порядку следования устройств при подключении к контроллеру.
Сигналы прерываний поступающие на входы INR7-INRO устройства управления прерываниями, преобразуются в вектор. Полученный вектор поступает в дешифратор векторного адреса (ПЗУ), где происходит вычисление начального адреса микропрограммы, который нужно
загрузить в секвенсор. Все функции прерываний имеют один общий фрагмент - это сохранение
параметров выполняющейся в данный момент процедуры и восстановление их после завершения обработки вектора прерывания. Микросхема Am29331 имеет стек возврата глубиной на 33
адреса, что позволяет реализовать вложенные прерывания, правда при полной загрузке стека
дальнейшие прерывания будут игнорироваться.
Рис.2. Система прерываний.
3.4. Контроллер ПДП.
Прямой доступ к памяти (ПДП) - создание прямого тракта передач данных от внешних
устройств к памяти или от памяти к внешним устройствам. При обычном обмене передачи
между ВУ и памятью требуют вначале принять данные от источника в процессор, а затем выдать их из процессора приемнику, т.е. реализуются за два командных цикла. При ПДП данные
не проходят через процессор, и передача слова производится за один цикл. ПДП особенно удобен при передачах блоков данных в высоком темпе, например при обмене данными между
внешней памятью и ОЗУ. В режиме ПДП процессор отключается от системных шин и передает
управление ими контроллеру прямого доступа к памяти (КПДП).
Для реализации ПДП разработаны специальные аппаратные средства, выпускаются БИС
КПДП, способные благодаря программированию обслуживать ПДП с учетом конкретных требований различных систем.
Взаимодействие блоков микропроцессорной системы при ПДП показано на рис.3. Микропроцессор выполняет операцию программирования КПДП, настраивая его на определенный
режим работы, и может читать состояние контроллера. Соответствующие связи показаны
штриховой линией. При осуществлении ПДП микропроцессор отключен, а контроллер вырабатывает сигналы управления обменом для ВУ и ОЗУ. Тракт передачи данных связывает ВУ с
ОЗУ непосредственно.
Рис.3. Схема взаимодействия блоков ЭВМ при ПДП
-7-
Возможны два вида ПДП - с блочными или одиночными передачами. В первом работа
процессора останавливается на все время передачи блока данных, во втором передачи слов в режиме
ПДП перемежаются с выполнением программы, и для передач ПДП выделяются отдельные такты
машинных циклов, в которых процессор не использует системные шины.
При непрерывной передаче массива данных скорость обмена ограничивается длительностью
циклов ЗУ, быстродействием самого контроллера и скоростью выдачи/приема данных внешним
устройством.
В отличие от процессов прерывания при ПДП обмен выполняется без участия программы, поэтому содержимое рабочих регистров ЦП не нарушается и на вхождение в режим ПДП не требуется затрат времени.
Действия, выполняемые контроллером ПДП, состоят в следующем:
 прием сведений об области памяти, отведенной для блока данных, подлежащих передаче;
 трансляция запроса ПДП, исходящего от ВУ, в запрос ПДП для процессора с учетом
маскирования и приоритетности запросов, поступающих на КПДП. Прием сигнала
подтверждения ПДП, свидетельствующего о том, что процессор отключился от системных шин;
 генерация адресов для ЗУ и сигналов управления ЗУ и ВУ;
 фиксация завершенности ПДП;
 снятие запроса с соответствующего входа ЦП и возвращение управления основной
программе;
 контроль регенерации динамической памяти, т.к. ЦП отключен от системной магистрали;
 арбитраж системной шины.
3.5. Таймер.
Большинство микроЭВМ содержит источник реального времени - часы и таймер. Таймер
предназначен для деления машинного времени на временные интервалы для эффективного использования процессора при работе с периферийными устройствами. Он обеспечивает совместную работу ЦП и ПУ в реальном масштабе времени, осуществляя разбиения машинного времени на равные интервалы времени.
С помощью таймера можно задавать определённые промежутки времени, по истечении
которых происходит прерывание. Это можно использовать для - time-out для различных прикладных программ. Особенное применение прерываний таймера основанное на независимости
работы микросхемы от процессора - регенерация оперативных запоминающих устройств.
3.6. Клавиатура.
Клавиатура является одним из основных устройств ввода, обеспечивающих интерактивное
общение пользователя с ЭВМ. Она содержит микропроцессор (контроллер клавиатуры), который воспринимает каждое нажатие на клавишу и выдает последовательный скан-код.
При поступлении скан-кода из порта вызывается прерывание клавиатуры. В системе прерываний контроллер клавиатуры стоит сразу после таймера для более оперативного вмешательства пользователя.
3.7. Монитор.
Для получения итоговых данных, для постоянного наблюдения за различными действиями
вычислительной машины используется монитор. Монитор способен выводить текстовую и графическую информации ЭВМ для пользователя, отображать текущие данные и всевозможные
изменения в системе.
Монитор, как и всякое другое периферийное устройство, подключается через контроллер
(видеоадаптер) к системной шине.
-8-
Следует отметить, что монитор является пассивным устройством, которое не выдает данные и управляющие сигналы, а просто отображает динамически изменяющуюся информацию,
которая хранится по определенным адресам в ОП.
3.8. Блок синхронизации.
Блок
синхронизации (БС) предназначен для обеспечения синхронной работы всех
устройств (узлов) ЭВМ. В задачи блока синхронизации входит генерация синхронизирующих
последовательностей. Синхропоследовательности имеют заданную форму, длительность и
предназначены для центрального процессора, таймера, контроллеров и других узлов, входящих
в состав ЭВМ.
4. Разработка функциональной схемы арифметического сопроцессора.
Арифметический сопроцессор построен на основе параллельного умножителя Am29323 и
предназначен для быстрого выполнения операций умножения и деления.
Взаимодействие микропроцессора и сопроцессора осуществляется по схеме последовательного выполнения операций, т. е. пока работает сопроцессор, то основной ждет. Фактически
арифметический сопроцессор является составной частью ОБ, т.к. и умножитель, и АЛУ управляются одним микропрограммным устройством управления.
Операция деления проводится с использованием следующей формулы:

A
 A  A  1 B  1 B2  ... 1 Bn
B

Поскольку АЛУ ЦП поддерживает операцию деления целых чисел, то имеет смысл разработка алгоритма деления чисел с фиксированной запятой. Основной проблемой в реализации
этого алгоритма является сохранение формата операндов, для этого необходимо, чтобы каждый
член в приведенной выше формуле был также правильной дробью.
Выполнение данного требования достигается путем приведения делителя к виду 0.1хх…х.
2
n
Тогда сумма элементов ряда 1 B  1 B  ... 1 B 1 при n   , но т.к. n конечно, то
сумма будет строго меньше 1. Вычисление слагаемых ряда прекращается, когда очередное произведение будет равным 0, т.е. не будет ни одного значащего разряда.
Произведение получившейся суммы с делимым также будет правильной дробью. То, что
конечный результат сохранит формат, гарантирует неравенство B>A.
Для реализации изложенных выше требований нужны следующие дополнительные аппаратные средства:
 для приведения делителя B к нужному виду – приоритетный шифратор и групповой сдвигатель;
 для вычисления (1-B) – сумматор;
 для нахождения суммы ряда – сумматор (первоначально планировалось вычислять
сумму ряда средствами умножителя, поскольку он имеет встроенный накапливающий сумматор, но, к сожалению, его структура не позволяет брать результат умножения непосредственно с выхода матричного умножителя - только с выхода сумматора. Это делает невозможным вычисление следующего слагаемого ряда);
 для выявления последнего слагаемого ряда – схема 32ИЛИ-НЕ;
 для проверки условия B>A – компаратор (либо сумматор).
Поскольку взаимодействие микропроцессора и арифметического выполняется по схеме
последовательного выполнения операций (параллельное выполнение повлекло бы за собой, как
мне кажется, излишние затраты на реализацию МУУ сопроцессора), а АЛУ имеет практически
все необходимые вспомогательные средства для выполнения операции деления и при этом простаивает. Было решено вместо внесения дополнительных аппаратных средств воспользоваться
его ресурсами.
Правда, для реализации их (АЛУ и умножителя) корректного взаимодействия пришлось
отойти от предполагавшегося ранее вывода результатов на общую локальную шину данных и
-9-
управления этого вывода с помощью тристабильных выходов микросхем. Теперь все управление осуществляется посредством мультиплексоров с индивидуальными сигналами управления.
Функциональная схема арифметического сопроцессора приведена в приложении 3.
5. Разработка алгоритмов операций умножения и деления.
Операция умножения.
1. Загрузка операндов из регистрового файла во внутренние регистры умножителя
RGXA и RGYA.
2. Умножение и запись результата во внутренний регистр RGP.
3. Запись результата в регистровый файл (можно выводить и в интерфейсный регистр
данных для дальнейшей передачи в ОП или ВУ).
Операция деления.
1. Проверка выполнения условия B>A. Эта проверка также гарантирует, что делитель
не равен 0.
2. Нормализация делителя - приведение к виду 0.1хх…х. Для этого в первом цикле с
помощью приоритетного шифратора вычисляется позиция старшей единицы (результат будет во внутреннем регистре SRG). В следующем цикле производится
сдвиг и сохранение содержимого SRG в RGF (младшие 6 разрядов содержат число
разрядов для сдвига).
3. Вычисление (1-B), т.е. если B имеет вид 01хх..х, то 1 - 100..0, и запись результата в
регистровый файл.
4. В умножителе вычисляются произведения вида (1-В)n, результат сохраняется во
внутреннем регистре RGP, а затем передается на входы АЛУ и умножителя для
следующих итераций. Для АЛУ значения операндов берутся с выхода YA RGF и
выхода P MPL, для умножителя – с выхода YB RGF и выхода P MPL. Параллельно
происходит проверка результата умножения на равенство нулю, и если это условие
выполняется, то дальнейшее вычисление членов ряда прекращается.
5. После нахождения суммы ряда идет умножение полученного результата на значение делимого, а в следующем цикле вычисляется произведение 1*A и с помощью
накапливающего сумматора MPL складывается с полученным ранее произведением. Результат поступает в АЛУ и производится корректирующий сдвиг на то же
число разрядов, на которое был сдвинут делитель.
Недостатком данного алгоритма является то, что его длительность зависит от значения делителя (нормализованного) – чем ближе оно к 0.5, тем дольше будет происходить деление.
Наихудший вариант - деление на 2n.
6. Заключение.
В результате выполнения данного курсового проекта была достигнута поставленная
цель: углубление и закрепление теоретических знаний, полученных на лекциях.
В ходе выполнения курсового проекта была спроектирована гипотетическая ЭВМ, был
разработан ее состав и описаны основные блоки, входящие в этот состав. Были описаны основные принципы функционирования спроектированной ЭВМ. Один из блоков был разработан
наиболее детально, то есть на функциональном уровне. Этим блоком является арифметический
сопроцессор.
- 10 -
7. Список литературы.
1. Каган Б.М. Электронные вычислительные машины и системы.– М.: Энергоатомиздат,
1991.
2. Курс лекций по дисциплине “Организация ЭВМ”
3. Схемотехника. Руководство к курсовой работе./В.И.Соболев – Нововсибирск.: НГТУ,
1997.
4. Угрюмов Е. П. Цифровая схемотехника. Учебное пособие. – СПб.: БХВ-Петербург, 2002.
- 11 -
Приложение 1. Структурная схема ЭВМ.
- 12 -
Приложение 2. Структурная схема ЦП.
- 13 -
Приложение 3. Функциональная схема арифметического сопроцессора.
- 14 -
Документ
Категория
Компьютеры и периферийные устройства
Просмотров
4
Размер файла
430 Кб
Теги
шубина
1/--страниц
Пожаловаться на содержимое документа