close

Вход

Забыли?

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

?

Клещенев

код для вставкиСкачать
Министерство Образования и Науки Российской Федерации
Федеральное Агентство по Образованию
Государственное образовательное учреждение
Высшего профессионального образования
Новосибирский Государственный Технический Университет
Кафедра ВТ
Курсовой проект
по дисциплине:
«Организация ЭВМ»
Группа:
Студент:
Преподаватель:
АМ-411
Клещенев М.И.
Гребенников В.Ф.
Новосибирск, 2007
Содержание
1. Введение .....................................................................................................................................3
2. Задание........................................................................................................................................3
2.1 Общие исходные данные: ...................................................................................................3
2.2 Индивидуальные данные: ...................................................................................................3
3. Разработка и описание структурной схемы ЭВМ ..................................................................4
3.1 Обобщенная структурная схема ЭВМ ...............................................................................4
3.2 Разработка структурной схемы ЦП ...................................................................................6
3.2.1 Микропрограммное устройство управления .............................................................6
3.2.1 Операционный блок ......................................................................................................7
3.3 Адресный сопроцессор .......................................................................................................8
3.4 Основная память ..................................................................................................................9
3.5 Система прерываний .........................................................................................................11
3.6 Блок синхронизации ..........................................................................................................12
3.7 Периферийные устройства ...............................................................................................13
3.7.1 Устройства ввода/вывода.........................................................................................13
3.7.2 Внешние ЗУ..................................................................................................................15
3.8 Система ввода/вывода .......................................................................................................16
3.9 Таймер ................................................................................................................................19
4. Разработка принципиальной схемы КЭШ ............................................................................20
5. Заключение...............................................................................................................................25
Список литературы ......................................................................................................................26
1. Введение
Целью курсового проектирования является углубление и закрепление
теоретических знаний, приобретение навыков разработки узлов ЭВМ на структурном,
функциональном и алгоритмическом уровнях.
Курсовой проект посвящен разработке структурной схемы гипотетической ЭВМ и
принципиальной схемы, указанного в задании, блока, входящего в состав этой ЭВМ.
2. Задание
2.1 Общие исходные данные:
 В состав ЭВМ входят следующие блоки:
 центральное процессорное устройство (ЦПУ);
 оперативная память (ОП);
 система прерывания программ (СПП);
 система ввода-вывода (СВВ);
 блок синхронизации (БС);
 таймер;
 монитор, клавиатура, мышь.
 жесткий диск
 Основные параметры ЭВМ:
 адресность ЭВМ: двухадресная;
 длина команды - переменная.
 Разрядность ЭВМ и минимальный объем оперативной памяти:
 разрядность – 32;
 ёмкость ОП – не менее 128Мбайт.
2.2 Индивидуальные данные:
 Структура ЭВМ – двухшинная.
 Сопроцессор – адресный.
 Оперативная память – страничная.
 Кэш: кэш команд, данных, TLB.
 Система прерываний – цепочечная на уровне команд.
 Ввод/вывод – ПДП.
