close

Вход

Забыли?

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

?

Насыров (2)

код для вставкиСкачать
Министерство образования и науки РФ
Федеральное агентство по образованию
НГТУ
Кафедра ВТ
Курсовой проект по дисциплине «Организация ЭВМ»
Разработка гипотетической ЭВМ
Факультет:
АВТ
Группа:
АМ-109
Студент:
Насыров М.М.
Дата выполнения работы:
Проверил:
Гребенников В.Ф.
Отметка о защите:
Новосибирск, 2004г.
Оглавление.
ЦЕЛЬ КУРСОВОГО ПРОЕКТА. .............................................................................................3
ЗАДАНИЕ НА КУРСОВОЙ ПРОЕКТ.....................................................................................3
ИСХОДНЫЕ ДАННЫЕ К КУРСОВОМУ ПРОЕКТУ. ........................................................3
РАЗРАБОТКА И ОПИСАНИЕ СТРУКТУРНОЙ СХЕМЫ ЭВМ......................................4
РАЗРАБОТКА ОСНОВНЫХ БЛОКОВ ЭВМ. .......................................................................5
1. ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР. ....................................................................................................5
2. СИСТЕМА ПРЕРЫВАНИЙ. ..........................................................................................................7
3. СТРАНИЧНАЯ ОПЕРАТИВНАЯ ПАМЯТЬ. ....................................................................................9
4. КЭШ ДАННЫХ, КЕШ КОМАНД. ...............................................................................................11
5. СИСТЕМА ВВОДА – ВЫВОДА. .................................................................................................12
6. БЛОК СИНХРОНИЗАЦИИ. ........................................................................................................13
7. ТАЙМЕР. .................................................................................................................................14
8. МОНИТОР. ..............................................................................................................................15
9. КЛАВИАТУРА. ........................................................................................................................16
РАЗРАБОТКА ФУНКЦИОНАЛЬНОЙ СХЕМЫ БЛОКА TLB. ......................................17
АЛГОРИТМ РАБОТЫ TLB. ..........................................................................................................18
ЛИТЕРАТУРА. ..........................................................................................................................19
2
Цель курсового проекта.
Углубление и закрепление теоретических знаний, приобретение навыков разработки
узлов ЭВМ на структурном, функциональном и алгоритмическом уровнях.
Задание на курсовой проект.
Разработать структурную схему гипотетической ЭВМ, функциональную схему и
алгоритм работы конкретного блока, входящего в состав этой ЭВМ.
Курсовой проект состоит из двух частей.
Первая часть посвящена разработке структурной схемы гипотетической ЭВМ,
описанию ее функционирования. В состав ЭВМ входят как общие для всех вариантов
блоки, так и дополнительные, определяемые индивидуальным заданием.
Вторая часть проекта посвящена разработке функциональной схемы и алгоритмов
работы конкретного блока, входящего в состав ЭВМ, и их детальному описанию.
Исходные данные к курсовому проекту.
В состав ЭВМ должны входить следующие блоки (типовое задание):
•
•
•
•
•
•
•
•
•
центральное процессорное устройство (ЦПУ)
оперативная память (ОП)
система прерывания программ (СПП)
система ввода-вывода (СВВ)
монитор и клавиатура
блок синхронизации (БС)
таймер
НГМД
«Винчестер».
Основные параметры ЭВМ:
•
адресность ЭВМ - двухадресная
•
длина команды – переменная
•
разрядность - не менее 16
•
емкость ОП - не менее 1 Мбайт
Индивидуальные исходные данные:
•
•
•
•
•
•
•
архитектура ЭВМ - трех шинная
организация ОП – страничная
кэш команд, данных, TLB
ввод/вывод - программно-управляемый с отображением в памяти
система прерываний – радиальная с обработкой на макро уровне
система контроля - нет
разрабатываемый блок – TLB, алгоритм работы
3
Разработка и описание структурной схемы ЭВМ.
В соответствии с заданием принята трех шинная организация ЭВМ:
•
шина данных (ШД) – обеспечивает обмен данными между всеми основными
блоками ЭВМ – 32р.
•
шина адреса (ША) – используется для задания адреса памяти. Им может быть
как адрес в ОЗУ, ПЗУ так и адрес видеопамяти контроллера монитора – 32р.
•
шина управления (ШУ) – по этой шине осуществляется передача сигналов
управления между блоками ЭВМ.
Такая структура обеспечивает три вида передачи данных:
•
процессор <=> память;
•
процессор <=> интерфейс;
•
память<=> интерфейс.
В первых двух случаях передачей данных управляет процессор. Память и интерфейс
по управляющему сигналу от процессора осуществляют передачу данных.
монитор
таймер
клавиатура
контроллер
клавиатуры
контроллер
монитора
контроллер
памяти
ОЗУ
ПЗУ
AB
32
DB
32
CB
32
запросы
от ПУ
TLB
.
.
.
кеш
кеш
данных команд
контроллер
прерываний
PIC
Блок
синхронизации
.
.
.
контроллер
к тактируемым узлам ПДП
ЭВМ
ЦП
ПУ
ПУ
ПУ
Рис. 1 Структурная схема ЭВМ.
4
Разработка основных блоков ЭВМ.
1. Центральный процессор.
При разработке будем ориентироваться на микросхемы серии Аm29300.
Семейство Am29300 - это набор СБИС служащий для построения
высокопроизводительных
32-х
разрядных
систем
на
основе
принципа
микропрограммирования. Потребуются следующие элементы этого семейства:
Am29331 - Секвенсор микрокоманд. Размер адресуемой микро памяти до 64Кслов.
Аm29332 - 32-х разрядное арифметико-логическое устройство.
Am29334 - Регистровый файл. 4-х портовая память с двухсторонним доступом.
Организация 64х18 бит. (32х36)
В функции ЦП входят: выполнение команд, хранящихся в ОП, и координирование
работы всех узлов ЭВМ.
Работа ЦП основана на принципе микропрограммного управления.
В состав ЦП входят:
•
операционный блок (ОБ), в котором происходит обработка данных.
•
микропрограммное устройство управления, которое управляет порядком
обработки команд в ОБ и осуществляет управление всеми узлами ядра ЭВМ.
СБИС Аm29332 представляет собой нерасширяемый 32 – разрядный процессорный
модуль. Содержит трехвходовое комбинированное АЛУ, которое позволяет выполнять
логические и арифметические операции, а также арифметические операции над числами с
плавающей точкой. Внутренний групповой 64-разрядный сдвигатель, позволяет за 1 такт
выполнять все виды сдвигов на любое число разрядов.
В структуру Am29332 включен блок Q-регистра (Q-сдвигатель и Q-регистр). Это
позволяет поддерживать выполнение: операции умножения двух 32-разрядных чисел по
модифицированному алгоритму Бута (в каждом такте сдвиг вправо на 2 разряда), и
деления по алгоритму "без восстановления остатка".
БИС Аm29331, используемая в качестве секвенсора микрокоманд поддерживает
прерывания реального времени на микро- и макро-уровнях управления с временем
реакции, не превышающем длительности микроцикла. Заданием оговаривается система
прерываний на макро уровне, поэтому в структуре предусмотрен дешифратор векторного
адреса (ДВА).
Имеющийся вход сброса секвенсора RST позволяет производить «сброс» ЦП в
исходное состояние при включении питания или в процессе работы путём подачи на него
сигнала RESET, имеющего активный низкий уровень (на рисунке он не показан).
Хотя по заданию обработка прерываний должна осуществляться на макро- уровне,
на структурной схеме процессора (см. ниже) приведена реализация обработки прерываний
как на макро- так и на микро- уровне. Это объясняется тем, что прерывания от некоторых
устройств (например клавиатуры или таймера) не могут обрабатываться на макро- уровне,
т.к. реакция на них должна быть незамедлительна.
5
Запрос на прерывание
Шина данных
Вектор прерывания
Лог. сх.
RG K
ДВА
RG Din
ПНА
SEL
RG DOut
RGF
2 x Am29334
Секвенсор
Am29331
SEL
АЛУ
INTR
INTA
INTEN
Am29332
BF
OE
RG Adr
МПП
RG MK
Шина адреса
К узлам
ЭВМ
Шина управления
Рис.2. Структурная схема ЦП.
6
2. Система прерываний.
Прерывания представляют собой средство изменения последовательности
выполнения команд и операций в ответ на внешние асинхронно происходящие события
(запросы на прерывание).
Система прерываний выполняет ряд функций:
•
организация вхождения в прерывающую программу;
•
организация приоритетного выбора между запросами, поступающими
одновременно;
•
организация возврата в прерванную программу.
Реализация прерываний оказывает значительное воздействие на производительность
и гибкость системы.
Использование микросхемы КМ1804ВН1 позволяет реализовать схему векторного,
приоритетного прерывания с возможностью наращивания до 16 аппаратных прерываний.
По-другому, такая схема носит название структуры системы прерываний с несколькими
линиями запроса или радиальной структуры. В этой структуре предусмотрена своя линия
запроса для каждого устройства. Структура с несколькими линиями запроса позволяет
уменьшить время ответа, так как в ней устройство, пославшее запрос на прерывание,
может быть сразу же идентифицировано. Но так как в данной работе прерывания
обрабатываются на макро уровне (по заданию), данная система не обладает минимальным
временем ответа. Это объясняется тем, что прерывания обрабатываются только после
завершения текущей команды.
Устройство 1
Устройство 2
Устройство 3
Устройство 4
Устройство 5
Устройство 6
Устройство
управления
прерываниями
КМ1804ВН1
Запрос на
прерывание
вектор
ЦП
Рис. 3. Система прерываний.
Прерывания на макро уровне требуют меньше аппаратных затрат и меньшее
количество запоминаемой информации, необходимой для возврата в прерванную
программу.
Сигналы прерываний, поступающие на входы INR7-INRO устройства управления
прерываниями, преобразуются в вектор (в простейшем случае это простая шифрация).
Полученный вектор поступает в ЦП.
Принцип работы системы прерываний.
При поступлении запроса на прерывание от периферийного устройства контроллер
формирует вектор прерывания и посылает запрос на прерывание в ЦП.
7
В дальнейшем происходит анализ вектора прерывания (его части), в результате чего
если выясняется, что данное прерывание должно обрабатываться на микро уровне – в
секвенсор подается запрос на прерывание и происходит дальнейшая его обработка.
Если же выясняется, что прерывание должно обрабатываться на макро уровне – в
секвенсор запрос на прерывание не подается. Обработка прерывания произойдет после
завершения выполнения текущей команды процессором.
8
3. Страничная оперативная память.
Блок памяти используется для хранения программ, вычислений и результатов. Этот
блок включает в себя два типа памяти.
•
ОЗУ (оперативное запоминающее устройство), из которого можно как
считывать информацию, так и записывать;
•
ПЗУ (постоянное запоминающее устройство), предназначенное для хранения
служебных программ ввода/вывода, программ работы с устройствами, входящими в
состав ЭВМ и программ начального тестирования и инициализации, из которого можно
только считывать информацию, но нельзя записывать. Программы, хранящиеся в ПЗУ,
называются аппаратно - программными средствами.
Контроллер памяти управляет работой памяти, а также записью или чтением,
диаграммой работы DRAM, OE и.т.д.
После того как память заканчивает выполнение текущей операции, она
просматривает наличие запросов на работу с ней. При этом выполняются следующие
правила:
•
Если запросы пришли одновременно, то в первую очередь обслуживается
контроллер ПДП, во вторую - процессор. Это решается с помощью арбитра, который
находится в контроллере памяти.
От процессора
&
От контроллера ПДП
•
Если запросов со стороны контроллер ПДП нет, то удовлетворяется требование
на обслуживание со стороны процессора.
Страничная организация памяти.
Страница = 4кб – классический случай.
Виртуальный адрес
Страница
Слово
Таблица
страниц
Страница
Слово
Физический адрес
Рис. 4. Схема преобразования адреса.
Размер виртуальной страницы и физической должны совпадать.
Кол-во таблиц – кол-во пользователей.
9
Есть вариант, чтобы полная таблица хранилась в ОП, а в дорогом адресном кэше
хранилась только та часть дескрипторов, которые в ОП + активны (только те дескрипторы,
которые доступны процессору).
10
4. Кэш данных, Кеш команд.
Кэш-память представляет собой быстродействующее статическое ОЗУ небольшого
объёма, в котором по мере работы процессора сохраняется наиболее актуальная
информация.
При раздельной кэш-памяти выборка команд и данных может производиться
одновременно, при этом исключаются возможные конфликты. Последнее обстоятельство
существенно в системах, использующих конвейеризацию команд, где процессор извлекает
команды с опережением и заполняет ими буфер или конвейер.
Обычно ОП разрабатывается на базе динамического ОЗУ, быстродействие которого
примерно в 10 раз ниже статического. При считывании информации из ОП она, попутно,
запоминается в кэш-памяти, причем “на всякий случай” запоминается информация из
соседней с ней ячеек. Так как программы обычно имеют циклический характер, а данные
и команды размещены в соседних ячейках, в кэш-памяти постепенно накапливаются, а
затем в ходе работы, автоматически обновляются текущие коды команд и данных,
которые процессор часто использует. Таким образом в кэш-памяти накапливаются
рабочие копии данных, хранимых в основном ОЗУ, причем считывание этих копий
производится примерно в 10 раз быстрее, чем если бы считывались оригиналы данных.
При записи информации, мы должны обязательно записать новые значения в ОЗУ,
поэтому при этой операции мы не можем воспользоваться преимуществами кэш-памяти.
Кэш со сквозной записью.
Ниже приведена таблица условий сохранения и обновления информации в ячейках
кэш-памяти и ОП.
Режим
работы
Чтение
Запись
Наличие копии в
кэш-памяти
Копия есть
Информация
рмация
В кэш-памяти
Не изменяется
В ОЗУ
Не изменяется
Копии нет
Создается копия
Не изменяется
Копия есть
Обновляется
Обновляется
Копии нет
Создается копия
Обновляется
11
5. Система ввода – вывода.
По заданию ввод/вывод должен быть программно-управляемый с отображением в
памяти.
При программно-управляемом (условном) вводе/выводе управление
обменом
информацией осуществляется подпрограммой, которая сама опрашивает устройства на
предмет их готовности передавать данные. При данной организации ввода/вывода
сводятся к минимуму аппаратные затраты, но увеличивается загруженность процессора.
Ввод-вывод с отображением в память - это способ в соответствии с которым
пересылка данных к периферийным устройствам (ПУ) и из этих устройств
осуществляется с использованием некоторого пространства памяти. При этом адрес
памяти декодируется в периферийном устройстве, т. е. имеется возможность установить,
когда адресовано данное конкретное устройство. Обычно каждому функциональному
блоку ПУ присваивается свой адрес памяти, и ЦП может произвести обращение к этому
блоку.
Достоинство ввода-вывода с отображением в памяти заключается в том, что для
выполнения ввода-вывода могут быть использованы все команды обращения к памяти.
Следовательно, машине не обязательно иметь специальные команды ввода-вывода.
Недостаток в том, что необходимо присваивать часть памяти ПУ. Таким образом,
полный диапазон адресации памяти в машине уменьшается на величину этой части
адресов.
12
6. Блок синхронизации.
Блок синхронизации (БС) предназначен для обеспечения синхронной работы всех
узлов ЭВМ. В его задачи входит генерация синхропоследовательностей заданной формы и
длительности для ЦП, таймера, контроллеров, ОП и других устройств, входящих в состав
ЭВМ.
В качестве основы для построения БС можно использовать микропрограммируемый
тактовый генератор (например 1804ГГ1) . Это позволит реализовать переменную
длительность такта для ЦП, что позволит несколько повысить его производительность.
Использование микросхемы КМ1804ГГ1 в качестве тактового генератора в составе
блока синхронизации дает целый ряд преимуществ.
Микросхема имеет стабилизированный с помощью внешнего кварцевого резонатора
генератор опорной частоты от 1 до 30 МГц, микропрограммируемую длительность
тактовых импульсов от 3 до 10 периодов опорной частоты, состояния "работа", "останов",
"ожидание", "шаговый режим". Данные характеристики позволяют использовать эту
микросхему для обеспечения синхронной работы всех узлов ЭВМ
Генератор
опорной
частоты
Микропрограммируемый
тактовый
генератор
Синхросигнал
ы для всех
узлов ЭВМ
КМ1804ГГ1
Рис. 5. Схема блока синхронизации.
13
7. Таймер.
Большинство микроЭВМ содержит источник реального времени - часы и таймер.
Таймер предназначен для деления машинного времени на временные интервалы, которые
используются для эффективной работы процессора с периферийными устройствами. Он
обеспечивает совместную работу ЦП и ПУ в реальном масштабе времени, осуществляя
разбиения машинного времени на равные интервалы времени.
В качестве таймера можно использовать микросхему КР580ВИ53 предназначенную
для организации работы микропроцессорной системы в режиме реального времени.
С помощью таймера можно задавать определённые промежутки времени, по
истечении которых происходит прерывание. Особенное применение прерываний таймера
основанное на независимости работы микросхемы от процессора - регенерация
оперативных запоминающих устройств, то есть через некоторые промежутки времени
таймер выдаёт запрос на прерывание наивысшего приоритета, при наступлении которого
производится регенерация памяти
14
8. Монитор.
Монитор служит для представления итоговых данных, для постоянного наблюдения
за различными действиями вычислительной машины.
Монитор, как и всякое другое периферийное устройство, подключается через
контроллер (видеоадаптер) к системной шине.
Также следует отметить, что монитор является пассивным устройством, которое не
выдает данные и управляющие сигналы, а просто отображает динамически
изменяющуюся информацию.
ШД
ША
Адаптер монитора
Монитор
Рис. 6. Схема подключения монитора.
15
9. Клавиатура.
Клавиатура является основным устройством ввода, обеспечивающее общение
пользователя с ЭВМ. Она содержит контроллер клавиатуры, который воспринимает
каждое нажатие на клавишу и выдает последовательный скан-код. Скан-код представляет
собой идентификационный номер, присвоенный каждой клавише.
При поступлении скан-кода из порта вызывается прерывание клавиатуры,
приоритетность которого выше всех остальных периферийных устройств. Процессор
моментально прекращает обработку текущей операции и выполняет процедуру,
анализирующую скан-код, который может содержать управляющий код, например:
"Ctrl-Alt-Delete" (прерывание от клавиатуры должно обрабатываться на микро уровне).
Для того, чтобы ЦП успевал обрабатывать все нажатия клавиш, контроллер
клавиатуры должен иметь буфер FIFO.
ШД
ША
Контроллер клавиатуры
Клавиатура
Рис. 7. Схема подключения клавиатуры.
16
Разработка функциональной схемы блока TLB.
Адресный кэш представляет собой сверхоперативную память небольшого размера,
предназначенную для хранения информации, необходимой для преобразования
виртуальных адресов в физические.
При каждом преобразовании номера виртуальной страницы в номер физической
страницы результат заносится в TLB. Таким образом, в TLB попадают результаты
нескольких последних операций трансляции адресов. При каждом обращении к ОП
преобразователь адресов сначала производит поиск в памяти TLB номера требуемой
виртуальной страницы. При попадании адрес соответствующей физической страницы
берется из памяти данных TLB. Если в TLB зафиксирован промах, то процедура
преобразования адресов производится с помощью страничной таблицы, после чего
осуществляется запись новой пары «номер виртуальной страницы — номер физический
страницы» в TLB.
Для сокращения аппаратных затрат будем применять кэш-память с прямым
размещением. Адрес от процессора делится на три части. Младшие разряды (смещение)
определяют положение слова в странице. Средние позволяют выбрать одну из строк кэшпамяти. Оставшиеся старшие образуют тег. По адресу строки производится считывание.
Полученный тэг сравнивается со старшими разрядами адреса и, если есть совпадение и
если признак присутствия страница в ОП установлен, вырабатывается сигнал hit выдачи
информации. Структура кэш-памяти приведена на рис. 7.
Тег (28..21)
Номер страницы (19..0)
P (20)
Рис. 8. Структура кеш-памяти.
Выберем размер кэша как 4Кх29.
AB
32
1
ACE
32
ADDR
32
12
12
&
8
ACPERR
==
&
8
8
A0..11
29
D0..31
ACP
#ACW
DB
SRAM
4k x 32
29
21
20
Y0..31
r/#w
32
20
Рис.9. Функциональная схема адресного кэша
17
Алгоритм работы TLB.
Сигнал ACE – разрешение работы адресного кэша. Если установлен низкий уровень,
то на шину AB работает адресный выход процессора ADDR, где должен быть установлен
физический адрес, если установлен высокий уровень – разрешен выход с кэша, а
процессор устанавливает виртуальный адрес на вход ADDR.
С помощью разрядов 12-23 адреса выбирается одна из 4К ячеек кэш-памяти, в
которой содержится тег, бит присутствия P и адрес физической страницы.
С помощью 8-разрядного компаратора сравниваются старшие разряды адреса
поступившего из процессора по входу ADDR с тэгом из кэш-памяти. Если совпадение
зарегистрировано, и бит присутствия P установлен, то в зависимости от сигнала ACE
открывается выходной буфер, и полученный номер физической страницы и младшие
разряды с ADDR попадают на адресную шину.
Если страница отсутствует в КЭШе или в ОП, то возбуждается сигнал прерывания
ACPERR. Обработчику прерывания необходимо, если надо, подгрузить страницу в ОП и
записать в кэш-память новые тэг (старшие разряды входа ADDR), физическую страницу
(старшие разряды с шины DB) и бит присутствия P (со входа ACP). Запись
осуществляется при низком уровне на входе #ACW.
В исходном состоянии, после включения напряжения питания, все признаки P
устанавливаются схемой управления в 0.
18
Литература.
1.
Е. П. Угрюмов. Цифровая схемотехника.-Спб.: БВХ-Петербург, 2002.
2.
Комплект БИС К1804 в процессорах и контроллерах / В.М. Мещеряков,
И.Е.Лобов, Глебов и др.; Под ред. В.Б. Смолова.-М.: Радио и связь, 1990.
3.
Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем: учебник для вузов. –
Спб.: Питер, 2004.
19
Документ
Категория
Компьютеры и периферийные устройства
Просмотров
1
Размер файла
154 Кб
Теги
насыров
1/--страниц
Пожаловаться на содержимое документа