close

Вход

Забыли?

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

?

Белоусов

код для вставкиСкачать
Министерство образования и науки РФ
Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
Новосибирский государственный технический университет
Курсовая работа
По дисциплине «Организация ЭВМ»
Студент: Белоусов М.Ю.
Преподаватель: Гребенников В. Ф.
Факультет: АВТ
Группа: АМ-610
Новосибирск 2010 г.
Содержание:
1. ЦЕЛЬ ПРОЕКТА. ................................................................................................................................................................... 3
2. СОСТАВ ЭВМ И ОСНОВНЫЕ ПАРАМЕТРЫ................................................................................................................ 3
3. ИНДИВИДУАЛЬНЫЕ ИСХОДНЫЕ ДАННЫЕ. ............................................................................................................. 3
4. РАЗРАБОТКА И ОПИСАНИЕ СТРУКТУРНОЙ СХЕМЫ ЭВМ. ................................................................................ 4
4.1. ОБОБЩЕННАЯ СТРУКТУРНАЯ СХЕМА ЭВМ. ....................................................................................................................... 4
4.2. ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР. ............................................................................................................................................... 5
4.2.1. Операционный блок. ................................................................................................................................................. 6
4.2.2. Микропрограммное устройство управления. ........................................................................................................ 6
4.3. ОСНОВНАЯ ПАМЯТЬ. ........................................................................................................................................................... 7
4.4. КЭШ КОМАНД И ДАННЫХ. ПРЕОБРАЗОВАТЕЛЬ ВИРТУАЛЬНЫХ АДРЕСОВ. ........................................................................ 8
4.5. СИСТЕМА ПРЕРЫВАНИЯ ПРОГРАММ. ................................................................................................................................ 11
4.6. СИСТЕМА ВВОДА/ВЫВОДА. .............................................................................................................................................. 12
4.7. БЛОК СИНХРОНИЗАЦИИ. ................................................................................................................................................... 12
4.8. ТАЙМЕР............................................................................................................................................................................. 14
4.9. ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА.......................................................................................................................................... 14
4.9.1. Клавиатура.............................................................................................................................................................. 14
4.9.2. Монитор. ................................................................................................................................................................. 15
5. РАЗРАБОТКА ФУНКЦИОНАЛЬНОЙ СХЕМЫ ВЗАИМОДЕЙСТВИЯ ОСНОВНОГО ПРОЦЕССОРНОГО
ЭЛЕМЕНТА И ПРОЦЕССОРНОГО ЭЛЕМЕНТА ПЛАВАЮЩЕЙ ТОЧКИ .............................................................. 15
6. ЗАКЛЮЧЕНИЕ. ................................................................................................................................................................... 17
7. СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ. ...................................................................................................... 18
8. ПРИЛОЖЕНИЕ 1. СТРУКТУРНАЯ СХЕМА ЦЕНТРАЛЬНОГО ПРОЦЕССОРА................................................ 19
ПРИЛОЖЕНИЕ 2. СТРУКТУРНАЯ СХЕМА ПРОТОТИПА МИКРО-ЭВМ............................................................... 20
1. Цель проекта.
Целями курсового проектирования являются углубление и закрепление теоретических знаний
студентов, приобретение навыков разработки узлов ЭВМ на структурном, функциональном и
алгоритмическом уровнях.
2. Состав ЭВМ и основные параметры.
В состав разрабатываемой ЭВМ входят следующие блоки:
- центральное процессорное устройство (ЦПУ);
- память (ПЗУ и ОЗУ);
- блок синхронизации (БС);
- система прерываний программ (СПП);
- система ввода – вывода (СВВ);
- таймер;
- монитор, клавиатура, мышь.
Основные параметры ЭВМ:
Разрядность - 32 бита;
адресность ЭВМ - двухадресная;
длина команды – переменная;
емкость ОП - не менее 16 Мбайт.
3. Индивидуальные исходные данные.
Структура ЭВМ – трехшинная.
Сопроцессор – есть.
Система прерываний – цепочная на уровне команд.
КЭШ – кэш команд и данных, буфер TLB.
ОП – страничная.
Ввод/Вывод – условный.
Разрабатываемый блок – сопроцессор с плавающей точкой.
3
4. Разработка и описание структурной схемы ЭВМ.
4.1. Обобщенная структурная схема ЭВМ.
ЭВМ с хранимой программой может быть определена как машина, обрабатывающая данные в
соответствии с заранее определенными правилами (инструкциями), при этом программа (набор
инструкций) и данные находятся в памяти машины.
Для загрузки программы и данных в память, а также для вывода результатов обработки из
памяти необходим какой-либо способ связи с внешними объектами. Этой цели служат устройства
ввода-вывода.
При каждом обращении к памяти по определенному адресу центральный процессор (ЦП), как
правило, выполняет операцию чтения или записи одного слова памяти.
Периферийные устройства (ПУ) присоединяются с помощью блоков управления
(контроллеров) периферийными устройствами, осуществляющих согласование форматов данных,
используемых в ПУ с форматом принятым для передачи по общей шине. Последний (формат
данных) обычно соответствует машинному слову процессора и/или информационной ширине
магистрали.
Согласно заданию, ЭВМ построена на основе общей шины. В данном случае все устройства
вычислительной машины подключены к магистральной шине, служащей единственным трактом
для потоков команд, данных и управления. Наличие общей шины позволяет легко менять состав и
конфигурацию машины. Благодаря этим свойствам шинная архитектура получила широкое
распространение в мини и микро ЭВМ. Вместе с тем, именно с шиной связан и основной
недостаток архитектуры: в каждый момент передавать информацию по шине может только одно
устройство. Основную нагрузку на шину создают обмены между процессором и памятью,
связанные с извлечением из памяти команд и данных и записью в память результатов вычислений.
Разрабатываемая ЭВМ имеет магистральную трехшинную архитектуру. В состав общей
магистрали входят:
 шина адреса (Address Bus) – для задания физического адреса памяти: ОЗУ, ПЗУ, буфера