Разрабатываемый блок: кэш.
3. Разработка и описание структурной схемы ЭВМ
Проектирование структуры заключается в определении состава ЭВМ и способов
взаимодействия, содержащихся в ней устройств.
3.1 Обобщенная структурная схема ЭВМ
ЭВМ с хранимой программой может быть определена как машина,
обрабатывающая данные в соответствии с заранее определенными правилами
(инструкциями), при этом программа (набор инструкций) и данные находятся в памяти
машины (рис. 1).
Для загрузки программы и данных в память, а также для вывода результатов
обработки из памяти необходим какой-либо способ связи с внешними объектами. Этой
цели служат устройства ввода-вывода (рис. 1).
При каждом обращении к памяти по определенному адресу центральный процессор
(ЦП), как правило, выполняет операцию чтения или записи одного слова памяти [1].
Периферийные устройства (ПУ) присоединяются с помощью блоков управления
(контроллеров) периферийными устройствами, осуществляющих согласование форматов
данных, используемых в ПУ с форматом принятом для передачи по общей шине.
Последний (формат данных) обычно соответствует машинному слову процессора и/или
информационной ширине магистрали.
Согласно заданию, ЭВМ построена на основе общей шины. В данном случае все
устройства вычислительной машины подключены к магистральной шине, служащей
единственным трактом для потоков команд, данных и управления (рис.1). Наличие общей
шины позволяет легко менять состав и конфигурацию машины. Благодаря этим свойствам
шинная архитектура получила широкое распространение в мини и микро ЭВМ. Вместе с
тем, именно с шиной связан и основной недостаток архитектуры: в каждый момент
передавать информацию по шине может только одно устройство. Основную нагрузку на
шину создают обмены между процессором и памятью, связанные с извлечением из памяти
команд и данных и записью в память результатов вычислений.
Ниже представлена структурная схема ЭВМ. Особенностью данной ЭВМ является
ее двухшинная организация (по заданию). Шины данных и адреса объединены, поэтому
адрес и данные могут передаваться только в разное время (например данные по фронту
синхросигнала, а адрес по срезу).
Блок синхронизации
Центральный
Процессор
На синхровходы
др. устрйств
intA
Контроллер
ПДП
ОП
ПУ
ПУ
intR
АВ/DB
СВ
Таймер
Контроллер
устройств ввода
Мышь
Клавиатура
Дисковый
контроллер(ПДП)
Жесткий
диск
НГМД
Видеоадаптер
Монитор
Рис. 1 Структурная схема ЭВМ
Примечание к рис.1:
AB/DB – шина для передачи данных и адреса, разрядность равна принятой разрядности в
данной ЭВМ (32 разряда).
CB – группа линий управления, включающая (основные линии):
SYNC – синхронизация;
DIN – строб входной информации;
DOUT – строб выходной информации;
BS7 – выбор периферийного устройства;
RPLY – ответ;
Управление прерываниями:
INTR – линия запроса на прерывание
INTA – линия разрешения прерывания
3.2 Разработка структурной схемы ЦП
При создании структурной схемы ЦП поможет понимание принципа
микропрограммного управления, который заключается в хранении управляющих слов,
выполняющих элементарные действия в течении цикла, и выборки их с помощью
секвенсора (SEQ).
Таким образом, МУУ хранит в микропрограммной памяти (МПП) и выбирает
управляющие слова (т.е. МК) из МПП, передаёт их в качестве управляющих слов ОБ и
другим устройствам (например, блоку синхронизации). Принимая управляющие слова,
устройствами выполняются соответствующие инструкции.
Работа с ОП осуществляется через ОБ. ОБ вычисляет адрес ячейки для
чтения/записи и принимает/передаёт данные из/в ОП. ОБ может принимать/передавать
данные не только из/в ОП, но и с/в внешних устройств.
3.2.1 Микропрограммное устройство управления
Устройство управления реализует управления ходом вычислительного процесса,
обеспечивая автоматическое выполнение команд программы. Процесс выполнения
программы в ВМ представляет собой последовательность машинных циклов.
Этапы цикла:
1. Выборка команды из памяти
2. Формирование адреса следующей команды
3. Формирование исполнительного адреса операндов
4. Выборка операндов
5. Исполнение операции
На рис. 2 представлена обобщенная структура УУ
РК
КОп
СА
Адрес
МПА
УПП
Сигналы
управления
Управляющая часть УУ
ОПУУ
РгА
СК
Адресная часть УУ
Рис. 2 Обобщенная структура устройства управления
Выбрано микропрограммное УУ. Отличием его от УУ на МПА жесткой логикой в
том, что в нем хранение микрокоманд осуществляется в виде кодов в специализированном
запоминающем устройстве – памяти микропрограмм. Каждой команде ВМ в этом ЗУ в
явной форме соответствует микропрограмма. Достоинство – возможность
перепрограммирования, дешевизна. Недостаток – относительно низкое быстродействие
КОП
Адрес
Флаги
ПНА
Сиквенсор
МПП
Рг МКК
МО
Адрес
Дешифратор
микрокоманды
С0 С1
Сm
Сигналы управления
Рис. 3 Микропрограммный автомат с программируемой логикой
Код операции из регистра команд поступает на ПНА. Преобразованный адрес с
ПНА идет на секвенсор. Секвенсор выбирает источник адреса и выдает его на вход МПП.
На выходах последней появляется микрокоманда и фиксируется в регистре микрокоманд.
В момент, когда микрокоманда начинает выполняться, секвенсор формирует адрес
следующей микрокоманды.
На границе инструкций контроллер прерываний при активном INT выдает
инструкцию вызова прерываний. Далее выполняется микропроцедура обработки
прерывания, которая сохраняет словосостояние процессора, активирует INTA, получат
вектор процессора, выполняет обработчик.
3.2.1 Операционный блок
ОБ выполняет арифметические, логические и сдвиговые операции. Также в его
задачи входит формирование адреса следующей микрокоманды и формирование
признаков результата операции.
ОБ состоит из АЛУ и регистрового файла – это необходимый минимум. Также ОБ
может содержать дополнительные устройства для ускорения вычислений, например
параллельный умножитель и дополнительные запоминающие устройства (регистры
адреса, состояния и т.д.) для внутреннего хранения данных и для стабилизации работы
(«гонки» сигналов).
DB/AB
CB
КЭШ команд
КЭШ данных
Рг К
Рг Д вх
Am29334
(регистровый файл)
ДНА
Am29331
(секвенсер)
Адресный
сопроцессор
Am29332
(АЛУ)
МПП
Рг МК
Рг Д/А вых
Рис. 4. Структурная схема процессора
Для непосредственной реализации ЦП в качестве секвенсора используется Am29331,
в качестве АЛУ Am29332, в качестве регистрового файла Am29334.
Аm29332, используемая в качестве ОБ, содержит в своём составе приоритетный
шифратор и групповой 64-разрядный сдвигатель, позволяющий за 1 такт выполнять все
виды сдвигов на любое число разрядов, вследствие чего не нужно реализовывать логику
сдвигов отдульно. Эти устройства позволяют выполнять арифметические операции над
числами с плавающей точкой.
АЛУ данной БИС выполняет также операции двоично-десятичной арифметики.В
структуру Am29332 включен блок Q-регистра (О-сдвигатель и Q-регистр). Это позволяет
поддерживать выполнение: операции умножения двух 32-разрядных чисел по
модифицированному алгоритму Бута (в каждом такте сдвиг вправо на 2 разряда), и
деления по алгоритму "без восстановления остатка". Наличие поддержки операций
умножения и деления позволяет сэкономить на арифметическом сопроцессоре.
3.3 Адресный сопроцессор
Адресный сопроцессор служит для вычисления адреса. Его использование
позволяет сократить количество тактов, необходимых для выполнения команды. В
отличие от основного процессора, адресный работает только с целочисленными данными
(адресами).
Адресный процессор работает параллельно основному, т.е. основной процессор
вбирает и выполняет свои команды, адресный – свои (реально работа происходит
несколько по-другому: команда, поступившая в регистр команд обрабатывается сразу
обоими процессорами, но по-разному, например, при выполнении команд пересылки
регистр-регистр основной процессор занимается непосредственно пересылкой, а для
адресного эта команда означает вычислить следующий адрес). Такая работа возможна,
если адресный процессор содержит свое МУУ и ОБ.
Работой адресного сопроцессора управляет МУУ основного процессора. Это
необходимо, например, в случаях команд условного перехода, когда адресный
сопроцессор вынужден ждать появления истинных флагов.
Основные режимы работы адресного сопроцессора это вычисление адреса
следующей команды и генерация адресов при пакетном чтении (записи), например, при
обновлении КЭШа.
3.4 Основная память
Основная память (ОП) ЭВМ должна содержать:
- оперативную (ОЗУ) память для временного хранения данных;
- постоянную (ПЗУ) память для неизменяемых и энергонезависимых данных: хранение
программы начальной инициализации системы, каких-либо констант и т.п.
Соответственно для управления выбором типа памяти (дешифратор выбора типа
памяти), управлением чтением/записью, а также управление выводом данных в общую
шину в структуру ОП необходимо ввести контроллер ОП. В данной структуре основными
сигналами управления памятью есть сигналы: R/ W - чтение / запись; OE - разрешение
вывода данных на общую шину и сигнал разрешения работы памяти MEM .
При разработке структурной схемы памяти необходимо учесть, что сигнал R/ W необходим только для блока ОЗУ, т.к. при выборе блока ПЗУ операции по записи данных
не возможны.
В соответствии с заданием в структурную схему добавляется один из типов КЭШа,
называемый буфером быстрого преобразования адреса (TLB). Он сохраняет
преобразованные адреса, которые получились в результате трансляции виртуального
адреса в физический. Вероятность нахождения адреса в буфере близка к 99%. Такая
буферизация очень выгодна, так как если центральный процессор не найдет адрес в TLB,
то ему придется вычислять этот адрес. Для разрешения одного адреса процессор должен
выполнить три такта. Умножив три такта на число адресов, к которым процессор должен
обратиться, становится ясно, почему вычисление адресов существенно замедляет
процессор. Если же адрес будет существовать в TLB, то он будет разрешен за один такт.
Таким образом, использование буфера значительно увеличивает производительность.
В основной памяти хранятся 32-х разрядные слова, что означает, что организация
блоков памяти должна быть [адресная_емкость] х 32 бита. Т.о. блок ОЗУ будет построена
на ИМС памяти типа SRAM 4М x 32 (емкость = 16Mb), блок ПЗУ на ИМС типа E2PROM
32K x 32 бита (емкость = 128Kb).
Исходя из выше сказанного, возможно построение структурной схемы основной
памяти (рис. 5).
AB/DB
СB
R/ W , OE
Контроллер ОП
MEM
R/ W , OE
ОЗУ
Адрес
Адрес
Буфер TLB
OE
ПЗУ
Данные
Рис. 5. Структурная схема основной памяти
В данной 32-х разрядной ЭВМ ЦП позволяет адресовать 4096 Mb ячеек памяти.
По заданию организация ОП страничная. Страничная организация памяти
используется для реализации механизма виртуальной памяти, позволяющей реализовать
механизм динамического распределения памяти [6]. Страничный механизм это один из
способов преобразования виртуального адреса (ВА) в физический адрес (ФА).
Схема страничного преобразования приведена на рис. 6.
В системах со страничной организацией основная и внешняя память делятся на
страницы фиксированной длины. Каждой программе (пользователю) предоставляется
некоторая часть адресного пространства, которая может превышать основную память
компьютера, и которая ограничена только возможностями адресации, заложенными в
системе команд. Эта часть адресного пространства называется виртуальной памятью
пользователя и выражается в целом количестве страниц. В ОП содержит таблица страниц
для текущей программы. Табличная страница содержит дескрипторы каждой страницы
программы. В дескрипторе содержится физический адрес страницы и информация,
определяющая права доступа (защита) и состояние страницы.
Виртуальный адрес
31
12 11
0
PAGE
OFFSET
Страничная
таблицы n-й
программы
….
БР
Дескриптор страницы
31
12 11
0
ФА страницы
Сост. и защита
стр.
Физический адрес
31
12 11
ФА страницы
OFFSET
0
Рис.6. Схема преобразования ВА в ФА при страничной организации памяти
Каждое слово в виртуальной памяти пользователя определяется виртуальным
адресом, состоящим из двух частей:
 старшие 20-ть разрядов адреса (PAGE) рассматриваются как номер страницы,
