close

Вход

Забыли?

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

?

Безлер

код для вставкиСкачать
Новосибирский государственный технический университет
Кафедра вычислительной техники
Курсовой проект
по дисциплине «Организация ЭВМ»
Разработка схемы гипотетической ЭВМ на структурном уровне
Выполнил:
Студент АВТ
Группы АМ-010
Безлер Игорь
Проверил:
Гребенников В. Ф.
Новосибирск 2003
СОДЕРЖАНИЕ
ЦЕЛЬ КУРСОВОГО ПРОЕКТА ................................................................................. 3
ЗАДАНИЕ НА КУРСОВОЙ ПРОЕКТ ........................................................................ 3
СТРУКТУРНАЯ СХЕМА ЭВМ ................................................................................... 4
РАЗРАБОТКА ОСНОВНЫХ БЛОКОВ ЭВМ............................................................ 5
ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР ........................................................................................ 5
Операционный блок. ........................................................................................... 6
Особенности использования MPL..............................................................................................6
Разрабатываемый блок - арифметический сопроцессор. .....................................................7
Алгоритм операции умножения. ................................................................................................7
Алгоритм операции деления. .....................................................................................................7
Микропрограммное устройство управления. ................................................ 10
СИСТЕМА ПРЕРЫВАНИЙ. ........................................................................................... 11
ОСНОВНАЯ ПАМЯТЬ. ................................................................................................. 13
СИСТЕМА КОНТРОЛЯ ПАМЯТИ. .................................................................................. 14
ОПИСАНИЕ СИСТЕМЫ ВВОДА ВЫВОДА........................................................................ 14
КОНТРОЛЛЕР ПДП. .................................................................................................. 15
БЛОК СИНХРОНИЗАЦИИ ............................................................................................ 18
МОНИТОР. ................................................................................................................ 18
ТАЙМЕР. .................................................................................................................. 19
КЛАВИАТУРА. ........................................................................................................... 19
ВЫВОДЫ. ................................................................................................................ 20
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ ......................................................... 20
2
Цель курсового проекта
Углубление и закрепление теоретических знаний, приобретение навыков разработки
узлов ЭВМ на структурном, функциональном и алгоритмическом уровнях.
Задание на курсовой проект
Разработать структурную схему гипотетической ЭВМ, функциональную схему и
алгоритм работы конкретного блока, входящего в состав этой ЭВМ.
Курсовой проект состоит из двух частей:
Первая часть посвящена разработке структурной схемы гипотетической
ЭВМ, описанию ее функционирования. В состав ЭВМ входят как общие для всех
вариантов блоки, так и дополнительные, определяемые индивидуальным заданием.
Вторая часть проекта посвящена разработке функциональной схемы и
алгоритмов работы конкретного блока, входящего в состав ЭВМ, и их детальному
описанию.
Исходные данные к курсовому проекту:
В состав ЭВМ должны входить следующие блоки (типовое задание):






центральное процессорное устройство (ЦПУ)
оперативная память (ОП)
система прерывания программ (СПП)
система ввода-вывода (СВВ)
монитор и клавиатура
блок синхронизации (БС)
Индивидуальные исходные данные:








архитектура ЭВМ – трех шинная
организация ОП – обычная
наличие системы контроля по Хэммингу
наличие арифметического сопроцессора (АСП)
система прерываний – радиальная с обработкой на макро уровне
Ввод/Вывод – прямой доступ к памяти
система прерываний
разрабатываемый блок – арифметический сопроцессор, алгоритм деления.
3
Разработка структурной схемы ЭВМ
В соответствии с заданием принята трех шинная организация ЭВМ:

шина данных (ШД) – обеспечивает обмен данными между всеми основными
блоками ЭВМ – 32р.

шина адреса (ША) – используется для задания адреса памяти. Им может быть как
адрес в ОЗУ, ПЗУ так и адрес видеопамяти контроллера монитора – 32р.