видеопамяти, буфера клавиатуры. Разрядность шины адреса - 32;
 шина данных (Data Bus) – обеспечивает обмен данными между блоками ЭВМ. Разрядность
шины данных - 32;
 шина управления (Control Bus) – осуществляет передачу управляющих сигналов для блоков
ЭВМ. К таким сигналам относятся: синхросигнал, сигнал сброса, сигнал обращения к
памяти, сигнал чтение/запись памяти.
Все внешние устройства (клавиатура, монитор, винчестер и т.д.) подключаются к системной
шине через контроллеры. Это обеспечивает сопряжение ВУ с шиной и приведение их к единому
протоколу обмена информацией. Каждый контроллер не имеет собственной линии запроса
прерывания, а существует общая линия для запросов прерывания. Приоритеты прерываний того
или иного устройства фиксированы и определяются последовательностью подключения, а именно
– приоритеты соответствуют порядку подключения устройств друг к другу и соединяемых линией
подтверждения прерывания.
Для работы с интерфейсными регистрами устройств, входящих в состав ЭВМ, используется
отображение в адресное пространство ЦП. Для реализации такого подхода в состав контроллеров
устройств включаются блоки анализа адреса, которые осуществляют непосредственное
управление регистрами.
Также для увеличения скорости работы с ОП и уменьшения затрат на высокоскоростные
микросхемы памяти в системе предусмотрен КЭШ данных и команд, а также буфер TLB.
Структурная схема разработанной ЭВМ представлена на рис. 1.
4
Рис. 1. Обобщенная структура ЭВМ
4.2. Центральный процессор.
Центральный процессор предназначен для обработки данных, выполнения вычислений с
различными типами данных (целые числа, числа с плавающей точкой, адреса), формирования
физического адреса и.т.д. Это все требует значительного времени. Поэтому при разработке
необходимо ориентироваться прежде всего на увеличение быстродействия проектируемой ЭВМ.
На данном этапе проектирования это возможно путем введения конвейерной обработки
исполняемых команд.
При разработке процессора будем опираться на семейство СБИС Am29300, в которое
входят следующие микросхемы, необходимые согласно варианту:
 Аm29С332 - арифметико-логическое устройство;
 Am29С331 - cеквенсор микрокоманд;
 Am29С325 – сопроцессор плавающей точки.