представляющей собой смещение относительно базового регистра (БР) страничной
таблицы программы;
 младшие 12-ть являются номером слова (OFFSET) (или байта) внутри страницы.
Преобразование ВА в ФА происходит следующим образом: по номеру страницы из ВА
относительно БР считывается ее дескриптор из страничной таблицы, из которого берется
физический адрес страницы. К физическому адресу (20 бит) дескриптора добавляется
номер слова из ВА (OFFSET – 12 бит). Полученный адрес является ФА.
Так как страничная таблица хранится в ОП, то страничный механизм требует
одного дополнительного обращения к ОП, для преобразования адреса.
Стоит отметить, что для поддержания страничного механизма требуются
дополнительные программно-аппаратные средства. В современных процессорах имеется
внутренняя поддержка этого механизма. Однако в нашем случае необходимо внешнее
устройство управления памятью (УУП), которое включено в состав контроллера ОП.
Так как страничный механизм требует дополнительного обращения к памяти при
преобразовании адресов, то в состав ОП вводится адресный КЭШ (буфер TLB), хранящий
32 физических адреса интенсивно использующихся ЦП страниц.
3.5 Система прерываний
Прерывания обеспечивают реакцию процессора на события, происходящие
асинхронно по отношению к исполняемому программному коду.
Для разработки системы прерываний принимается цепочечная структура (рис. 7).
Имеется одна общая для всех устройств линия запроса на прерывание. Получив запрос,
процессор посылает сигнал, подтверждающий получение запроса. Сигнал подтверждения
прерывания проходит от одного устройства к другому до тех пор, пока не достигнет
устройства, пославшего запрос на прерывание. Тогда это устройство подает свой
идентифицирующий номер (вектор) на шину данных, после принятия, которого
вызывается программа, обрабатывающая прерывание данного устройства. Для такой
структуры характерны более низкие затраты программных и аппаратных средств, однако
распределение приоритетов устройств, здесь фиксировано. Кроме того, сигнал INTA
(Interrupt Acknowledge – Подтверждение прерывания) проходит через устройства с
некоторой временной задержкой.
Необходимо помнить, что при запоминании и восстановлении состояния
процессора, все прерывания запрещены. Устройство, выставившее запрос, разрывает
линию подтверждения (INTA).
AB/DB
ЦП
CB
Запрос на прерывание
INT
INT
INTA
подтверждение
прерывания
INT
У №1
INT
У №2
…
Рис. 7. Последовательная структура прерываний.
У №N
1.
2.
3.
4.
5.
Алгоритм выполнения прерывания:
Распознавание запроса на прерывание. На границе инструкций процессор проверяет
состояние линии запросов на прерывание (INT). Если неактивна, то обрабатывается
следующая инструкция.
Запоминание состояния. При обработке прерываний процессор сохраняет в стеке
словосостояние (регистр флагов и указатель следующего адреса).
Подтверждение прерывания. Процессор подает сигнал подтверждения и устройство,
подавшее запрос на прерывание выставляет вектор/адрес на шину данных.
Вызов подпрограммы обработки прерывания. Процессор сбрасывает флаг разрешения
прерываний, по вектору определяет адрес обработчика и выполняет его.
Восстановление и возврат. Восстанавливается словосостояние, устанавливается флаг
разрешения прерываний.
Основная программа
Запрос на
прерывание
Подпрограмма обработки прерываний
n-1
m
n
m+1
n+1
m+2
n+2
m+3
m+4
Рис. 8. Последовательность выполнения машинных команд при обработке прерываний
3.6 Блок синхронизации
Блок синхронизации состоит из двух частей:
- устройства синхронизации;
- схемы начального сброса;
CB
«Сброс»
Схема сброса
Устройство
синхронизации
в SEQMK
К устройствам,
требующим
синхросигнал
Блок синхронизации
Рис. 9. Структурная схема блока синхронизации
Устройство синхронизации (УС) предназначается для выработки импульсных
последовательностей согласующихся по времени работу узлов и устройств в подсистеме
или системе в аппаратных средствах.
C1
C2
Генератор
Формирователь
опорных
сигналов
.
.
.
C1
Схемы
размножения
CN
Рис. 10. Структурная схема устройства синхронизации
.
.
.
CN
Генератор генерирует последовательность прямоугольных импульсов с
определённой частотой. Формирователь опорных сигнал (обычно используются делители
частоты) преобразовывает последовательность в системные синхросигналы. Схема
размножения увеличивает мощность синхросигналов. Нельзя допустить расфазировку
синхросигналов, что вызовет сбои в аппаратуре. Для этого необходимо использовать ИМС
размножения с очень малой расфазировкой CLK.
В качестве генератора, выдающего синхросигнал CLK, взята микросхема К1804ГГ1.
К1804ГГ1 – системный тактовый генератор (ТГ), предназначен для применения в составе
блоков синхронизации центральных процессоров микро-ЭВМ и других вычислительных
устройств в качестве задающего тактового генератора (ТГ). Микросхема ТГ содержит
внутренний генератор опорной синхропоследовательности: опорная частота (до 30 МГц)
задается внешним кварцевым резонатором. Данный генератор позволяет формировать
синхросигнал с различной длительностью сигнала высокого и низкого уровней [5], чем
достигается повышение производительности системы в общем.
Схема начального сброса нужна для того чтобы, при включении питания,
устанавливать секвенсор по нулевому адресу. Соответственно, по этому адресу в МПП
должна хранится МК инициализации системы, т.е. все выходы RG-ов и устройств
перевести в состояние высокого импеданса, что бы ни вызвать конфликтов на шинах.
Схема начальной установки может быть выполнена с применением микросхемы
MC34064, фирмы MOTOROLA.
Разработка блока синхронизации и схемы начального сброса производилась в ходе
курсового проекта по дисциплине «схемотехника»
3.7 Периферийные устройства
3.7.1 Устройства ввода/вывода
Устройства ввода позволяют вводить в машину данные и программы, а также
вносить исправления в программы и данные, хранящиеся в памяти ЭВМ. Устройства
вывода служат для вывода из ЭВМ результатов обработки данных, их регистрации и
отображения.
Монитор
Для отображения производимых действий, хранящихся данных и т.д. используется
монитор. Монитор способен выводить текстовую и графическую информации ЭВМ.
Монитор как и всякое другое периферийное устройство подключается через контроллер
(видеоадаптер) к системной шине. Следует отметить, что монитор является пассивным
устройством, которое не выдает данные и управляющие сигналы, а просто отображает
информацию динамически изменяющуюся информацию, которая хранится по
определенным адресам в ОП. Обычно в памяти хранится несколько "экранов" (страниц),
вывод же производится с текущей. Это предусматривает применение графического
ускорения, т.е. массивное изменение информации на текущей странице вызовет мерцание
на экране и долгую перерисовку особенно графических объектов. Этого можно
избежать заранее подготовив дополнительную страницу видеоизображения и присвоить
ей номер текущей видеостраницы. Вывод текущей видеостраницы производится каждые
17мс (60 Hz) при этом информация считывается в ЗУ видеоадаптера определённой
ёмкости (объём ЗУ видеоконтроллера определяет разрешение изображения).
Отображение информации ЗУ видеоадаптера происходит независимо от процессора. Ниже
приводится структурная схема включения монитора (рис. 11).
AB/DB
Контроллер монитора
Монитор
Рис. 11. Структурная схема включения монитора
К монитору
RGB
Video
Интерфейс
монитора
Контроллер
ЭЛТ
Контроллер
атрибутов
(RAMDAC)
Видеопамять
Внутренняя шина
Расширение
BIOS
Внешний
интерфейс
Графический
процессор
с шины AB/DB
Рис. 12. Структурная схема контроллера монитора
Контроллер монитора:
Поскольку контроллер предназначен для подключения монитора, его обязательным
элементом будет контроллер ЭЛТ. В задач этого контроллера входит согласованное
формирование сигналов сканирования видеопамяти (адрес и стробы чтения) и сигналов
вертикальной и горизонтальной синхронизации монитора.
Видеопамять является специальной областью памяти, из которой контроллер ЭЛТ,
организует циклическое чтение содержимого для регенерации изображения.
Контроллер атрибутов управляет трактовкой цветовой информации, хранящейся в
видеопамяти. В текстовом режиме он обрабатывает информацию из байт атрибутов
знакомест, в графическом – из бит текущего выводимого пикселя. Контроллер атрибутов
позволяет увязать объем хранимой цветовой информации с возможностями монитора.
Графический контроллер является средством повышения производительности
программного построения изображений, точнее их образов, в видеопамяти.
Внутренняя шина адаптера предназначена для высокопроизводительного обмена
данными между видеопамятью, графическим акселератором и внешним интерфейсом.
Блок внешнего интерфейса связывает адаптер с общей шиной разрабатываемой
ЭВМ.
Блок интерфейса монитора формирует выходные сигналы соответствующего типа
(RGB-TTL, RGB-Analog, S-Video или композитный видео). Этот же блок отвечает и за
диалог с монитором: чтение бит идентификации VGA-монитора.
Модуль расширения BIOS (Video BIOS) хранит код драйверов видеосервиса и
таблицы знакогенераторов [7].
Клавиатура
Клавиатура является одним из основных устройств ввода, обеспечивающих
интерактивное общение пользователя с ЭВМ. Она содержит микропроцессор (контроллер
клавиатуры), который воспринимает каждое нажатие на клавишу и выдает
последовательный скан-код. Скан-код - это однобайтовое число, младшие 7 бит которого
представляют идентификационный номер, присвоенный каждой клавише, а старший 8-ой
бит кода говорит о том, была ли нажата клавиша (бит = 1, код нажатия) или освобождена
(бит = 0, код освобождения). При поступлении скан-кода из порта вызывается
прерывание. Приоритет клавиатуры выше всех приоритетов остальных периферийных
устройств.
Процессор прекращает выполнять текущую команду и выполняет процедуру,
анализирующую скан-код.
AB/DB
Подтверждение
прерывания
(INTA)
Контроллер клавиатуры
Запрос на
прерывание
(INTR)
Клавиатура
Рис. 13. Структурная схема включения клавиатуры
Для того, чтобы ЦП успевал обрабатывать все нажатия клавиш, контроллер
клавиатуры должен иметь буфер FIFO. Он занимает непрерывную, постоянную область
адресов памяти. Два указателя хранят позиции головы и хвоста строки символов,
находящихся в буфере в текущий момент. Новые нажатия клавиш сохраняются в
позициях, следующих за хвостом, и соответственно обновляют указатель хвоста буфера.
Считывание же происходит по указателю головы строки символов. Такая конструкция
позволяет легко очищать буфер, для этого надо установить значение указателя головы
значению указателя хвоста.
Мышь
Мышь – специальное устройство ввода, которое обычно служит для управления
курсором, представленном на экране монитора, обеспечивая таким образом
взаимодействие с графическим интерфейсом пользователя. Соединение мыши к
системной шиной также осуществляется через контроллер. Схема подключения мыши ни
чем не отличается от схемы подключения клавиатуры. Контроллер мыши формирует
прерывания по нажатию кнопок мыши и по перемещению самой мыши. Текущие
координаты мыши хранятся в ОП. При перемещение мыши координаты вычисляются с
использованием хранящихся в памяти старых координат и смещения мыши.
3.7.2 Внешние ЗУ
Внешняя память состоит из нескольких ВЗУ, в качестве которых используются,
главным образом, электромеханические ЗУ (винчестеры). Внешние ЗУ являются
устройствами с произвольным обращением, допускающим многократное считывание
информации и запись информации на место ранее записанной [2].
Как и было сказано выше периферийные устройства (ПУ) присоединяются с
помощью блоков управления (контроллеров) периферийными устройствами,
осуществляющих согласование форматов данных, используемых в ПУ с форматом
принятом для передачи по общей шине.
Однако такой способ обмена мало подходит для ПУ с поблочной передачей данных
(ЗУ на дисках, лентах и некоторые другие ПУ). В этом случае применяют прямой доступ к
памяти и контроллеры ПДП [2].
В данной работе используется метод ПДП «захват цикла», т.е. устройство,
осуществляющее ПДП, отнимает для этой цели у ЦП цикл памяти. В процессе
выполнения пересылок с ПДП процессор продолжает выполнять программу (не
блокируется), т.е. выполнение программы и пересылка с ПДП совмещаются во времени.
Если цикл памяти нужен одновременно и процессору, и устройству, осуществляющему
пересылку с ПДП, то приоритет отдается последнему, а ЦП ожидает окончания цикла
ПДП.
CB
AB/DB
Разрешение
ПДП
Запрос ПДП
Контроллер ПДП
Винчестер
Рис.14. Структурная схема включения ВЗУ типа «винчестер».
3.8 Система ввода/вывода
По заданию необходимо использовать ввод-вывод с прямым доступом к памяти
(ПДП). Данный способ организации ввода-вывода подразумевает использование
контроллера прямого доступа к памяти (КПДП).
В режиме ПДП обмен между памятью и ПУ производится без участия процессора. В
обычном режиме пересылка данных между памятью и ПУ требует вначале приема данных
в процессор, а затем выдачи их приемнику, что снижает темп передачи. В режиме ПДП
процессор отключается от системных шин и передает управление обменом КПДП, что
увеличивает темп передачи данных [8]. При ПДП данные не проходят через процессор, и
передача слова производится за один цикл (тракт передачи данных непосредственно
связывает ПУ и ОП) ПДП особенно эффективен при передачах блоков данных в высоком
темпе (например, при обмене данными между внешней памятью и ОП). При ПДП
содержимое рабочих регистров МП не нарушается. ПДП предоставляется по завершению
текущего машинного цикла.
Возможны 2 вида ПДП:
1. С одиночными передачами (с захватом цикла системной шины)
В этом случае передачи слов в режиме ПДП перемежаются с выполнением
программы, и для передач ПДП выделяются отдельные такты машинных
циклов, в которых процессор не использует системные шины. Каждый
командный цикл начинается с машинного цикла – выборки команды. В этом
машинном цикле есть такт декодирования принятой процессором команды, в
котором системные шины не используются. На это время системные шины
можно отдать для ПДП и передать одно слово. Но в этом режиме сам обмен
ПДП будет не быстрым, темп обмена нерегулярен, т.к. длительности циклов
различных команд различны, и, кроме того, ПДП может и замедлить
выполнение программы, если цикл ПДП не уложится в интервал,
соответствующий такту процессора.
2. С блочными передачами (с блокировкой ЦП).
В этом случае работа процессора останавливается на все время передачи
блока данных. При данном виде ПДП скорость обмена ограничивается
длительностью циклов запоминающих устройств (ЗУ), быстродействием
самого КПДП и скоростью выдачи/приема данных ПУ.
Взаимодействие блоков микропроцессорной системы при ПДП показано на рис. 15.
ЦП выполняет операцию программирования КПДП, настраивая его на определенный
режим работы, и может читать состояние контроллера.
ЦП
Программирование
Чтение состояния
КПДП
Управление
Управление
ОЗУ
Данные
ПУ
Рис.15. Взаимодействие устройств микропроцессорной системы при ПДП
Функции контроллера ПДП
1. Управление системными шинами (опрос, захват, высвобождение).
2. Формирования адреса ОЗУ и управление адресными линиями.
3. Управление пересылкой данных (необходимо устанавливать память в режим
записи или чтения).
4. Подсчет количества переданных единиц информации.
5. Определение момента окончания процедуры обмена.
6. Управление режимом ПДП (направление передачи, способ определения конца
обмена и т.д.).
Для возможности сопряжения ЭВМ с несколькими ПУ контроллер ПДП должен
иметь централизованную структуру и уметь обрабатывать запросы от ПУ [1].
Контроллеры ПУ обычно имеют несколько программно доступных регистров:
команд, адреса, числа слов.
В качестве примера КПДП возьмем БИС Intel 8237A (К580ВТ57), структура
которой показана на рис.16.
В каждом из каналов контроллера размещено по пять регистров, а именно: 2
регистра адреса (базовый РАi.б и текущий РАi.т), 2 регистра счета слов (базовый РСi.б и
текущий РСi.т) и регистр режима РРi.
При программировании в оба РА загружается одно и то же значение адреса, а в оба
РС – одно и то же значение размера блока. При ПДП меняются состояния текущих
регистров адреса и счета слов. Оба они работают в режиме счетчиков и при передаче
очередного слова регистр адреса инкрементируется или декрементируется (в зависимости
от программирования контроллера), а регистр счета слов декрементируется. Когда РС
дойдет до нулевого состояния, выработается сигнал конца счета. Этим заканчивается
режим блочного обмена.
Регистр режима (РР) позволяет настраивать: режим работы контроллера (по
требованию, одиночные передачи, блочные передачи, каскадированная схема); тип
передач (контроль, запись, чтение, запрещено); произвести выбор канала; направление
счета регистра адреса.
Регистр управления (РУ) программируется процессором, сбрасывается по сигналу
RST# и позволяет: настроить полярность линий DACK и DRQ; установить формат записи
(удлиненная, обычная); установить вид приоритета фиксированный, кольцевой).
Регистр состояния (РС) содержит информацию о текущем состоянии контроллера
и может читаться процессором. РС позволяет определить, какие каналы закончили ПДП и
какие требуют его.
Регистр масок (РМ) содержит 4 бита, соответствующие 4-м каналам, при
установке бита запрещается действие входного запроса DRQ.
Регистр запросов (РЗ) позволяет контроллеру реагировать на запросы ПДП,
исходящие от программ. Каждый канал имеет свой бит, биты немаскируемы, но
подчиняются требованиям приоритетности.
Временный регистр (ВР) используется при передачах типа “память-память” для
временного хранения данных и всегда содержит информацию, переданную в предыдущей
операции.
LDB
Блок управления
Сигналы
Управления
(связи с ЦП,
ОЗУ и ВУ)
РС0.б
РУ
.
.
.
РА0.т
РС
РМ
РА0.б
РС0.т
РЗ
DACK0
РР0
…
ВР
DRQ0
Канал 3
РА3.б
DB
РС3.б
РА3.т
БД
РС3.т
DRQ3
DACK3
РР3
Рис.16. Структура КПДП
В работе КПДП можно выделить 2 фазы: простоя и активную. В фазе простоя
контроллер находится, когда на его входах нет запросов ПДП. В этой фазе контроллер
может быть запрограммирован с помощью процессора. Состояние программируемости
продолжается и после начала действия ПДП, до момента, когда контроллер запросил
захват шины (сигнал HRQ), но еще не получил от процессора ответа (HLDA) о
предоставлении ПДП. При простое контроллер постоянно (в каждом такте) проверяет
входные линии запросов DRQ (не поступил ли запрос от ПУ) и CS# (не обращается ли
процессор к регистрам контроллера). В последнем случае линии адреса контроллера
выбирают регистры, а по стробам IOW# и IOR# производится запись или чтение.
После поступления сигнала HLDA, когда процессор освободил шины системы,
начинаются рабочие состояния контроллера. Они проходят в активной фазе и, если
требуется, вводятся такты ожидания с учетом сигнала готовности/неготовности READY
участников обмена (входного сигнала контроллера). Для передачи “ПУ->Память”
генерируются пары одновременных сигналов IOR# и MEMW# для передач “память ->
ПУ” – пары IOW# и MEMR#.
Запрос незамаскированного канала порождает запрос прерывания HRQ
для
процессора, реализующего один из 4-х вариантов ПДП, указанными битами регистра
режима.
Для увеличения числа каналов ПДП несколько контроллеров могут объединяться в
многоуровневую схему с подключением линий HRQ и HLDA контроллеров следующего
яруса к входам DRQ и DACK предыдущего.
Запросы контроллеров второго яруса распространяются через схемы приоритета
первого яруса. Контроллер первого яруса именно для этого и используется, он не
оперирует адресами и другими управляющими сигналами. Его роль состоит в принятии
сигналов DRQ и DACK, выработке HRQ и принятии HLDA.
Обязательным является реакция всех устройств, работающих на системных шинах,
на сигнал AEN, который говорит о начале ПДП. В противном случае неизвестно что будет
передаваться.
3.9 Таймер
Таймер предназначен для деления машинного времени на временные интервалы,
для эффективного использования процессора при работе с периферийными устройствами.
Он обеспечивает совместную работу ЦП и ПУ в реальном масштабе времени,
осуществляя разбиения машинного времени на равные интервалы времени.
Назначение таймера:
 генерация прерываний от системных часов;
 генерация запросов на регенерацию памяти;
 генерация звуковых сигналов (PC Speaker)