шина управления (ШУ) – по этой шине осуществляется передача сигналов
управления между блоками ЭВМ.
Такая структура обеспечивает три вида передачи данных:
• процессор <=> память;
• процессор <=> интерфейс;
• память <=> интерфейс.
запросы на прерывания
от системных устройств
ОП
КП
АСП
ЦПУ
ОЗУ
+
ПЗУ
Клавиатура
Монитор
Контроллер
Адаптер
ША
ШД
ШУ
Таймер
БС
КПДП
Ко всем тактируемым
устройствам
ПУ
HDD
ПУ
FDD
Рис. 1. Структурная схема ЭВМ
4
В первых двух видах передачей данных управляет процессор. Память и интерфейс по
управляющему сигналу от процессора осуществляют передачу данных. В последнем
случае способ обмена данными называется прямым доступом в память, обеспечивающий
автономно от процессора управление связи и передачу данных между ОП и ПУ. В данном
случае рассматривается прямой доступ в память с блокировкой ЦПУ. Прямым доступом к
памяти управляет контроллер ПДП.
Разработка основных блоков ЭВМ
Структурную схему ЭВМ изображённую на рисунке 1 будем рассматривать по частям, т.е.
рассмотрим, как функционирует каждый элемент в отдельности и взаимодействии с
другими элементами.
Центральный процессор
В состав центрального процессора входит операционный блок, включающий в себя
процессорную секцию и умножитель, и микропрограммное устройство управления. МУУ
осуществляет управление работой ОБ, а операционный блок - арифметические,
логические, сдвиговые операции, выполняет инструкции МУУ.
Структурная схема Центрального процессора
Рис. 2. Структурная схема ЦПУ
5
Разработка структуры ОБ
Т.к. на вход МПС данные могут поступать из нескольких источников, то
целесообразно использовать локальную шину данных (LDB). Для обеспечения всех
вышеописанных форматов команд LDB соединена с Y шиной, недостатком является то,
что LDB несколько перегружена, на нее работают пять источников:
1.
2.
3.
4.
5.
Регистр входных данных
МПС
Параллельный умножитель
Статусный регистр
Регистр микрокоманд
ОБ состоит из АЛУ IDT49C402, логики сдвигов PALL222V10 – 7JC, регистров:
статусного (SRG), регистра адреса (RGA) и регистров входных и выходных данных –
RGDin и RGDout соответственно
(типономинал для всех регистров один –
IDT74FCT16374ET). IDT74FCT16374ET может использоваться как один 16 разрядный,
либо как два 8 разрядных регистра с независимым тактированием, управлением выводом
данных.
Поскольку и регистр адреса памяти РгА, и регистр выходных данных РгВых
подключены к одному выходу Y МПС, то пришлось организовать разрешение записи для
РгА применив условное тактирование данного регистра (МК). Это необходимо для
сохранения прочитанных данных с выхода Y АЛУ например адреса. Т.е. сперва задать
адрес записи, потом данные.
На адресные входы МПС подаются номера регистров как из микрокоманды, так и
из команды.
В SRG данные могут попасть из АЛУ и через шину Y.
На входе С0 МПС включен мультиплексор (SN74ASS153), позволяющий подавать
на этот вход «0», либо «1», либо значение флага С 31. Это необходимо, к примеру для
организации арифметики двойной длины. Условие выбор задается МК. При установке
бита (МК) в «1» (упр. мультиплексором на входе SRG ) флаги задаются с выхода Y МПС.
Для реализации логики сдвигов можно было бы задействовать мультиплексоры и
простейшие логические элементы, но целесообразней оказалось сделать ее на PLD по
причине большей логической простоты и более высокого быстродействия. Кроме этого
преследовалась такая цель как углубление и систематизация знаний.
Особенности использования MPL
В качестве MPL был взят 32-х разрядный умножитель фирмы AMD Am29C323. Выбор
на нем был остановлен по той простой причине, что не удалось найти других аналогов.
Имеет два 32-х разрядных входных и один 32-х выходной порты данных. Выполняет
беззнаковое умножение целых и дробных чисел одно-, двух- и многократной точности.
При встраивании MPL в схему ОБ были рассмотрены следующие альтернативные
способы подключения:
а) на входы X и Y включался селектор, на входы которого подавались сигналы с LDB
и с Y шины, на выход данных MPL включался демультиплексор, который выдавал
произведение либо на LDB, либо на Y шину МПС.
Б) в качестве варианта подключения MPL был также рассмотрен вариант, когда
операнды брались с Y шины и выдавались на нее же, такая организация не позволяет
выполнять команду типа регистр-регистр.
Особенности использования:
6
1. Т.к. в состав ОБ входит только одно устройство работающее в режиме Master то
вход Slave заземлен.
2. Т.к. АЛУ и умножитель производят вывод на общую шину, то вход ОЕ
умножителя управляется из микрокоманды.
3. Умножитель работает в асинхронном режиме(входы FTX/FTY/FTI=H).
4. Умножитель выполняет умножение только одно- и двукратной точности, т.к.
входы ACC0,ACC1,ENT пассивизированы.
Разрабатываемый блок: Арифметический сопроцессор.
Арифметический сопроцессор построен на основе умножителя Am29C323, и
предназначен для ускорения работы основного процессора при выполнении операций
умножения и деления.
Взаимодействие микропроцессора и сопроцессора осуществляется по схеме
последовательного выполнения операций, т. е. пока работает сопроцессор, то основной
ждет. Фактически арифметический сопроцессор является составной частью ОБ, т.к. и
умножитель, и МПС управляются одним микропрограммным устройством управления.
Для выполнения умножения необходимо загрузить во входные регистры
умножителя операнды из внутрипроцессорной шины Y или из Рг.З, причем это надо
сделать поочередно, т.к. шина - 32-разрядная.
После выполнения умножения полученное 64-разрядное произведение из
внутренних выходных регистров умножителя подается на вход D МПС, где происходит
его запоминание в РОН. Также результат можно сразу занести в Рг.Y, что оказывается
полезным например при выполнении операции возведения в степень.
Алгоритм операции умножения.
1. В регистр Рг.Х загружаем множимое
2. В Рг.Y – множитель
3. Выполняется перемножение
4. На D-вход МПС выдается мл. часть произведения
5. При необходимости выдается старшая часть
Алгоритм операции деления.
Для выполнения деления используется алгоритм, включающий в себя умножение. При
этом используется следующая итерационная формула:
yi+1 = yi (2 - yi C), i=0,1,2,…
Q=A/C, где A-делимое, С-делитель
Эта формула позволяет вычислять величину 1/С,
а y0 , y1 , y2 ,… - последовательные приближения этой величины.
Если первое приближение 0<y0<2/C, то yi→1/С при i→∞. Для выбора y0
используется гипербола, зашитая в таблицу, находящуюся в МПП. При этом достигается
точность y0 до 8-9 верных двоичных разрядов.
Число итераций определяется необходимой точностью результата, например, для
получения 15-разрядного частного выполняется одна, а для 30-разрядного – две итерации
(т.е. для такой точности y0 точность результата при каждой итерации удваивается).
Рассмотрим работу сопроцессора при выполнения операции деления:
Путем сдвига в МПС нормализуется делитель С так, что 1/2<С<1.
Через шину Y преобразованный С подается на вход секвенсера и затем на
МПП, где из таблицы происходит выборка микрокомманды, содержащей в поле
константы нужный y0. Этот коэффициент через D-вход МПС заносится в Рг.Y.
7
Делитель С заносится в Рг.Х. Происходит умножение yi-1 С.
В МПС производится операция 2-yi-1С. Результат – в Рг.Х.
В Рг.Y все еще yi-1, перемножаем: yi = yi-1 (2- yi-1С), резултат – в Рг.Y
Выполняем пункты 3,4,5 три раза (для точности результата в 32 разряда). В
результате yi =1/С.
В итоге частное Q= yi A .
8
Шина даных DB
32
RGDin
Рис. 3. Структурная схема ОБ.
IDT74FCT16374ET
MK