Было взято именно это семейство, поскольку микросхемы являются 32-разрядными.
Характерной особенностью архитектуры проектируемой ЭВМ является наличие
конвейерной обработки как на уровне команд, так и на уровне микрокоманд. Это достигается тем,
что после микропрограммной памяти находится конвейерный регистр микрокоманд. Таким
образом, в цикле исполнения i-той микрокоманды можно смело читать из микропрограммной
памяти (i+1)-ую, которая будет сохранена в регистре микрокоманд и исполнена в (i+1)-цикле.
Структурная схема прототипа микро-ЭВМ представлена в приложении 2.
Получаем один конвейер: “ПНА  Секвенсор  МПП  Регистр микрокоманд”,
реализованный в микропрограммном устройстве управления; и второй: “АЛУ  Выходной
регистр адреса (данных)”, реализованный в операционном блоке.
В состав ЦП входят: операционный блок (ОБ) и микропрограммное устройство управления
(МУУ).
МУУ хранит в микропрограммной памяти (МПП) и выбирает управляющие слова (т.е. МК) из
МПП, передаёт их в качестве управляющих слов ОБ и другим устройствам (например, блоку
синхронизации). Принимая управляющие слова, устройствами выполняются соответствующие
инструкции.
Работа с ОП осуществляется через ОБ. ОБ вычисляет адрес ячейки для чтения/записи и
принимает/передаёт данные из/в ОП. ОБ может принимать/передавать данные не только из/в ОП,
но и с/во внешних устройств.
5
4.2.1. Операционный блок.
Операционный блок (ОБ) состоит из арифметико-логического устройства (АЛУ),
сопроцессора плавающей точки, регистра адреса и буфера входных и выходных данных.
Предназначен для выполнения логических, арифметических и сдвиговых операций над
поступающими на вход данными и выдачи результата на выходную шину данных АЛУ. Регистры
входных и выходных данных/адреса являются интерфейсными. Через них операционный блок
обменивается информацией с шиной данных (DB).
АЛУ является полностью комбинационным устройством, выполняющим некоторый набор
операций в зависимости от инструкций, поступающих с регистра микрокоманд. Результат
операции АЛУ выставляет на выходной шине данных.
4.2.2. Микропрограммное устройство управления.
Основной функцией микропрограммного устройства управления (МУУ) является
формирование последовательности микрокоманд, содержащих инструкции для всех узлов ЭВМ,
на основе макрокоманд. Для этих целей в состав МУУ входят: Регистр команд (РГ_К),
преобразователь начального адреса (ПНА), секвенсор микрокоманд, микропрограммная память
(МПП) и регистр микрокоманд (РГ_МК) (См. рис. 2).
Секвенсор работает по следующему принципу:
В МПП хранятся все возможные микрокоманды (максимум ограничен разрядностью
секвенсора, для Am29С331 - это 16 разрядов, которые позволяют адресовать 64К микрокоманд). В
ПНА хранятся адреса МПП, по которым расположены первые микрокоманды из
последовательности того или иного алгоритма. Функцией ПНА является формирование
начального адреса в МПП по полю КОП регистра команд, задающего конкретную
макрооперацию. В каждой микрокоманде задана вся необходимая информация для работы ЭВМ
на текущем такте, а также информация, на основе которой можно вычислить адрес следующей
микрокоманды (нелинейные алгоритмы) либо непосредственно адрес следующей микрокоманды
(линейные алгоритмы). В функции секвенсора входит формирование адреса следующей
микрокоманды на основе информации, содержащейся в текущей микрокоманде и сигналов на
входе тестирования внешних условий.
Разделяют два режима работы секвенсора: когда адрес следующей микрокоманды строго
задан и не зависит от результатов работы ОБ на текущем шаге, и когда адрес следующей
микрокоманды зависит от результата работы ОБ на текущем шаге. В первом случае процесс
выработки адреса следующей микрокоманды совмещается с выполнением текущей. Во втором же
случае начать выработку можно лишь после появления флагов из ОБ, то есть после завершения
текущего такта. Из этого следует, что в работе МУУ будут присутствовать холостые такты.
Последовательность работы МУУ следующая:
При запуске или сбросе секвенсор вырабатывает нулевой адрес МПП, по которому расположен
алгоритм загрузки системы из ОП.
Конец выполнения каждой макрокоманды связан с чтением следующей из ОП.
Прочитанная макрокоманда загружается в регистр команд. ПНА формирует начальный
адрес алгоритма по полю КОП и передает его секвенсору. Секвенсор передает его на МПП, в
которой происходит выборка первой микрокоманды алгоритма. В следующем такте микрокоманда
с выходов МПП будет загружена в регистр микрокоманд. ОБ станет выполнять инструкции,
содержащиеся в микрокоманде, а секвенсор вырабатывать адрес следующей и т.д.
Однако ЭВМ должна уметь обрабатывать события, возникновение которых равновероятно
для любого момента времени и не может быть предсказано заранее. Реакцией на такое событие
является прерывание выполнения текущей программы, и запуск программы обработчика события,
вызвавшего это прерывание.
Разрабатываемая ЭВМ поддерживает прерывания на макроуровне, при которых переход к
программе обработчику осуществляется только после завершения текущей макрокоманды
прерываемой программы. Такой подход сокращает аппаратные средства, так как сохранению
подлежит только адрес возврата из прерывания.
6
Секвенсор Am29С331 имеет стек для хранения адресов возврата глубиной 33, что
позволяет обрабатывать вложенные прерывания. Если стек оказался заполнен, все последующие
прерывания будут игнорироваться.
Для организации обработки прерываний на макроуровне необходим вход Т0. Сигнал о
прерывании поступает на вход Т0 . Селекторный вход S3...S0 выбирает тестируемое условие. При
выборе условия Т0 секвенсор вырабатывает адрес для МПП по входу I5...I0. С МПП выдается
микрокоманда о прерывании и поступает в регистр микрокоманд, откуда переходит на шину
управления CB.
4.3. Основная память.
Основная память (ОП) служит для хранения информации (данных, программ,
промежуточных и конечных результатов обработки). В состав ОП входит оперативная (ОЗУ) и
постоянная (ПЗУ) память. ОЗУ используется для хранения временных данных, а ПЗУ для
хранения неизменяемых и энергонезависимых данных (как минимум базовой системы вводавывода, содержащую программную поддержку ресурсов ЭВМ и обеспечивает конфигурирование
аппаратных средств и их диагностику при запуске).
ЦП оперирует 32-разрядными адресами,
следовательно, максимальный объем ОП
составляет 4Гбайта.
ПЗУ целесообразно реализовать на Flash-памяти, которая является наиболее практичной
(позволяет вносить изменения в хранимые данные без извлечения из ЭВМ) и благодаря
упрощению внутренней структуры стоит дешевле, чем EEPROM. Емкость ПЗУ – 32Мб.
ОЗУ должно обладать достаточным быстродействием, для поддержания темпа работы ЦП.
В противном случае неизбежны простои процессора, снижающие быстродействие всей системы в
целом. Реализовать такое ОЗУ возможно как на микросхемах DRAM, так и на SRAM.
Было принято решение о выборе в качестве ОЗУ микросхемы SRAM. Выбор обусловлен
большей надежностью, так как не нужно поддерживать постоянную регенерацию. Кроме того,
было решено использовать дешевые микросхемы SRAM, так как имеется КЭШ команд и данных.
Емкость ОЗУ – 32Мб.
Таким образом, суммарная емкость ОП составляет – 64Мб, для адресации которой
потребуется 21 разряд. Учитывая требования к возможности увеличения емкости ОЗУ,
организация адресного пространства следующая (Рис. 3).
FFFFFFFF
Резерв
00200000
001FFFFF
SRAM
00100000
000FFFFF
FLASH
00000000
Рис.3. Карта расположения памяти в адресном пространстве.
Из этого следует, что 21 бит служит для разделения адресного пространства ПЗУ и ОЗУ.
Если он принимает значение 0, то происходит обращение к ПЗУ, если 1, то к ОЗУ.
При этом только те адреса, старшие 10 разрядов (с 22 по 31) которых равны 0, принадлежат
адресному пространству ОП.
Помимо ПЗУ и ОЗУ в состав ОП входит контроллер, управляющий ее работой. Он выполняет
следующие функции:
 Определение принадлежности текущего адреса на шине ADDRESS_BUS к пространству