В состав таймера входят схемы, необходимые для:
 запроса и получения канала;
 формирования вектора прерывания;
В качестве таймера в ЭВМ используется аналог микросхемы 580ВИ53 трехканальное программируемое устройство, предназначенное для организации работы
микропроцессорных систем в режиме реального времени. Таймер формирует сигналы с
различными временными параметрами.
Программируемый таймер реализован в виде трех независимых 16-разрядных
каналов с общей схемой управления. Каждый канал может работать в шести режимах.
Программирование режимов работы каналов осуществляется индивидуально и в
произвольном порядке путем ввода управляющих слов в регистры режимов каналов, а в
счетчики - запрограммированного числа байтов.
Управляющими сигналами для таймера являются, сигналы каналов, разрешающие
или запрещающие счет, сигналы выбора каналов, а также входы write/read и вход выбора
микросхемы. Максимальное значение счета: в двоичном коде 216; в двоично-десятичном
коде 104, а частота синхронизации каналов 0-2,5 МГц.
AB/DB
CB
Подтверждение
прерывания (INTA)
Таймер
Запрос на прерывание
(INTR)
Рис. 17. Структурная схема включения таймера
4. Разработка принципиальной схемы КЭШ
Для того чтобы разработать принципиальную схему КЭШ-команд и КЭШ-данных,
необходимо рассмотреть его назначение, состав и принцип работы.
Кэш-память (Cash Memory) – сверхоперативная память (СОЗУ), является буфером
между ОП и его «клиентами» - процессором и другими абонентами шины. Кэш-память не
является самостоятельным хранилищем; информация в ней неадресуема клиентами
подсистемы памяти, присутствие кэша для них «прозрачно». Кэш хранит копии блоков
данных тех областей ОП, к которым происходили последние обращения, и весьма
вероятное последующие обращение к тем же данным будет обслужено кэш-памятью
существенно быстрее, чем ОП. От эффективности алгоритма кэширования зависит
вероятность нахождения затребованных данных в кэш-памяти и, следовательно, выигрыш
в производительности памяти и ЭВМ в целом.
Кэш не может хранить копию всей ОП, поскольку его объем во много раз меньше
объема основной памяти. Он хранит лишь ограниченное количество блоков данных и
каталог (cash directory) – список их текущего соответствия областям основной памяти.
При каждом обращении к кэшируемой памяти контроллер кэш-памяти по каталогу
проверяет, есть ли действительная копия затребованных данных в кэше. Если она там
есть, то это случай кэш-попадания (cash -hit), и обращение за данными происходит только
к кэш-памяти. Если действительной копии там нет, то это случай кэш-промаха (cash-miss),
и данные берутся из ОП, передаются на общую шину и помещаются в кэш. В
соответствии с алгоритмом кэширования блок данных, считанный из ОП при
определенных условиях, заместит один из блоков кэша. Поиск блока в списке должен
происходить достаточно быстро, чтобы не свести на нет выигрыш от применения
быстродействующей памяти. Обращение к основной памяти начинается одновременно с
поиском в каталоге, и в случае попадания – прерывается [7].
Контроллер кэша оперирует строками (cash line) фиксированной длинны. Строка
может хранить копию блока основной памяти, размер которого, естественно, совпадает с
длиной строки. С каждой строкой кэша связана информация об адресе скопированного в
нее блока ОП и признаки ее состояния. Информация о том, какой именно блок занимает
данную строку, и ее состояние называется тегом (tag) и хранится в связанной с данной
строкой ячейке специальной памяти тегов (tag RAM). В операциях обмена с ОП строка
участвует целиком.
Строки кэша под отображение блока памяти выделяется только при операциях
чтения. Запись блока, не имеющего копии в кэше, производится только в основную
память. Поведение кэш-контроллера при операции запись в память, когда копия
затребованной области находится в некоторой строке кэша, определяется его политикой
записи. Существует два основных алгоритма записи данных из кэша в основную память:
сквозная запись и обратная запись. В данной работе используется алгоритм сквозной
записи. Он конечно, менее эффективен чем алгоритм с обратной записью, но прост в
аппаратной реализации.
Алгоритм сквозной записи предусматривает выполнение каждой операции записи,
попадающей в кэшированный блок, одновременно и в строку кэша, и в ОП. При этом
процессору при каждой операции записи придется ожидать окончания относительно
длительной записи в основную память. Алгоритм достаточно прост в реализации и легко
обеспечивает целостность данных за счет постоянного совпадения копий данных в кэше и
ОП. Для него нет необходимости хранить признаки присутствия и модифицированности –
вполне достаточно только информации тега. Но вся эта простота оплачивается низкой
эффективностью записи.
В зависимости от способа определения взаимного соответствия строки кэша и
области основной памяти различают три архитектуры кэш-памяти:
 кэш прямого отображения (direct-mapped cache) – адрес памяти, по которому