OED#
CLK
OED#
32
Из Рг MK
6
A
D
31,R0
8
32
2
MK
Из Рг K
SRG
6
B
MK
MK
MK
Из Рг MK
RGDout

OED#
lIDT74FCT16374ET
CLK
MK
Из Рг K
1
MUX
SN74AS153
Q31,Q0
IDT49C402
I
2
Y
1
IDT74FCT16374E
T
CLK
MK
Q
OEY#
OEY
MK
2
C0
CP
Flags
4
MK
Y
8
MK
X
MK
MK
MK
1
С
MK
1
МК
&
8
На вход
TST SEQ
Y
RND MPL
FA
PSEL0,PSEL1
ENP#
TCX, TCY
OE#
ENT
FTX, FTY,FTI
SLAVE
ACC0,ACC1
CLK
P
Линия синхронизации СР
9
Микропрограммное устройство управления
Рис. 4. Структурная схема МУУ
В качестве секвенсора микрокоманд в блоке микропрограммного управления
используется AM29C331. Довольно широкие возможности этого прибора позволяют
гибко адресовать микропрограммную память. У него существует возможность выборки
адреса следующей команды из разных источников (с ПНА, из регистра микрокоманд, из
внутреннего регистра, а также из внутреннего счетчика), что позволяет в
микроподпрограмме реализовывать переходы, а также использовать в БМУ конвейерную
структуру.
Код операции из регистра команд поступает на вход преобразователя начального
адреса, который представляет собой комбинационную схему, структура которой зависит
от системы команд и микропрограмм, соответствующих этим командам и их
распределению в памяти микропрограмм. С ПНА выдается адрес подпрограммы.
Секвенсор выбирает источник адреса и выдает его на адресные входы микропрограммной
памяти.
Из памяти выбирается микрокоманда и попадает в регистр микрокоманд.
Микрокоманда хранится в регистре микрокоманд в течении времени ее выполнения( т.е. 1
такт). В момент, когда микрокоманда начинает выполняться, секвенсор формирует адрес
следующей микрокоманды.
Конвейер позволяет повысить производительность ЭВМ. Однако, при условных или
безусловных переходах эффективность конвейера равна нулю, т.к. адрес следующей
микрокоманды поступает из текущей микрокоманды, т.е. операционный блок простаивает
один такт. Но так как отсутствие операций перехода значительно сокращает возможности
ЭВМ, то в разрабатываемой структуре реализована возможность таких переходов.
10
Для устранения конфликтов между выходами ПНА и RG MK (а точней той частью,
которая отвечает за адрес перехода) задействованы выходы секвенсора, которые
управляют разрешением выборки адреса или из ПНА (выход МЕ) или из регистра
микрокоманд (выход РЕ).
Переход возможно осуществлять не только микропрограммно, но и программно.
При этом адрес перехода подается на вход процессорной секции через регистр команд, а
затем на регистр и шину адреса. Из регистра слова состояния выбирается необходимый
признак (с помощью мультиплексора) и подается на вход СС, причем предусмотрена
возможность проверять и знак, и инверсию знака (с помощью схемы ИСКЛЮЧАЮЩЕЕ
ИЛИ). Переход будет осуществлен в случае, если вход разрешения перехода (ССЕ)
установлен в состояние логической 1, и на вход СС подана логическая 1, если ССЕ=1 и
СС=0, то выполнится следующая микрокоманда, а если ССЕ=0, то независимо от
состояния входа СС будет осуществлен безусловный переход. Аналогично можно
тестировать не только флаги регистра слова состояния, но и флаг, выставляемый
контроллером прерываний.
Система прерываний.
Прерывания представляют собой средство изменения последовательности
выполнения команд и операций в ответ на внешние асинхронно происходящие события
(запросы на прерывание).
Система прерываний выполняет ряд функций:
•
•
•
организация вхождения в прерывающую программу;
организация приоритетного выбора между запросами, поступающими одновременно;
организация возврата в прерванную программу.
Реализация прерываний оказывает значительное воздействие на производительность
и гибкость системы.
Использование
микросхемы
КМ1804ВН1 позволяет реализовать схему
векторного приоритетного прерывания с возможностью наращивания до 16 аппаратных
прерываний. По другому такая схема носит название структуры системы прерываний с
несколькими линиями запроса или радиальной структуры. В этой структуре
предусмотрена своя линия запроса для каждого устройства. Структура с несколькими
линиями запроса позволяет уменьшить время ответа, так как
в ней устройство, пославшее запрос на прерывание, может
быть сразу же идентифицировано. Но т.к. в данной работе
прерывания обрабатываются на макро уровне (по заданию)
данная система не обладает минимальным временем ответа.
Это объясняется тем, что прерывания обрабатываются
только после завершения текущей команды.
11
Устройство
управления
прерываниями
КМ1804ВН1
Запрос на
прерывание
вектор
Устройство
1
Устройство
2
Устройство
3
Устройство
4
Устройство
5
Устройство
6
ЦП
Рис. 5. Система прерываний
Прерывания на макро уровне требуют меньше аппаратных затрат и меньшее
количество запоминаемой информации, необходимой для возврата в прерванную
программу.
Сигналы прерываний поступающие на входы INR7-INRO устройства управления
прерываниями, преобразуются в вектор (в простейшем случае это простая шифрация).
Полученный вектор поступает в ЦП.
Принцип работы системы прерываний:
При поступлении запроса на прерывание от периферийного устройства контроллер
формирует вектор прерывания и посылает запрос на прерывание в ЦП.
В дальнейшем происходит анализ вектора прерывания (его части), в результате чего
если выясняется, что данное прерывание должно обрабатываться на микро уровне – в
секвенсор подается запрос на прерывание и происходит дальнейшая его обработка.
Если же выясняется, что прерывание должно обрабатываться на макро уровне – в
секвенсор запрос на прерывание не подается. Обработка прерывания произойдет после
завершения выполнения текущей команды процессором.
12
Основная память ЭВМ.
Оперативная (или основная) память служит для хранения информации (данных,
программ, промежуточных и конечных результатов обработки). Поскольку шина адреса
32-разрядная, то максимальная ёмкость ОП 4Гслова. Структура ОП – многоблочная, т.е.
имеет в своем составе блоки фиксированной длины.
ОП делится на ОЗУ и ПЗУ. Ёмкость ОЗУ 32Мбайта. В качестве ПЗУ используется
микросхема FLASH, ёмкостью 128Кб с организацией 128Kx8. По заданию имеется блок
обнаружения и коррекции ошибок. Поэтому ОЗУ построено на SIMM модуле
динамической памяти (MCM40800S60 – фирма Motorola) c организацией 8Мх40 (32
разряда информационные, 7-контрольные, 1 разряд не используется). ПЗУ начинается с
нулевого адреса, затем идет ОЗУ. Для формирования временных диаграмм записи, чтения,
регенерации DRAM, а также для выбора ОЗУ-ПЗУ необходим контроллер памяти. В него
входит также схема блока контроля, которая будет рассмотрена ниже. Структурная схема
ОП изображена на рис. 4.
Для обеспечения нормальной работы ОЗУ и ПЗУ в состав ОП нужно включить
контроллер в котором реализованы следующие основные функции:
 Прием управляющих сигналов с ШУ и выполнение соответствующих действий.
 Дешифрацию поступающего адреса и определение физического местоположения