ОП, а затем к ПЗУ или ОЗУ уже внутри ОП.
7



Формирование сигналов управления микросхемами памяти на основе системных сигналов
R/~W (чтение/запись) и ~MEM (разрешение вывода данных на шину DATA_BUS).
Буферизация данных с шины DATA_BUS – данные, предназначенные для сохранения в
ОП, считываются в буфер контроллера, а затем переписываются непосредственно в память.
Это позволяет быстрей освобождать шину данных и увеличивает общее быстродействие
системы.
Формирование диаграмм записи и чтения (освобождает систему от необходимости
соблюдать режимные параметры, которые к тому же разные для ПЗУ и ОЗУ).
В соответствии с представленным описанием структурная схема ОП выглядит следующим
образом (Рис.4).
Рис.4. Структурная схема ОП
Из структурной схемы, представленной на рис. 4, видно, что помимо управляющих
сигналов ~MEM и R/~W в блок контроллера подается синхросигнал СLK. Он необходим для
тактирования входного буфера. Адрес ОП и данные, предназначенные для сохранения по этому
адресу, появляются на системной шине синхронно (загрузка выходных регистров ЦП происходит
по фронту CLK). Загрузка входного буфера контроллера ОП происходит спустя задержку Tбуф
относительно фронта CLK. Задержка Tбуф вносится внутренними средствами синхронизации
контроллера и необходима для анализа выставленных ЦП адреса и управляющих сигналов, на
основе которого формируется сигнал разрешения или запрета загрузки буфера ОП. Помимо этого
контроллер формирует сигнал Mem_Ready, для оповещения системы о готовности ОП к
следующей операции.
4.4. КЭШ команд и данных. Преобразователь виртуальных
адресов.
В предыдущем пункте было принято решение о построении ОЗУ на микросхемах SRAM,
которые позволяют снизить вероятность появления ошибок. Также было решено не использовать
быстрых и дорогих микросхем, а ограничиться более медленными и дешевыми образцами. Это
решение было принято исходя из возможности построения двухуровневой системы памяти, когда
между процессором и ОП устанавливается небольшая по объему, но быстродействующая
буферная память, в которую копируются участки ОП, к которым производится обращение со
стороны процессора. Такая память называется кэш-памятью.
Принцип работы кэш-памяти следующий: в случае, если ЦП хочет прочесть слово из
основной памяти, сначала осуществляется поиск копии этого слова в КЭШе. Если это слово уже в
8
нем (попадание в КЭШ), то обращение к ОП не происходит, а в ЦП передается слово из КЭШа. В
случае если такого слова в КЭШе не обнаружено (промах), то слово передается в процессор из ОП
с одновременной записью его в КЭШ (а вместе с ним и еще несколько близлежащих слов –
оперирует блоками). Постепенно КЭШ заполняется и при очередной вставке необходимо
определить, в соответствии с действующим алгоритмом замещения, вероятность обращения к
какому блоку меньше всего и следовательно удаление которого в меньшей степени скажется на
дальнейший процент попадания.
Функции заполнения КЭШа, замещения блоков данных и поиска данных осуществляет
контроллер кэш памяти.
Принято решение об организации объединенного КЭШа команд и данных. В таком КЭШе
данные и команды хранятся вместе. Преимущество такой организации в том, что при заданной
емкости КЭШа ему свойственна более высокая вероятность попаданий по сравнению с
раздельным типом, т.к. оптимальный баланс между командами и данными устанавливается
автоматически. Например, если в выполняемом фрагменте программы обращение к памяти
связано в основном с выборкой команд, а не данных, кэш-память будет иметь тенденцию
насыщаться командами, и наоборот. А так как команды и данные передаются по одной шине и
хранятся в одной ОП, то одновременная их выборка все равно физически невозможна.
Способ отображения кэш-памяти выбран множественно-ассоциативный, т.к. является
компромиссным между прямым отображением («+» - простая реализация, «-» - относительно
низкий уровень попаданий), и полностью ассоциативным («+» - гибкая выборка при выборе
строки для обновления, «-» - высокая стоимость).
Алгоритм замещения – LRU (Last Recently Used), который предполагает подсчет
обращений к тому или иному блоку (выполняется контроллером).
По заданию организация ОП страничная. Страничная организация памяти используется для
реализации механизма виртуальной памяти, позволяющей реализовать механизм динамического
распределения памяти и адресовать более 4Гб ОП. Страничный механизм это один из способов
преобразования виртуального адреса (ВА) в физический адрес (ФА). Страницы имеют
фиксированный размер. Двенадцать младших разрядов начального адреса любой обычной
(размером 4К) страницы всегда равны нулю. Поэтому любой объект в памяти, имеющий подобный
начальный адрес, называется выровненным
по границе страницы. Схема страничного
преобразования приведена на рис. 5.
В системах со страничной организацией основная и внешняя память делятся на страницы
фиксированной длины. Каждой программе (пользователю) предоставляется некоторая часть
адресного пространства, которая может превышать основную память компьютера, и которая
ограничена только возможностями адресации, заложенными в системе команд. Эта часть
адресного пространства называется виртуальной памятью пользователя и выражается в целом
количестве страниц. В ОП содержит таблица страниц для текущей программы. Табличная
страница содержит дескрипторы (элементы PTE) каждой страницы программы. В дескрипторе
содержится физический адрес страницы и информация, определяющая права доступа (защита) и
состояние страницы.
9
31
Страничная
таблица
nпрограммы
….
БР
Виртуальный адрес
12 11
PAGE
OFFSET
0
Дескриптор страницы
31
12 11
0
ФА страницы
Сост. и защита
стр.
Физический адрес
31
12 11
ФА страницы
OFFSET
0
Рис.5. Схема преобразования ВА в ФА при страничной организации памяти
Каждое слово в виртуальной памяти пользователя определяется виртуальным адресом,
состоящим из двух частей:

старшие 20 разрядов адреса (PAGE) рассматриваются как номер страницы, представляющей
собой смещение относительно базового регистра (БР) страничной таблицы программы;
 младшие 12 являются номером слова (OFFSET) (или байта) внутри страницы.
Преобразование ВА в ФА происходит следующим образом: по номеру страницы из ВА
относительно БР считывается ее дескриптор из страничной таблицы, из которого берется
физический адрес страницы. К физическому адресу (20 бит) дескриптора добавляется номер
слова из ВА (OFFSET – 12 бит). Полученный адрес является ФА.
Так как страничная таблица хранится в ОП, то страничный механизм требует одного
дополнительного обращения к ОП, для преобразования адреса.
Так как страничный механизм требует дополнительного обращения к памяти при
преобразовании адресов, то вводится адресный КЭШ (буфер TLB), хранящий 32 физических
адреса интенсивно использующихся ЦП страниц.
Таким образом, можно привести следующую структурную схему рис.6.
10
Рис.6. Структурная схема сопряжения КЭШ, ПВА, ЦП
4.5. Система прерывания программ.
Система прерывания программ (СПП) предназначена для обработки событий,
возникновение которых равновероятно для любого момента времени и не может быть предсказано
заранее. Такие события могут быть связаны с работой устройств ввода/вывода или внешних
устройств. В любом случае, если возникновение таких ситуаций допустимо и учтено
разработчиками ЭВМ, реакцией на него является прерывание текущей программы и вызов
программы обработчика прерывания. Прерванная программа может быть начата заново
(наименьшие аппаратные затраты) либо продолжена с места прерывания (большие аппаратные
затраты, но и большее быстродействие).
В функции СПП входит:
 Формирования сигнала запроса на разрешенные прерывания в соответствии с
приоритетами устройств (блокировка запрещенных прерываний осуществляется методом
маскирования).
 Сохранение текущих параметров системы, необходимых для возобновления выполнения
прерванной программы, после завершения программы обработчика прерывания.
 Восстановление сохраненных параметров и возобновление прерванной программы.
В случае прерываний на макропрограммном уровне наличие запросов возможных запросов
на прерывание проверяется в ходе цикла выборки машинной команды. Поэтому прерывания могут
происходить только после того, как завершено выполнение машинной команды, а выполнение
новой команды еще не началось.
Для последовательной структуры СПП характерна одна общая для всех устройств линия
запроса на прерывание. Получив запрос, процессор посылает сигнал, подтверждающий получение
запроса. Сигнал подтверждения прерывания проходит от одного устройства ввода-вывода к
другому до тех пор, пока не достигнет устройства, пославшего запрос на прерывание. Тогда это
устройство подает свой идентифицирующий номер на шину данных. Для такой структуры
характерны более низкие затраты программных средств, однако распределение приоритетов
устройств, здесь фиксировано.
Последовательность действий при обработке прерываний:
11
1. Распознавание запроса на прерывание.
2. Запоминание состояния.
3. Маскирование прерываний.
4. Подтверждение прерывания.
5. Вызов подпрограммы обработки прерывания.
6. Восстановление и возврат.
Рис.7- Структурная схема системы прерываний
Опишем работу контроллера прерываний. На входе запроса прерываний INT возникает
запрос прерывания, порождаемый одним из периферийных устройств. При этом триггер в
контроллере прерываний устанавливается в единичное состояние. Этот триггер нужен для того,
чтобы запомнить сигнал прерывания до окончания выполняемой в данный момент машинной
макрокоманды. Пока не запомнено состояние процессора прерывание маскировано (затем маска
приводится в состояние, при котором могут восприниматься запросы на прерывание с более
высоким приоритетом). Схема формирования сигнала прерывания формирует сигнал INT,
подаваемый на вход мультиплексора флагов МУУ. По окончании команды этот флаг тестируется
и если он установлен, то происходит прерывание, вызывающее подпрограмму опроса устройств,
которая передает управление по соответствующему адресу из таблицы.
При выходе из прерывания МУУ формирует сигнал сброса прерывания. Этот сигнал
сбрасывает триггер в нулевое состояние.
4.6. Система ввода/вывода.
Система ввода вывода (СВВ) осуществляет связь между внешними источниками данных и
ОП ЭВМ. При этом обмен данными происходит под управлением ЦП. При программно
управляемом (условном) вводе-выводе управление обменом информацией осуществляется
подпрограммой, которая сама опрашивает устройства на предмет их готовности передавать
данные. При данной организации ввода-вывода сводятся к минимуму аппаратные затраты, но
увеличивается загруженность процессора.
4.7. Блок синхронизации.
Система синхронизации предназначена для обеспечения синхронной работы всех узлов
ЭВМ. В ее состав входит блок синхронизации (БС), местные схемы тактирования и блок
начальной установки (БНУ).
В задачи БС входит генерация опорной синхропоследовательности заданной формы и
частоты. Частота тактового сигнала задает темп работы системы и определяется ее
быстродействием. Форма тактирующего сигнала зависит от структуры управляемого узла, и
12
поэтому не может быть одинаковой для всех устройств системы. Для формирования
синхроимпульсов заданной фазности и скважности внутри каждого узла могут использоваться
местные схемы тактирования. Но и в этом случае используемые синхросигналы вырабатываются
на основе общего опорного сигнала и всегда будут кратны ему.
В состав БС входит задающий генератор (ЗГ), формирователь опорных сигналов (ФОС) и
размножитель сигналов (РС). Основной функцией ЗГ является генерация прямоугольного меандра
определенной частоты (T-период вырабатываемого сигнала). На основе полученного меандра
ФОС формирует сигнал заданной формы и частоты, при этом длительности импульса и
промежутка всегда будут кратными T. Далее полученный опорный сигнал подается в РС, на
выходах которого формируется заданное число копий исходного сигнала. Использование РС
обусловлено невозможностью использования мощного генератора с разводкой от него сигналов по
всем элементам памяти. Так как такое решение приводит к возникновению помех, вызываемых
сильноточными цепями синхронизации.
Размноженный опорный сигнал, поступая в
узел ЭВМ, может быть подвергнут
дополнительным преобразованием местной системы тактирования. Современные БИС/СБИС
зачастую снабжаются схемами коррекции (PLL и DLL), в задачи которых входят коррекция
расфазирования синхросигналов и, при необходимости, умножение их частоты.
Работа всех устройств системы в одном темпе, которую обеспечивает БС, еще не означает
их взаимной синхронности. Перед началом работы все системные устройства должны быть
переведены в определенное исходное состояние под действием сигнала сброса, выработкой
которого занимается блок начальной установки.
Как правило, БЛС формирует два сигнала сброса:
 ARESET – цифровой сигнал асинхронного сброса. Формируется микросхемой начальной