происходит обращение, однозначно определяет строку, в которой может
находиться отображение требуемого блока.
 полностью ассоциативный кэш (fully associative cache) – любая строка может
отображать любой блок памяти.
 множественно – ассоциативный кэш (set-associative) – каждый блок ОП может
претендовать на одну из нескольких строк кэша, объединенных в набор.
В данной работе используется кэш прямого отображения, т.к. имеет самую
простую аппаратную реализацию. В кэш-памяти прямого отображения, как и было
сказано выше, адрес памяти, по которому происходит обращение, однозначно определяет
строку, в которой может находиться отображение требуемого блока [7]. Так как занимать
строку в одно и то же время может только одна страница, нужен специальный её признак
– тег. Адрес от процессора делится на две части. Младшие разряды позволяют выбрать
одну из строк кэш-памяти (index). Оставшиеся старшие образуют тег (рис. 18).
Тег
Index
Рис. 18. Деление адреса от процессора
В начале каждого обращения к кэшируемой памяти контроллер первым делом
считывает ячейку каталога с заданным индексом, сравнивает биты адреса тега со
старшими битами адреса памяти и анализирует признак действительности. Этот анализ
выполняется в специальном цикле запроса (inquire). Если в результате анализа
выясняется, что требуемый блок не находится в кэше, то продолжается цикл обращения к
ОП (случай кэш-промаха); в случае попадания запрос обслуживается кэш-памятью. В
случае промаха после считывания ОП новые данные помещаются и в строку кэша, а в ее
тег помещаются старшие биты адреса [7].
Если обобщить все выше сказанное, то  по адресу строки производится
считывание. Поле адресов считанной строки сравнивается с теговым адресом и, если есть
совпадение, вырабатывается сигнал Hit выдачи информации. При загрузке из внешней
памяти заменяется вся строка [8].
Кэш-память
Адрес
Адрес
Строка 0
Строка 1
.
.
.
Адрес
Строка N
Основная память
Страница 0
Страница 1
.
.
.
Страница 128
Страница 129
.
.
.
Рис. 19. Организация кэш-памяти с прямым отображением
SRAM
Teg
Data
Index
Данные
Буфер
Теговый адрес
Компаратор
Hit
Рис. 20. Структурная схема кэш-памяти
Для хранения тегов обычно используются ИМС асинхронной SRAM – Tag SRAM.
Необходимый объем памяти тегов (количество ячеек) можно вычислить, разделив объем
установленной кэш-памяти на длину строки КЭШа. Длину строки примем равной
количеству байт, передаваемых за один стандартный пакетный цикл. В данном случае
длина строки равна 32 битам. Организация кэш-память следующая: 64Kb x (размер строки
+ длинна тега), т.е. 64Kb x 32+16 бит.
Данные рассуждения справедливы как для КЭШа команд, так и для КЭШа данных.
Получается, что емкость кэш-памяти равна 512Кб для хранения данных и команд и 256Кб
для хранения тегов. В итоге: 768Кб.
Необходимо будет предусмотреть механизм разделения работы КЭШа данных и
КЭШа команд, так как и команды и данные передаются по шине данных.
Так же необходимо учесть совмещенность шины адреса и данных. Поэтому
«чтение и запись» данных на шину происходит по срезу, а адреса по фронту.
Учитывая всё выше сказанное, можно разработать принципиальную схему КЭШаданных и КЭШа-команд (рис. 21).
AB/DB
прервать
выборку
слова в ОП
DD1
RG
D[31:0]
CLK
"0"
32
LE O[31:0]
OE
U1A
R/W
16,H
1
3
2
AT91SAM7s
U4
SRAM
64K*16
Признак
команда/данные
IDT74ALVC1G04
A[15:0]
B[15:0]
OE
A[15:0]
D[15:0]
CS
OE
WE
M
U3A
TR
16
"0"
U5
COMP
4
LE O[31:0]
"0"
B[15:0]
OE
IDT74ALVC1G04
I
SRAM
64K*32
AT91SAM7s
U7
VMX51C1020
32
TR
32
A[15:0]
D[31:0]
CS
OE
WE
5
3
O
U6
16
RG
D[31:0]
CLK
A[15:0]
CY 74FCT16245t
DD2
U3B
DIR
16
GS71116J
16
1
16,L
32
IDT74ALVC1G08
2
U2
U1B
5
A[31:0]
B[31:0]
OE
IDT74ALVC1G08
DIR
4
6
82032A
U3C
32
прервать
выборку
слова в ОП
CY 74FCT32245t
6
IDT74ALVC1G04
U1C
R/W
9
8
16
10
A[15:0]
D[15:0]
CS
OE
WE
GS71116J
U3D
TR
16
IDT74ALVC1G04
A[15:0]
B[15:0]
OE
"0"
DD3
U10
COMP
DIR
16
10
LE O[31:0]
"0"
B[15:0]
OE
IDT74ALVC1G04
I
SRAM
64K*32
82032A
11
O
U11
A[15:0]
D[31:0]
CS
OE
WE
D[31:0]
CLK
A[15:0]
CY 74FCT16245t
RG
U3E
9
SRAM
64K*16
IDT74ALVC1G08
8
U8
U9
U12
VMX51C1020
32
TR
32
U1D
12
11
13
IDT74ALVC1G08
A[31:0]
B[31:0]
OE
DIR
CY 74FCT32245t
AT91SAM7s
Выборка данных из ОП начинается только после загрузки адреса. При выборке
данных из кэша, 32-х разрядная шина адреса делится на две 16-х шины. Первая отвечает
за индексы, вторая за тег. Компаратор в это время вырабатывает на своем выходе сигнал «H», и следовательно на вход WE поступает H, что переводит память в режим чтения.
После выборки тега по заданному адресу (индексу), данные (сам тег) поступает на
компаратор, после чего на нем в случае удачи (кэш-попадания) вырабатывается «L», по
заданному индексу данные поступают на шину AB/DB и прерывается параллельная
выборка из ОП (за это отвечает контроллер ОП). В случае же кэш-промаха, трансиверы
переводятся в режим пропускания в противоположное направление и данные (тег)
записывается по индексу, а в строку записываются данные.
Алгоритм записи данных, в принятой структуре кэша (сквозная), ничем не
отличается от ОП, т.е. сначала устанавливается адрес, а затем на вход данных ИМС
памяти поступают данные.
Признак команда/данные переключает соответствующие КЭШи из рабочего
режима в режим ожидания и обратно (отвечает за то, чтобы команды попадали в кэшкоманд, а данные – в кэш-данных). Делается это путем перевода всей памяти, компаратора
и трансивера в выключенное состояние. Перевод компаратора в выключенное состояние
также позволяет пресечь выборку информации из ОП.
5. Заключение
В ходе выполнения курсовой работы были получены новые и закреплены
имеющиеся знания по дисциплине «Организация ЭВМ».
Данная работа помогла приобрести навыки по проектированию простейшей ЭВМ.
В результате работы была создана структурная схема простейшей ЭВМ, было
произведено описание основных компонентов и блоков. Также была разработана
принципиальная схема блока КЭШ.
Работа такого плана самостоятельно выполняется впервые. Ее выполнение
потребовало углубить имеющиеся знания особенно по темам, непосредственно
соприкасающимся с предметом разработки.
Т.к. работа выполнялась самостоятельно и впервые, я не совсем уверен в
правильности ее выполнения, в правильности моих рассуждений и технических решений.
Тем не менее, обучающая цель данной работы, я считаю, была достигнута.
Список литературы
1. Мик Дж., Брик Дж. «Проектирование микропроцессорных устройств с разрядномодульной организацией»: в 2 кн. / Перев. с англ.- М. Мир, 1984.
2. Каган Б.М. Электронные вычислительные машины и системы: Уч. пособие для
вузов – 3-е изд., перераб. и дополн. – М., Энергоатомиздат, 1991, - 592 стр.
3. Соболев В.И. Схемотехника. Руководство к лабораторным работам. – Н., НГТУ,
1999, 46 стр.
4. Соболев В.И. Схемотехника. Руководство к курсовой работе. – Н., НГТУ, 1997, 61
стр.
5. Микропроцессоры и микропроцессорные комплекты интегральных микросхем:
Справочник: в 2 т./ Н.Н. Аверьянов, А.И. Березенко, Ю.И. Борщенко и др.; Под ред.
В.А. Шахнова.- М.: Радио и связь, 1988. – т. 2. – 368 стр.
6. Курс лекций по дисциплине “Организация ЭВМ и систем” за 2007г.
7. Гук М.Ю. Аппаратные средства IBM PC: Энциклопедия. – СПб.: Питер, 1998. – 815
стр.
8. Угрюмов Е.П. «Цифровая схемотехника». – Спб.: БХВ-Петербург, 2001. – 528 стр.
Документ
Категория
Компьютеры и периферийные устройства
Просмотров
8
Размер файла
480 Кб
Теги
клещенев
1/--страниц
Пожаловаться на содержимое документа