указанной ячейки памяти.
 Выработка мультиплексированного адреса для подачи на блок ЗУ.
 Формирование временных диаграмм работы ОЗУ для всех возможных режимов
(чтение, запись, регенерация).
 Формирование управляющих сигналов для ПЗУ.
адрес
данные
контроллер
данные
контроль
ные
MEMRQ
синхросигн
ал
RD/WR#
блок контроля
упр.
сигналы
упр.
сигналы
данные
биты
ОЗУ
ПЗУ
Рис. 6. Структура ОП
13
Система контроля памяти
Суть проблемы заключается в том, что при использовании в качестве ОЗУ
микросхем динамической памяти возможны ошибки в хранимых словах. Ошибки обычно
бывают двух видов - постоянные и типа «сбой». Постоянные ошибки характеризуются
тем, что содержимое одной, нескольких или всех адресуемых ячеек БИС заранее
определено - из них всегда считывается одна и та же информация. Например, из ячеек с
адресами, кратными некоторому числу, может считываться лог. 1, и попытка записи лог. 0
в эти ячейки не даёт желаемых результатов. Ошибки типа «сбой» связаны с разрядом
конденсаторов динамических элементов памяти из-за действия кратковременных
импульсов случайных помех по цепям питания или линиям управления, из-за пролёта
альфа-частиц через кристалл БИС и т.п. Ошибку типа «сбой» можно устранить повторной
записью в ту же ячейку считанного и откорректированного кода.
Для этих целей можно использовать блок контроля, использующий код Хэмминга.
Код Хэмминга позволяет исправлять одиночные ошибки (ошибки в одном разряде),
обнаруживать двойные и тройные ошибки.
Для реализации контроля и исправления ошибок памяти с использованием кода
Хэмминга используется специализированная микросхема фирмы IDT - IDT49C460E с
временем обнаружения и исправления ошибки 10 нс.
Алгоритм работы корректора следующий. При записи 32-разрядного слова в ОЗУ
корректор формирует 7-разрядный код Хэмминга, который также передаётся в
накопитель. В результате в адресуемой ячейке ОЗУ запоминается полезная информация
(32 бит) и вспомогательная (7 бит). При считывании слова из ячейки памяти оно в
неизменном виде поступает в корректор; туда же передаётся код Хэмминга, считанный из
той же ячейки.
Корректор анализирует полученную информацию. Если ошибок нет, то поступившее
из накопителя 32-разрядное слово без изменений передаётся в магистраль. Если имеется
одиночная ошибка в одном из считанных 32 разрядов, то эта ошибка исправляется «на
проходе» (но не в самом накопителе) и восстановленное слово передаётся в магистраль.
Одновременно с этим формируется сигнал Корректируемая ошибка, который в данной
схеме процессором игнорируется (выход ERR# не используется). Допустима также
одиночная ошибка в считанных контрольных разрядах, если нет ошибок в
информационных. Если в считанном 39-разрядном слове две или более ошибок, то оно не
исправляется, формируется сигнал Некорректируемая ошибка, и в контроллер
прерываний посылается запрос на прерывание наивысшего приоритета.
Описание системы ввода-вывода
СВВ служит для обмена данными между периферийными устройствами (ПУ) и ОП. Для
таких устройств, как накопители на магнитных дисках, лентах желательно чтобы обмен с
ОП происходил с достаточно большой скоростью. Поэтому для ЭВМ с магистральной
структурой предпочтительным будет ввод-вывод с ПДП.
Данный способ ввода-вывода освобождает ЦП от необходимости управлять обменом
данных и, следовательно, во время пересылки ЦП имеет возможность выполнять другие
задачи. Правда для этого команды ввода должны следовать в программе заранее до
потребности в данных, либо процесс инициировавший ввод должен быть отложен до
завершения ввода (в многозадачной операционной среде).
Для возможности сопряжения ЭВМ с несколькими ПУ разрабатываемый контроллер ПДП
должен иметь централизованную структуру и уметь обрабатывать запросы от ПУ.
14
Контроллеры ПУ обычно имеют несколько программно доступных регистров: команд,
адреса, числа слов. При обработке команды ввода-вывода ЦП записывает необходимые
данные в эти регистры, что побуждает контроллер ПУ выставить запрос на ПДП.
Контроллер ПДП, выявив запрос, выставляет сигнал подтверждения для данного ПУ, на
что контроллер ПУ по очереди выставляет на шину данных содержимое своих регистров
(происходит инициализация контроллера ПДП).
Далее происходит обмен под управлением контроллера ПДП и освобождение шины.
Число слов, передаваемых за один захват шины определяется быстродействием ПУ, но не
должно быть велико чтобы дать возможность процессору обращаться к памяти.
Большое значение при проектировании имеет выбор структуры канала разрабатываемого
контроллера ввода/вывода. Что касаемо данного проекта, то особой свободы здесь нет:
предполагается, что контроллер имеет селекторный канал.
Селекторный канал предназначается для монопольного обслуживания одного ПУ. При
работе с селекторным каналом ПУ после пуска операции остается связанным с каналом до
окончания цепи операций. Запросы на обслуживание от других ПУ, так же как и новые
команды пуска операций ввода-вывода от процессора, в это время не воспринимаются
каналом: до завершения цепи операций селекторный канал по отношению к процессору
представляется занятым устройством.
Управляющее слово выбирается селекторным каналом один раз в начале операции и
содержится до окончания всех предписанных действий в триггерных регистрах канала.
Необходимые изменения текущих параметров операции производятся быстро с помощью
соответствующих действий над содержимым триггерных регистров. Таким образом, все
средства селекторного канала монополизируются на время операции одним ПУ. Можно
считать что селекторный канал содержит только один подканал (комплекс средств,
выделенных для обслуживания одного ПУ), как это показано на рисунке 9.
Вследствие
отсутствия потерь
времени
на перезапоминание
текущих
параметров операции ввода-вывода селекторный канал обладает высокой степенью
готовности к обслуживанию пущенного им устройства и предназначается для работы с
быстродействующими устройствами, которые могут терять информацию вследствие
задержек в обслуживании (ЗУ на магнитных лентах, дисках и др.).
Рис. 7. Селекторный канал
Контроллер ПДП
Контроллер ПДП, имеющий централизованную структуру, должен обеспечивать
выполнение следующих функций:
1) Обнаружение запросов на ПДП от ПУ;
2) Возможность инициализации с шины данных начальными значениями: адреса и
числа слов;
3) Распознавание характера обмена: чтение или запись в ОП;
15
4) Поддержание диалога с ПУ во время обмена с целью выяснить готовность ПУ к
приёму или передаче данных;
5) Проверка возможности обращения к ОП;
6) Управление ОП во время обмена;
7) Информирование ЦП о завершении операции ввода-вывода.
Для построения контроллера целесообразно применить специализированную БИС
1804ВУ6, являющуюся генератором адреса ПДП (эта БИС имеет разрядность равную 8
бит, поэтому для получения 32-разрядного контроллера необходимо объединить 4-ре
микросхемы),
ПУ должны быть подключены по структуре с одной линией запроса и цепочкой
последовательного прохождения сигнала подтверждения.
Рис. 8. Способ подключения ПУ к контроллеру ПДП.
Выполнение операции ввода-вывода с ПДП будет происходить следующим образом
(на примере операции записи в ОП):
1) ЦП, получив команду ввода-вывода, записывает по адресу нужного ПУ параметры
ввода-вывода и делает пометку в ОП что данное ПУ занято;
2) ПУ, получив параметры ввода-вывода выставляет запрос на ПДП;
3) В свободном режиме контроллер ПДП непрерывно опрашивает вход запроса, и
выявив запрос на ПДП делает запрос на обращение к ОП (т.е. на захват шины);
4) Получив разрешение на захват шины, контроллер ПДП выставляет сигнал
подтверждения запроса;
5) Наиболее приоритетное ПУ, из выставивших запрос, прерывает распространение
сигнала подтверждения запроса, и по очереди выставляет на шину данных параметры
ввода-вывода;
6) Получив последние, контроллер ПДП дешифрирует команду
и начинает
опрашивать вход "Готовность ПУ";
7) ПУ, подготовив данные выставляет активный уровень сигнала на линию
"Готовность ПУ";
8) Контроллер ПДП, получив данный сигнал, делает запрос на обращение к ОП и,
получив разрешение, выставляет начальный адрес ОП, сигнал "Готов к обмену" и сигналы
управления памятью;
9) Получив последний сигнал, ПУ выставляет данные, и в этом же такте происходит
запись В ОП;
10) Происходит инкрементация адреса и декрементация счётчика числа слов,
проверка условия: "(Готовность ПУ) ИЛИ (DON)";
11) Если всё в порядке то продолжается обмен, до тех пор пока не будет определён
конец обмена (встроенными средствами 1804ВУ6) или не кончится подготовленный ПУ
блок данных;
12) Если условие "(Готовность ПУ) ИЛИ (DON)" даст отрицательный результат, то
необходимо: установить сигнал "Готов к обмену" в пассивное состояние, освободить
системную шину и выяснить причину такого результата:
16
a) ПУ не готово, обмен не завершен. Необходимо продолжить тестировать
условие "(Готовность ПУ) ИЛИ (DON)" и по получении положительного результата
продолжить работу. Если по прошествии определённого времени устройство всё ещё
не готово, то необходимо выставить сигнал "Завершение обмена" и запрос
прерывания ЦП.
b) Обмен завершен. Необходимо выставить сигнал "Завершение обмена" и
запрос прерывания ЦП.
Программа-обработчик прерываний по вводу-выводу по меткам в ОП
определяет самое приоритетное занятое ПУ, сбрасывает метку и читает регистр
состояния этого ПУ (определение успешного или аварийного завершения операции).
17
Блок синхронизации.
Блок синхронизации (БС) предназначен для обеспечения синхронной работы всех
узлов ЭВМ. В его задачи входит генерация синхропоследовательностей заданной формы и
длительности для ЦП, таймера, контроллеров, ОП и других устройств, входящих в состав
ЭВМ.
В
качестве
основы
для
построения
БС
можно
использовать
микропрограммируемый
тактовый генератор (например 1804ГГ1) . Это позволит
реализовать переменную длительность такта для ЦП, что позволит несколько повысить
его производительность.
Использование микросхемы КМ1804ГГ1 в качестве тактового генератора в составе
блока синхронизации дает целый ряд преимуществ.
Микросхема имеет стабилизированный с помощью внешнего кварцевого
резонатора генератор опорной частоты от 1 до 30 МГц, микропрограммируемую
длительность тактовых импульсов от 3 до 10 периодов опорной частоты, состояния
"работа", "останов", "ожидание", "шаговый режим". Данные характеристики позволяют
использовать эту микросхему для обеспечения синхронной работы всех узлов ЭВМ
Генератор
опорной
частоты
Микропрограммируемый
тактовый
генератор
Синхросигналы
для всех
узлов ЭВМ
КМ1804ГГ1
Рис. 9. Схема блока синхронизации.
Монитор
Монитор служит для представления итоговых данных, для постоянного
наблюдения за различными действиями вычислительной машины.
Монитор, как и всякое другое периферийное устройство подключается через
контроллер (видеоадаптер) к системной шине.
Также следует отметить, что монитор является пассивным устройством, которое не
выдает данные и управляющие сигналы, а просто отображает динамически
изменяющуюся информацию.
ШД
ША
Адаптер монитора
Монитор
Рис. 10. Схема подключения монитора.
18
Таймер
Большинство микроЭВМ содержит источник реального времени - часы и таймер.
Таймер предназначен для деления машинного времени на временные интервалы для
эффективного использования процессора при работе с периферийными устройствами. Он
обеспечивает совместную работу ЦП и ПУ в реальном масштабе времени, осуществляя
разбиения машинного времени на равные интервалы времени.
В качестве таймера можно использовать микросхему КР580ВИ53 предназначенную
для организации работы микропроцессорной системы в режиме реального времени.
С помощью таймера можно задавать определённые промежутки времени, по
истечении которых происходит прерывание. Особенное применение прерываний таймера
основанное на независимости работы микросхемы от процессора - регенерация
оперативных запоминающих устройств, т.е. например каждые ... мс таймер выдаёт запрос
на прерывание наивысшего приоритета, по наступлении которого производится
регенерация памяти
Клавиатура
Клавиатура является одним из основных устройств ввода, обеспечивающих
общение пользователя с ЭВМ. Она содержит контроллер клавиатуры, который
воспринимает каждое нажатие на клавишу и выдает последовательный скан-код. Скан-код
представляет собой идентификационный номер, присвоенный каждой клавише.
При поступлении скан-кода из порта вызывается прерывание
клавиатуры,
приоритетность которого выше всех остальных периферийных устройств. Процессор
моментально прекращает обработку текущей операции и выполняет процедуру,
анализирующую скан-код, который может содержать управляющий код, например:
"Ctrl- Alt- Delete" (прерывание от клавиатуры должно обрабатываться на микро уровне).
Для того, чтобы ЦП успевал обрабатывать все нажатия клавиш, контроллер
клавиатуры должен иметь буфер FIFO.
ШД
ША
Запрос на прерывание
Контроллер
клавиатуры
Клавиатура
Рис. 11. Схема подключения клавиатуры
19
Выводы:
В ходе выполнения работы мною была разработана структурная схема ЭВМ
удовлетворяющая исходным данным. Были приведены и описаны структурные схемы
основных составляющих узлов ЭВМ. Чтобы разработать функциональную схему
арифметического сопроцессора, мне пришлось изучить необходимую литературу, в
результате чего я познакомился с элементами методологии проектирования аппаратных
средств вычислительной техники.
Выполняя эту работу, я приобрел навыки разработки узлов ЭВМ на структурном,
функциональном и алгоритмическом уровнях.
Список литературы:
1. Каган.Б.М. Электронные вычислительные машины м системы: Учеб. Пособие для
вузов.-2-е изд., перераб. и доп.-М.:Энергоатомиздат,1985.-552.,ил.
2. Угрюмов Е.П. Проектирование элементов и узлов ЭВМ:Учеб. Пособие для спец. ЭВМ
вузов.-М.:Высш.шк.,1987.-318.:ил.
3. Гук М. Аппаратные средства IBM PC.Энциклопедия,2-е изд.-СПб.: Питер,2002.928с.:ил.
4. www.amd.com – Документация по 32-х разрядному умножителю Am29C323
5. www.idt.com – Документация по IDT49C402
20
Документ
Категория
Компьютеры и периферийные устройства
Просмотров
10
Размер файла
466 Кб
Теги
безлер
1/--страниц
Пожаловаться на содержимое документа