установки, которая управляет его длительностью в зависимости от характера нарастания
аналогового сигнала на ее тестовом входе. Таким образом, разработчику предоставляется
возможность задать длительность сигнала, достаточную для надежного сброса.
 RESET – цифровой сигнал синхронного сброса. Получается из ARESET путем пропускания
через триггер, тактируемый опорным синхросигналом. Предназначен для сброса МУУ и
подается на соответствующий вход секвенсора микрокоманд.
Сигнал ARESET подается в БС и на его основе вырабатывается сигнал HOLD для ЦП.
Запуск системы происходит следующим образом:
При включении или возобновлении питания БНУ формирует сигнал ARESET. Пока
ARESET=0 сигнал HOLD принимает значение 1, запрещающее тактирование системы. Сигнал
RESET равный 0, подается на вход сброса секвенсора микрокоманд. Тот в свою очередь
формирует нулевой адрес МПП, по которому находится начальная микрокоманда алгоритма
инициализации системы. Спустя задержку выборки, на выходе МПП появляется требуемая МК.
Длительность асинхронного сигнала ARESET должна быть не меньше суммы задержек на
формирования нулевого адреса секвенсором и выборки по нему микрокоманды из МПП. После
того как сигнал ARESET примет значение 1, будет снят запрет на тактирование и по первому
фронту, во-первых, произойдет загрузка микрокоманды, дежурящей на входе РГмк, а во-вторых,
RESET примет значение равное 1, разрешая дальнейшую работу секвенсора.
Структурная схема системы синхронизации приведена на рис. 8.
13
Рис.8. Структурная схема блока синхронизации и блока начальной установки.
4.8. Таймер.
Операционная система (ОС), отвечающая за координацию всех действий ЭВМ, выполняет
операции ввода-вывода, взаимодействует с пользовательскими программами и управляет ими,
интенсивно используя прерывания. Механизм прерываний позволяет ОС переключаться от одной
пользовательской программы к другой. Если ЭВМ поддерживает два режима работы, супервизора
и пользовательский, получив запрос прерывания, он всегда переключается в режим супервизора.
Завершив работу по обработке прерывания, процессор переключается обратно в пользовательский
режим. В случае, когда процессор работает в многозадачном режиме (выполняет сразу несколько
пользовательских программ одновременно) применяется стандартная технология, называемая
квантованием времени. Суть ее заключается в том, что каждая прикладная программа выполняется
в течении короткого промежутка времени T, называемого квантом времени, после чего другая
программа выполняется в течении своего кванта времени и т.д. Величина T определяется по
непрерывно работающим аппаратным часам. Основываясь на показаниях этих часов, таймер
генерирует системные прерывания каждые T секунд. Режим работы таймера задается ОС, которая
имеет возможность изменять величину кванта T, выделяемого для работы над пользовательской
программой, и кванта времени работы супервизора или вовсе запрещать счет.
4.9. Периферийные устройства.
Под термином периферия подразумевают любые подключенные к компьютеру внешние
устройства. Все периферийные устройства можно разделить на две категории в соответствии с их
назначением. Устройства первой категории выполняют операции ввода-вывода. Это клавиатура,
мышь, принтер, монитор, звуковая карта, сетевая карта и т.д. Ко второй категории относятся
устройства, предназначенные главным образом для хранения данных, то есть внешние
запоминающие устройства.
4.9.1. Клавиатура.
Клавиатура является одним из основных устройств ввода, обеспечивающих интерактивное
общение пользователя с ЭВМ. В состав клавиатуры входит массив ключей, генерирующих
сигналы нажатия клавиш, и микропроцессор, который воспринимает эти сигналы, формируя
двухбайтовый пакет, состоящий из скан-кода нажатой клавиши и статусного байта. Скан-код – это
однобайтовое число, младшие 7 бит которого представляют идентификационный код,
присвоенный каждой клавише, а старший 8-ой бит кода говорит о том, была ли нажата клавиша
14
(бит = 1, код нажатия) или освобождена (бит = 0, код освобождения). Таким образом, каждое
нажатие клавиши дважды регистрируется в контроллере клавиатуры. Статусная часть слова
содержит флаги спец-клавиш (Insert, CapsLock, NumLock и т.д), нажатие которых связано с
включением/выключением определенного режима работы клавиатуры. Сформированный пакет
передается в компьютер через последовательное соединение.
Контроллер, получив пакет, выставляет запрос на прерывание, а при получении
подтверждения выдает его на системную шину. Процессор выполняет процедуру, анализа слова,
которое может содержать управляющий код, например: "Ctrl-Break".
Так как за время реакции системы на выставленное прерывание в контроллер клавиатуры
могут продолжать поступать новые коды нажатых клавиш, значения которых не должны быть
потеряны, в состав контроллера входит буфер, организованный в виде очереди FIFO. В случае
если время реакции системы будет слишком большим, очередь FIFO неизбежно переполнится и
значения, введенные первыми, будут утеряны. Контроллер будет продолжать генерировать сигнал
запроса прерывания пока очередь FIFO не опустеет.
4.9.2. Монитор.
Выходные данные компьютера могут быть представлены в самой разной форме – в виде
текста, графики, звука и т.д. Наиболее распространенным и удобным устройством вывода является
дисплей (монитор), служащий для визуального представления выходных данных компьютера.
Монитор является пассивным и в большинстве случаев аналоговым устройством. Коммутация с
системой происходит по средствам видеоадаптера (видеокарты).
На ранних стадиях развития ЭВМ всю работу по подготовке изображения, выводимого на
монитор, выполнял ЦП, что существенно снижало коэффициент полезной работы. Со временем
требование к качеству изображения, и частоте его обновления необратимо росло, в результате
чего ЦП уже не мог справляться с поставленной задачей в одиночку. На помощь ему пришел
видео-акселератор, взявший на себя часть работы ЦП (в основном обработку 3D-графики).
Следующим шагом стало полное освобождение ЦП от функций формирования изображения, за
счет использования видеокарт.
В наше время видеокарта выполняет две основные функции – формирования битовых
полей (изображений выводимых на монитор), построение которого происходит по специальным
алгоритмам, и преобразование цифрового сигнала в аналоговый, для отображения на мониторе.
Видеокарта исполняется в виде отдельной БИС, в состав которой входит видеопроцессор,
формирующий битовые поля, быстродействующая оперативная память для вычислений и
хранения сформированных изображений и ЦАП, преобразующий цифровое представление в
аналоговый сигнал. Помимо аналогового выхода современные видеокарты имеют и цифровой,
предназначенный для подключения TFT или плазменных мониторов.
Связь видеокарты с ЦП осуществляется по средствам системной шины. Центральный
процессор лишь передает видеокарте базовую информацию, на основе которой она
самостоятельно строит готовые изображения и выводит их на монитор.
5. Разработка функциональной схемы взаимодействия основного
процессорного элемента и процессорного элемента плавающей точки
При разработке будем ориентироваться на микросхемы серии Аm29300.
Семейство Am29300
это
набор
СБИС
служащий
для
построения
высокопроизводительных
32-х
разрядных
систем
на
основе
принципа
микропрограммирования. Потребуются следующие элементы этого семейства:
Am29С332 (ОПЭ), представляет собой нерасширяемый 32-разрядный центральный
процессорный модуль. Поддерживает 80-90 н.с. микроцикл для 32 разрядных устройств. Имеет
два входных и один выходной порты данных. Обладает встроенным контролем четности данных.
Поддерживает 1-, 2-, 3- и 4-байтовые форматы данных для всех операций и битовые поля
переменной длинны для логических операций. Оснащен встроенными схемными средствами
выполнения многотактовых операций.
15
Am29C325 (ПЭПТ), представляет собой нерасширяемый 32-разрядный процессорный
модуль для осуществления операций над числами с плавающей точкой. Поддерживает 110-120 н.с.
микроцикл для 32-разрядных устройств. Имеет два входных и один выходной порты данных. На
выходе формирует дополнительные разряды контроля паритета данных, что обеспечивает
совместимость с основным процессорным элементом. Поддерживает операции длинного и
короткого сложения и вычитания с нормализацией чисел с плавающей точкой и без неё, короткое
умножение. Оснащен встроенными схемными средствами выполнения многотактовых операций.
Регистровый файл отделен от обоих ПЭ и выполнен в виде автономного прибора —
Am29С334.
Возможны два варианта организации работы сопроцессора. В первом случае ОПЭ и
сопроцессор работают по очереди, выполняя каждый команды из своего набора, во втором случае
сопроцессор и основной процессорный элемент работают параллельно. В таком случае
существенно увеличиваются аппаратные затраты. Для сопроцессора необходимо собственное
устройство управления и регистровый файл. Могут возникнуть задержки в вычислениях, если
ОПЭ будет работать с результатом, получаемым с сопроцессора. Ещё один недостаток: Am29C325
работает в полтора раза медленнее, чем Am29С332. В результате будет очень сложно
синхронизировать их работу. В практике, достаточно малую долю, от общего числа операций,
занимают операции с плавающей точкой.
Поэтому приемлемым является первый вариант взаимодействия ОПЭ с ПЭПТ (Приложение
1). В этом случае достаточно одного, общего, устройства управления, которое, в зависимости от
типа операции, приостанавливает один из процессорных элементов. Достаточно присутствие
одного регистрового файла. Также становиться возможным использование общего регистра
данных.
Так как сопроцессор работает медленнее, необходимо существование дополнительной
частоты тактирования. Приемлемым будет, если второй сигнал тактирования будет иметь вдвое
больший интервал, чем основной. Тогда простой основного ПЭ будет составлять ровно два
микроцикла, что обеспечивает синхронизацию работы процессорных элементов.
Вывод данных из процессорных элементов производиться на локальную шину FB,с которой
данные поступают на вход буфера и регистра данных. Буфер предоставляет возможность
удержания данных, если они не предназначены для записи в регистровый файл. Из буфера данные
поступают на локальную шину данных EB, откуда они поступают на один из портов регистрового
файла. Следует отметить, что адрес является 32-разрядным, а данные 36-разрядными (4-разряда
контроль четности). Поэтому 4-разряда четности в КЭШ не передаются. Все внутренние шины 36разрядные.
Флаги, генерируемые процессорными элементами, поступают на вход «Т» тестирования
внешних условий секвенсора микрокоманд.
На процессорные элементы данные поступают из соответствующих трактов регистрового
файла. Процессорный элемент плавающей точки не осуществляет контроль паритета (он только
формирует контрольные биты на выходе), поэтому дополнительные четыре разряда контроля
четности отбрасываются. Данные загружает активный в данный момент ПЭ. Видно, что
конфликты не обнаруживаются.
Информация относительно типа операции должна содержаться в коде операции команды.
Управление
процессорными
элементами
производится
микропрограммой.
Из
микрокоманды поступают соответствующие биты на входы управления ПЭ. Также
микрокомандой, в зависимости от типа операции, производится приостановка одного из
процессорных элементов (подача сигнала высокого уровня на вход «HOLD», not_OE),
запрещение/разрешение вывода данных регистрам адреса и данных, и буферу. Микропрограмма
управляет работой адресного регистра, разрешает/запрещает запись в таблицу страниц. Также
разрешает/запрещает преобразование виртуальных адресов в физические. Данная опция
необходима, в случае, когда происходит обращение к периферийному устройству по полученному
вектору прерывания. Потому что, после сложения вектора значения прерываний с содержимым
базового регистра, получается физический адрес устройства.
В данной реализации было решено использовать операции с плавающей запятой в формате
IEEE с одинарной точностью (32 бита). В зависимости от управляющих битов, поступающих из
МУУ, выбирается тип операции, в каком виде (целочисленном или плавающей точки)
16
представлены операнды, какой тип округления использовать в случае, если выполняются
операции с числами с плавающей точкой.
Число с плавающей запятой состоит из:
1) Мантиссы (выражающей значение числа без учёта порядка);
2) Знака мантиссы (указывающего на отрицательность или положительность числа);
3) Порядка (выражающего степень основания числа, на которое умножается мантисса);
4) Знака порядка.
Опишем 32 битный формат IEEE 754:
a) Число может быть + или - . Поэтому отводится 1 бит для обозначения знака числа: 0положительное, 1-отрицательное. Этот самый старший бит в 32 битной
последовательности.
b) Далее пойдут биты экспоненты, для этого выделяют 1 байт (8 бит).Экспонента может быть,
как и число, со знаком + или -. Для определения знака экспоненты, чтобы не вводить ещё
один бит знака, добавляют смещение к экспоненте в половину байта +127(0111 1111). То
есть, если наша экспонента = +7 (+111 в двоичной), то смещенная экспонента = 7+127=134.
А если бы, наша экспонента была -7 , то смещенная экспонета=127-7 =120. Смещенную
экспоненту записывают в отведенные 8 бит. При этом, когда нам будет нужно получить
экспоненту двоичного числа, мы просто отнимем 127 от этого байта.
c) Оставшиеся 23 бита отводят для мантиссы. Но, у нормализованной двоичной мантиссы
первый бит всегда равен 1, так как число лежит в диапазоне 1<=M<2. Нет смысла,
записывать единицу в отведенные 23 бита, поэтому в отведенные 23 бита записывают
остаток от мантиссы.
На Рис. 9 представлен 32-х битный формат IEEE754.
Рис. 9. Формат числа с плавающей точкой одинарной точности по стандарту IEEE 754
6. Заключение.
В процессе разработки ЭВМ заданной конфигурации были закреплены и углублены знания,
полученные в прошлом семестре по предмету «Организация ЭВМ. Разработана функциональная
схема сопряжения и алгоритм работы сопроцессора плавающей точки.
. В результате проектирования приобретены навыки разработки узлов ЭВМ на структурном,
функциональном и алгоритмическом уровнях.
17
7. Список использованных источников.
1. Цилькер Б.Я. С.А.Орлов. «Организация ЭВМ и систем». – Спб.: БХВ-Петербург, 2004. – 667стр.
2. Хамахер К., Вранешич Э., Заки С. Организация ЭВМ.-5-е изд.-СПб.:Питер, 2003.
18
8. Приложение 1. Структурная схема центрального процессора
Приложение 2. Структурная схема прототипа микро-эвм
20
Документ
Категория
Компьютеры и периферийные устройства
Просмотров
93
Размер файла
1 546 Кб
Теги
белоусов
1/--страниц
Пожаловаться на содержимое документа