close

Вход

Забыли?

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

?

Ретунский (2)

код для вставкиСкачать
Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Государственное образовательное учреждение
Высшего профессионального образования
Новосибирский Государственный Технический Университет
Кафедра вычислительной техники
Курсовой проект
по дисциплине “Организация ЭВМ”
Группа: АМ-610
Выполнил: Ретунский А.Л.
Проверил: Гребенников В.Ф.
Новосибирск 2009 г.
Реферат
Данная работа представлена на 36 страницах, содержит 22 рисунка.
В работе используются следующие условные обозначения и сокращения:
ЭВМ – электронная вычислительная машина;
ЦПУ — центральное процессорное устройство;
СПП — система прерывания программ;
СВВ — система ввода-вывода;
БС — блок синхронизации;
ОП – оперативная память;
КЭШ – cashe;
ВМ – вычислительная машина;
ЦП — центральный процессор (CPU);
ГТИ – генератор тактовых импульсов;
ПЗУ - постоянное запоминающее устройство;
ПУ — периферийное устройство;
ОБ — операционный блок;
МУУ — микропрограммное устройство управления;
ПНА — преобразователь начального адреса;
АЛУ - арифметико-логическое устройство;
К – команда;
МК – микрокоманда;
ПЭ – процессорный элемент;
МПП – микропрограммная память;
МПС — микропроцессорная секция;
ЛС — логика сдвигов;
КОП — код операции;
ПВА – преобразователь вектора адреса;
РОН — регистр общего назначения;
ОЗУ — оперативное запоминающее устройство;
НУ — начальная установка;
ШАВ - шина адреса ветвления;
УСА - управления следующим адресом;
МВВ – модули ввода-вывода;
ВС – вычислительная система;
ИМС – интегральная микро-схема;
ВУ – внешнее устройство;
УС – устройство синхронизации;
ТГ – тактовый генератор;
ЭЛТ – электронно-лучевая трубка;
МД - магнитные диски;
НГМД – накопитель на гибких магнитных дисках;
AB — Address Base (шина адресов);
DB — Data Base (шина данных);
CB — Control Base (шина управления);
TLB — Translation Lookaside Buffer;
MUX – мультиплексор;
Reg – регистр (вх – входной, вых – выходной);
LRU — Least Recently Used
2
Содержание
Цели работы ...................................................................................................................................4
Исходные данные ..........................................................................................................................4
Разработка и описание структурной схемы ЭВМ ......................................................................5
Обобщенная структурная схема ЭВМ .....................................................................................5
Центральный процессор ...........................................................................................................7
Операционный блок ..................................................................................................................8
Арифметико-логическое устройство .................................................................................10
Регистровый файл................................................................................................................10
Буферные регистры .............................................................................................................10
Адресный сопроцессор .......................................................................................................10
Микропрограммное устройство управления ........................................................................12
Система прерываний ...................................................................................................................16
Оперативная память ....................................................................................................................18
Адресный кэш ..............................................................................................................................20
Организация ввода/вывода .........................................................................................................22
Блок синхронизации ....................................................................................................................24
Периферийные устройства .........................................................................................................26
Монитор....................................................................................................................................26
Клавиатура ...............................................................................................................................28
Мышь ........................................................................................................................................28
Внешние ЗУ..............................................................................................................................29
Таймер ......................................................................................................................................30
Разработка блока преобразования виртуальных адресов. .......................................................31
Заключение...................................................................................................................................35
Список литературы ......................................................................................................................36
3
Цели работы
Целью курсового проектирования является углубление и закрепление
теоретических знаний, приобретение навыков разработки узлов ЭВМ на структурном,
функциональном и алгоритмическом уровнях.
Курсовой проект посвящен разработке структурной схемы гипотетической ЭВМ и
принципиальной схемы, указанного в задании, блока, входящего в состав этой ЭВМ.
Исходные данные
Общие исходные данные:
В состав ЭВМ входят следующие блоки:
 ЦПУ;
 ОП;
 СПП;
 СВВ;
 БС;
 таймер;
 монитор, клавиатура, мышь.
Основные параметры ЭВМ:
 адресность ЭВМ - двухадресная;
 длина команды - переменная.
Разрядность ЭВМ и минимальный объем оперативной памяти:
 разрядность – 32;
 ёмкость ОП – не менее 16 Мбайт.
Индивидуальные данные:
 структура ЭВМ – двухшинная;
 сопроцессор – адресный сопроцессор;
 система прерываний – цепочечная макро;
 кэш – адресный КЭШ (буфер TLB);
 оперативная память – сегментно-страничная;
 ввод/вывод – условный;
 разрабатываемый блок - блок преобразования виртуальных адресов в
физические
4
Разработка и описание структурной схемы ЭВМ
Проектирование структуры заключается в определении состава ЭВМ и способов
взаимодействия, содержащихся в ней устройств.
Т.к. состав проектируемой ЭВМ уже определен в исходных данных, проектирование
удобно будет начать с рассмотрения структурной схемы ЭВМ, а затем подробно
рассмотреть ее отдельные части.
Обобщенная структурная схема ЭВМ
Согласно заданию, ЭВМ построена на основе общей шины. В данном случае все
устройства вычислительной машины подключены к магистральной шине, служащей
единственным трактом для потоков команд, данных и управления (рис.1). Наличие общей
шины существенно упрощает реализацию ВМ, позволяет легко менять состав и
конфигурацию машины. Благодаря этим свойствам шинная архитектура получила
широкое распространение в мини и микро ЭВМ. Вместе с тем, именно с шиной связан и
основной недостаток архитектуры: в каждый момент передавать информацию по шине
может только одно устройство. Основную нагрузку на шину создают обмены между
процессором и памятью, связанные с извлечением из памяти команд и данных и записью в
память результатов вычислений. На операции ввода/вывода остается лишь часть
пропускной способности шины. Практика показывает, что даже при достаточно быстрой
шине для 90% приложений этих остаточных ресурсов обычно не хватает, особенно в
случае ввода или вывода больших массивов данных.
Центральный
процессор
Арифметикологическое
устройство
Устройство
управления
Основная
память
Регистры
Вторичная
память
Устройства
ввода/
вывода
Рис.1. Структура вычислительной машины на базе общей шины
В целом следует признать, что при сохранении фон-неймановской концепции
последовательного выполнения команд программы, шинная архитектура в чистом ее виде
оказывается недостаточно эффективной. Более распространена архитектура с иерархией
шин, где помимо магистральной шины имеется еще несколько дополнительных шин. Они
могут обеспечивать непосредственную связь между устройствами с наиболее
интенсивным обменом, например процессором и кэш памятью. Другой вариант
использования дополнительных шин — объединение однотипных устройств ввода/вывода
с последующим выходом с дополнительной шины на магистральную. Все эти меры
позволяют снизить нагрузку на общую шину и более эффективно расходовать ее
пропускную способность.
5
Ниже представлена структурная схема ЭВМ. Основной особенностью данной ЭВМ
является ее двухшинная организация. В отличие от трехшинной организации, здесь шины
данных и адреса объединены, поэтому адрес и данные могут передаваться только в разные
моменты времени.
В разрабатываемой ЭВМ структура – двухшинная, это означает, что линии адреса и
данных объединены в единую мультиплексируемую шину адреса/данных. Такая шина
функционирует в режиме разделения времени, поскольку цикл шины разбит на временной
интервал для передачи адреса и временной интервал для передачи данных.
Мультиплексирование адресов и данных предполагает наличие мультиплексора на
одном конце тракта пересылки информации и демультиплексора на его другом конце.
Мультиплексоры и демультиплексоры играют роль коммутирующих устройств.
Мультиплексирование позволяет сократить общее число линий, но требует
усложнения логики связи с шиной. Кроме того, оно ведет к потенциальному снижению
производительности, поскольку исключает возможность параллельной передачи адресов и
данных, что можно было бы использовать в транзакциях записи, одновременно выставляя
на шину адреса – адрес, а на шину данных – записываемое слово. Примером применения
мультиплексируемой шины адреса/данных может служить шина Futurebus+.
На шину управления сигналы поступают из ЦП и блока синхронизации. Из ЦП на
шину управления идут сигналы обращения к памяти и определения направления передачи
данных, с БС – системный синхросигнал. В БС также находится схема начальной
установки и сброса. Схема начальной установки устанавливает в исходное состояние
различные узлы ЭВМ после включения питания. В частности, отключает все выходные
буферы устройств от системной магистрали во избежание конфликта и выхода их из
строя, обнуляет системный таймер и запускает ГТИ после того, как установится питание,
а также сбрасывает секвенсор микрокоманд. При пуске системы выполняется
тестирование по служебной программе, хранящейся в ПЗУ и инициализация контроллеров
периферийных устройств.
ЭВМ с хранимой программой может быть определена как машина,
обрабатывающая данные в соответствии с заранее определенными правилами
(инструкциями), при этом программа (набор инструкций) и данные находятся в памяти
машины (рис. 2).
Для загрузки программы и данных в память, а также для вывода результатов
обработки из памяти необходим какой-либо способ связи с внешними объектами. Этой
цели служат устройства ввода-вывода (рис. 2).
При каждом обращении к памяти по определенному адресу центральный
процессор, как правило, выполняет операцию чтения или записи одного слова памяти [1].
Периферийные устройства присоединяются с помощью блоков управления
(контроллеров) периферийными устройствами, осуществляющих согласование форматов
данных, используемых в ПУ с форматом принятом для передачи по общей шине.
Последний (формат данных) обычно соответствует машинному слову процессора и/или
информационной ширине магистрали.
Проектирование структуры заключается в определении состава ЭВМ и способов
взаимодействия, содержащихся в ней устройств. Структурная схема разрабатываемой
ЭВМ приведена на рис.2.
6
ЦП
ОБ
МУУ
Блок
синхронизации
ОП
Адресный сопроцессор
Адресный кэш
Контроллер
прерываний
ОЗУ
ПЗУ
Котроллер ОП
Блок контроля
DB/AB
CB
Дисковый
контроллер
Жесткий
диск
НГМД
Контроллер
устройств ввода
Клавиа
тура
Видеоадаптер
Мышь
Таймер
Монитор
Рис.2 Структурная схема ЭВМ
Далее будет подробно рассмотрено назначение каждого узла и блока, а так же функции,
которые они выполняют.
Центральный процессор
Мною была выбрана разрядность ЭВМ равная 32 бита. Причинами выбора послужило
то, что 32 разрядные системы обеспечивают большее быстродействие, нежели 16
разрядные, а так же задание упрощается тем, что в курсе дисциплины « Схемотехника »
мы разработали ядро микро ЭВМ с разрядностью 32 бита.
В функции ЦП входят: выполнение команд, хранящихся в ОП, и координирование
работы всех узлов ЭВМ.
ЦП является основным блоком ЭВМ и состоит из:
- ОБ, в нём происходит обработка данных.
- МУУ, определяет порядок обработки команд в ОБ и осуществляет управление всеми
узлами ядра ЭВМ.
- Также к составляющим частям процессора можно отнести адресный сопроцессор и
адресный кэш.
Центральное обрабатывающее устройство (далее процессор) предназначено для
обработки данных, выполнения вычислений с различными типами данных (целые числа,
числа с плавающей точкой, адреса), формирования физического адреса и.т.д. Это все
требует значительного времени. Поэтому при разработке необходимо ориентироваться
7
прежде всего на увеличение быстродействия проектируемой ЭВМ. На данном этапе
проектирования это возможно путем введения конвейерной обработки исполняемых
команд.
Характерной особенностью архитектуры проектируемой ЭВМ является наличие
конвейерной обработки, как на уровне команд, так и на уровне микрокоманд. Это
достигается тем, что после микропрограммной памяти находится конвейерный регистр
микрокоманд. Таким образом, в цикле исполнения i-той микрокоманды можно смело
читать из микропрограммной памяти (i+1)-ую, которая будет сохранена в регистре
микрокоманд и исполнена в (i+1)-цикле.
Получаем один конвейер: “ПНА  Секвенсор  МПП  Регистр микрокоманд”,
реализованный в микропрограммном устройстве управления; и второй: “АЛУ 
Выходной регистр адреса (данных)”, реализованный в операционном блоке.
Упрощенная структурная схема ЦП изображена на рис.3.
Общая структурная схема ЦП изображена на рис. 7.
Рис.3 Упрощенная структурная схема ЦП
Операционный блок
ОБ предназначен для выполнения логических, арифметических и сдвиговых
операций над поступающими на его вход данными. Также в его задачи входит
формирование адреса следующей микрокоманды и формирование признаков результата
операции.
ОБ также может влиять на формирование следующего адреса в МУУ посредством
передачи в него признака ветвления.
Операционный блок включает в себя:

арифметико-логическое устройство (Am29332, 32-разрядный)

регистровый файл (Am29334, 2х16-разрядный)

буферные регистры (регистр входных данных, регистр выходных данных и адресный
регистр);
Структурная схема операционного блока изображена на рис. 4
8
AB/DB
CB
K
MK
Reg Д вх
MUX
Am29334 (регистровый файл)
(2x16)
АЛУ
(Am29332)
Reg Д/A вых
Рис. 4 Структурная схема операционного блока
С началом нового цикла в регистр входных данных помещаются данные с шины
AB/DB и поступают на входную шину регистрового файла. Запись и чтение в
регистровый файл производится по адресу, который берется, либо из соответствующего
поля регистра команд, либо из Reg МК (выбирается с помощью MUX). Выходная шина
регистрового файла управляется из МК, чтобы можно было ее использовать для передачи
константы из Reg МК. Далее данные прочитанные из регистрового файла или константа
из МК поступают на входы либо АЛУ, либо сопроцессора (рис. 7).
Вывод данных из процессорных элементов производиться на локальную шину, из
которой данные поступают на вход регистрового файла и регистра данных. Адреса могут
формироваться только в ПЭ, поэтому адресный КЭШ подключен напрямую к выходу ПЭ
(рис. 7).
Флаги, генерируемые процессорными элементами, поступают на вход
тестирования внешних условий секвенсера микрокоманд (рис. 7).
На процессорные элементы данные поступают из соответствующих трактов
регистрового файла. Управление процессорными элементами производится
микропрограммой. Из микрокоманды поступают соответствующие биты на входы
управления ПЭ. Также микрокомандой, в зависимости от типа операции, производиться
приостановка одного из процессорных элементов, запрещение/разрешение вывода данных
регистрам адреса и данных, запрещение/разрешение записи данных по тракту в
регистровый файл. Микропрограмма управляет работой адресного КЭШа,
разрешает/запрещает запись в таблицу сегментов или страниц. Также
разрешает/запрещает преобразование виртуальных адресов в физические. Данная опция
необходима, в случае, когда происходит обращение к периферийному устройству по
полученному вектору прерывания. Потому что, после сложения вектора значения
прерываний с содержимым базового регистра, получается физический адрес устройства.
9
Арифметико-логическое устройство
C помощью АЛУ, выполняются арифметические и логические операции над
поступающими на его вход данными. Выбор конкретной операции из всех возможных для
данного ОБ определяется кодом операции команды.
АЛУ представляет собой горизонтальную процессорную секцию, выполняющую
следующие функции:



выполнение арифметических операций;
выполнение различных сдвиговых и логических операций;
генерация адреса оперативной памяти;
Аm29332 состоит из приоритетного шифратора и группового 64-разрядного
сдвигателя, который позволяет за 1 такт выполнять все виды сдвигов на любое число
разрядов, вследствие чего не нужно реализовывать логику сдвигов отдельно. Эти
устройства позволяют выполнять арифметические операции над числами с плавающей
точкой.
АЛУ выполняет также операции двоично-десятичной арифметики. В структуру
Am29332 включен блок Q-регистра. Это позволяет поддерживать выполнение: операции
умножения 32-разрядных чисел и деления.
Наличие поддержки операций умножения и деления позволяет сэкономить на
арифметическом сопроцессоре.
Регистровый файл
Регистровый файл представляет собой регистровое запоминающее устройство с
двусторонним доступом. Имеется два порта записи и два порта считывания для данных и
четыре адресных порта. Пара адресных портов (один для записи и один для чтения)
связана с соответствующей парой портов записи и чтения данных.
Буферные регистры
Для взаимодействия с шиной АВ/DB используются буферные регистры.
Буферные регистры имеют динамический вход тактирования, вход разрешения
тактирования (загрузки) и тристабильный выход. По фронту 0,1 происходит захват
данных (при активном сигнале разрешения загрузки) и удержание их в течение цикла.
Если разрешена загрузка или вывод содержимого регистра адреса, то загрузка или вывод
содержимого регистра данных запрещена, и, наоборот.
Адресный сопроцессор
Адресный сопроцессор служит для вычисления адреса. Его использование
позволяет сократить количество тактов, необходимых для выполнения команды. В
отличие от основного процессора, адресный работает только с целочисленными данными
(адресами).
Адресный сопроцессор работает параллельно основному, т.е. основной процессор
выбирает и выполняет свои команды, адресный – свои (реально работа происходит
несколько по-другому: команда, поступившая в регистр команд обрабатывается сразу
обоими процессорами, но по-разному, например, при выполнении команд пересылки
регистр-регистр основной процессор занимается непосредственно пересылкой, а для
адресного эта команда означает вычислить следующий адрес). Такая работа возможна,
если адресный процессор содержит свое МУУ и ОБ.
10
В принципе, МУУ основного процессора может содержать и команды для
адресного сопроцессора, тогда структура основного процессора будет несколько другой:
общее МУУ, ОБ основного процессора, ОБ адресного сопроцессора. Однако в этом случае
объем МПП должен быть больше.
Работой адресного сопроцессора управляет МУУ основного процессора. Это
необходимо, например, в случаях команд условного перехода, когда адресный
сопроцессор вынужден ждать появления истинных флагов.
Основные режимы работы адресного сопроцессора это вычисление адреса
следующей команды и генерация адресов при пакетном чтении (записи), например, при
обновлении КЭШа. Если нужно вычислить адрес следующей команды, то сопроцессор
прибавляет к содержимому счетчика команд длину текущей команды, если имеет место
быть безусловный переход, то адрес перехода заносится в счетчик команд, если нужно
вычислить адрес операнда, то работает микропрограмма вычисления в зависимости от
способа адресации и т.д.
Код операции с регистра команд основного процессора попадает на
преобразователь начального адреса. Адрес микропрограммы поступает на секвенсер
микрокоманд и далее на микропрограммную память. Микрокоманда содержит
инструкцию для микропроцессорной секции, инструкцию для секвенсера микрокоманд,
адрес перехода, код условия. МПС занимается вычислением адреса.
Мультиплексор кода условия выбирает источник основной/сопроцессор условия и
управляется из микрокоманды.
Пример работы адресного сопроцессора и процессора.
Команда S2=R1*S1
S1, S2-относительные адреса операндов;
Процессор
R1*S1
S2
Сопроцессор
Адрес S1
Адрес S2
Адрес следующей команды
Рис. 5 Пример работы адресного сопроцессора и процессора
11
Микропрограммное устройство управления
Микропрограммное устройство управления – устройство, с помощью которого можно
отыскать в микропрограммной памяти следующую команду программы и связанные с
этой командой данные. МУУ объединяет в себе Reg К и средства формирования Мк:
ПНА, секвенсор (в нашем случае это Am29331), МПП, а так же конвейерный регистр
микрокоманд (Reg МК)
Код операции из регистра команд поступает на вход преобразователя начального
адреса. Преобразованный адрес с ПНА поступает на секвенсор. Секвенсор выбирает
источник адреса и выдает его на вход МПП. На выходах последней появляется
микрокоманда. Далее микрокоманда фиксируется в регистре микрокоманд.
Микрокоманда хранится там, в течение времени ее выполнения. В момент, когда
микрокоманда начинает выполняться, секвенсор формирует адрес следующей
микрокоманды.
Принцип микропрограммного управления, заключается в хранении управляющих
слов, выполняющих элементарные действия в течении цикла, и выборки их с помощью
секвенсора.
Таким образом, МУУ хранит в микропрограммной памяти и выбирает
управляющие слова (т.е. МК) из МПП, передаёт их в качестве управляющих слов ОБ и
другим устройствам (например, блоку синхронизации). Принимая управляющие слова,
устройствами выполняются соответствующие инструкции.
Работа с ОП осуществляется через ОБ. ОБ вычисляет адрес ячейки для
чтения/записи и принимает/передаёт данные из/в ОП. ОБ может принимать/передавать
данные не только из/в ОП, но и с/в внешних устройств.
Предполагается, что используется секвенсор микрокоманд Am29331,
генерирующий 16-ти разрядный адрес МПП [2]. Таким образом, он позволяет адресовать
МПП в 64К слов, где слово – разрядность МК. Разрядность Reg MK также определяется
разрядностью МК.
Регистр команд, также как и регистры адреса и входных и выходных данных,
является интерфейсным. Через него с AB/DB подается очередная команда.
Преобразователь начального адреса предназначен для дешифрации кода операции
в адрес микропрограммной памяти, по которому находится первая микрокоманда. ПНА
может быть выполнен как комбинационное устройство, так и в виде ПЗУ, в котором
зашиты начальные адреса последовательностей микрокоманд.
Микропрограммная память представляет собой ПЗУ и предназначена для хранения
последовательностей микрокоманд.
Регистр микрокоманд является конвейерным регистром, выдающим по фронту
синхроимпульса очередную микрокоманду для выполнения.
Секвенсор – основное устройство МУУ. Оно адресует микропрограммную память
ПВА – преобразователь вектора адреса (блок управления прерываниями). При
обработке внешних прерывания на уровне микрокоманд, данное устройство получает на
свой вход вектор прерывания, который нужно передать в МПП для выбора там
микропрограммы прерывания (её адрес содержится в векторе). Поэтому нужно, сначала
перевести выходы секвенсора в третье состояние – этим также занимается ПВА.
12
Рассмотрим составные части МУУ:
Регистр команд (Reg K) - является буферным регистром (интерфейсным элементом). Он
обеспечивает взаимодействие микропрограммного устройства управления с шиной
AB/DB.
Преобразователь начального адреса - дешифрирует поступающий из регистра команд
код операции в адрес соответствующей микрокоманды для секвенсера и представляет
собой программируемое ПЗУ (PROM).
Секвенсер микрокоманд - секция управления адресом программной памяти,
предназначена для применения в составе устройств управления адресом программной
памяти центральных процессоров ЭВМ и других быстродействующих вычислительных
устройств. Микросхема выполняет микрокоманды выбора адреса и содержит
наращиваемый сумматор для вычисления адресов, внутренний стек для вложения
подпрограмм и отдельную схему приращения для счетчика команд.
Функции, возлагаемые на секвенсор:
1.
Адресация полного объема микропрограммной памяти.
2.
Реализация типовых управляющих конструкций.
Микрокоманды выбора адреса, выполняемые секвенсером можно разделить на 5 групп:
безусловные выборки, условные переходы (и к подпрограмме), условные возвраты из
подпрограммы и смешанные микрокоманды.
Микропрограммная память представляет собой параллельно включенные микросхем
памяти EPROM.
Регистр микрокоманд (Reg Mк) служит для хранения выбранной из МПП
микрокоманды в течение такта ее выполнения.
Структурная схема МУУ представлена рис. 6
AB/DB
CB
Reg K
ПНА
ШАВ
Секвенсор
(Am29331)
ПВА
МПП
Vector
Reg МК
Рис. 6 Структурная схема МУУ
13
Поясним функционирование МУУ:
С шины AB/DB в Reg K поступает очередная команда. Адреса операндов
передаются в ОБ, а поле кода операции поступает на адресный вход ПНА. ПНА
преобразует поступивший КОП в адрес, по которому хранится микропрограмма
обработки команды в МПП. Полученный адрес передается на шину адреса ветвления.
Также для поддержки прерываний на уровне команд МУУ содержит ПВА,
предназначенный для преобразования поступившего с контроллера прерываний вектора в
адрес обработчика прерывания, который также передается на ШАВ. Источником адреса
следующей микрокоманды на ШАВ может быть и Reg MK. Секвенсор предназначен для
адресации МПП, генерации адреса микрокоманды и управления выводами ПНА, ПВА и
Reg MK. Секвенсор генерирует адрес следующей микрокоманды, исходя из состояния
своих управляющих входов и адреса, полученного с ШАВ. Сгенерированный адрес из
Секвенсора поступает на адресные входы МПП, которая хранит микрокоманды
(управляющие слова). Выбранная из МПП по поступившему адресу МК записывается в Rr
MK, откуда будет извлечена в следующем такте. Микрокоманда из Rr MK содержит поля
управления следующим адресом Секвенсора и поле инструкций. Сигналы поля УСА
поступают на Секвенсор и ШАВ (адрес перехода), а сигналы поля инструкций поступают
в ОБ и на шину управления CB для осуществления управления всей системой.
Устройства МУУ (Reg К, Секвенсор и Reg МК) тактируются системным
синхросигналом CLK из блока синхронизации.
При включении и восстановлении (после сбоя) питания на Секвенсор и Reg MK
подается сигнал синхронного сброса (RST). По этому сигналу МПП устанавливается в
нулевой адрес, по которому хранится микрокоманда инициализации системы. Однако,
МПП имеет некоторую задержку, поэтому необходим сигнал RST непосредственно на Rr
MK, для исключения конфликтных ситуаций устройств, работающих на одну шину (иначе
возможен выход из строя этих устройств).
14
AB/DB
CB
MUX
Reg K
ПНА
Секвенсор
(Am29331)
TLB
Счетчик
команд
Reg Д вх
блок преобразования
виртуальных адресов
Адресный
Сопроцессор
Am29334 (регистровый файл)
(2x16)
ПВА
АЛУ
(Am29332)
МПП
Vector
Reg МК
Reg Д/A вых
вых
Рис. 7 Общая структурная схема процессора
Система прерываний
Прерывания представляют собой средство изменения последовательности выполнения
команд и операций в ответ на внешние асинхронно происходящие события (запросы на
прерывание).
Система прерываний выполняет ряд функций:
 организация вхождения в прерывающую программу;
 организация приоритетного выбора между запросами, поступающими одновременно;
 организация возврата в прерванную программу.
Реализация прерываний оказывает значительное воздействие на производительность
и гибкость системы.
Во время работы ЭВМ внутри нее самой или во внешней среде могут возникнуть
события, требующие немедленных ответных действий.
Прерывание программы – это способность ЭВМ при возникновении определенных
ситуаций, требующих немедленной реакции ЭВМ, прекратить выполнение текущей
программы и передать управление программе, реализующей реакцию ЭВМ на возникшую
ситуацию.
Реакция ЭВМ состоит в том, что процессор формирует управляющий сигнал,
требуемый прекращения выполнения текущей программы, а затем формирует
управляющий сигнал перехода к обработке другой программы, соответствующей
происходящему событию. По завершении этой программы ЭВМ возвращается к
выполнению текущей программы.
Согласно заданию - система прерываний цепочечная на уровне макрокоманд (рис. 8).
Рис. 8 Структурная схема системы прерываний
При цепочечном методе для передачи запроса прерывания модули ввода/вывода
совместно используют одну общую линию. Линия подтверждения последовательно
проходит через все МВВ. Когда ЦП обнаруживает запрос прерывания, он посылает сигнал
по линии подтверждения прерывания. Этот сигнал движется через цепочку модулей, пока
не достигнет того, который выставил запрос. Запросивший модуль реагирует путем
выдачи на шину данных (в нашем случае на шину адресов/данных) своего вектора
прерывания. Вектор содержит либо адрес МВВ, либо какой-нибудь другой уникальный
идентификатор, который ЦП интерпретирует как указатель на соответствующую
программу обработки прерывания. Такой подход устраняет необходимость в
предварительных действиях с целью определения источника запроса прерывания и
реализуется он с помощью, хранящейся в ОП таблицы векторов прерываний, где
содержатся адреса программ обработки прерываний. Под таблицу отводится вполне
определенная область памяти (начальный адрес задается неявно). Данная структура
характерна более низкими затратами как аппаратных, так и программных средств на
реализацию, но недостаток состоит в том, что приоритет устройства фиксирован и
определяется порядком подключения, а также сигнал Interrupt Acknowledge (INTA)
распространяется с некоторой временной задержкой.
Необходимо помнить, что при запоминании и восстановлении состояния
процессора, все прерывания запрещены. Устройство, выставившее запрос, разрывает
линию подтверждения (INTA).
Алгоритм выполнения прерывания:
1. Распознавание запроса на прерывание. На границе инструкций процессор проверяет
состояние линии запросов на прерывание (INT). Если неактивна, то обрабатывается
следующая инструкция.
2. Запоминание состояния. При обработке прерываний процессор сохраняет в стеке
словосостояние (регистр флагов и указатель следующего адреса).
3. Подтверждение прерывания. Процессор подает сигнал подтверждения и устройство,
подавшее запрос на прерывание выставляет вектор/адрес на шину данных.
4. Вызов подпрограммы обработки прерывания. Процессор сбрасывает флаг разрешения
прерываний, по вектору определяет адрес обработчика и выполняет его.
5. Восстановление и возврат. Восстанавливается словосостояние, устанавливается флаг
разрешения прерываний.
При обработке прерываний на макроуровне, запрос прерывания, если он поступил
в течение макроцикла, а уж тем более микроцикла (от асинхронных устройств),
обрабатывается по окончанию текущей микропрограммы. Плюс в том, что не требуется
дополнительных аппаратных затрат на проверку запроса прерывания в течение
микроцикла, а минус – это то, что не всегда удается обеспечить оперативность ответа
устройству, запросившему прерывание.
17
Оперативная память
Блок памяти используется для хранения программ, вычислений и результатов. Этот
блок включает в себя два типа памяти:
ОЗУ, из которого можно как считывать информацию, так и записывать;
ПЗУ, предназначенное для хранения служебных программ ввода/вывода, программ
работы с устройствами, входящими в состав ЭВМ и программ начального тестирования и
инициализации, из которого можно только считывать информацию, но нельзя записывать.
Программы, хранящиеся в ПЗУ, называются аппаратно - программными средствами.
Адреса ПЗУ располагаются в нижней части адресного пространства
Адреса ОЗУ располагаются в верхней части адресного пространства
Выбор ОЗУ или ПЗУ осуществляет адресный дешифратор.
Виртуальная память – способ организации памяти мультипрограммной ВС, при
которой достигается гибкое динамическое распределение памяти. Принцип виртуальной
памяти предполагает, что пользователь при подготовке своей программы имеет дело не с
физической ОП, действительно работающей в составе ВС и имеющей некоторую
фиксированную емкость, а с виртуальной памятью, емкость которой равна всему
адресному пространству. Преобразование виртуальных адресов в физические упрощается,
если физическую и виртуальную память разбить на блоки, называемые в этом случае
страницами, которые имеют фиксированный размер 4Kb. Страницам виртуальной и
физической памяти присваивают номера, называемые соответственно номерами
виртуальных и физических страниц. Каждая физическая страница способна хранить одну
из виртуальных страниц.
Соответственно для управления выбором типа памяти (дешифратор выбора типа
памяти), управлением чтением/записью, а также управление выводом данных в общую
шину в структуру ОП необходимо ввести контроллер ОП. В данной структуре основными
сигналами управления памятью есть сигналы: R/ W - чтение / запись; OE - разрешение
вывода данных на общую шину и сигнал разрешения работы памяти MEM .
При разработке структурной схемы памяти необходимо учесть, что сигнал R/ W необходим только для блока ОЗУ, т.к. при выборе блока ПЗУ операции по записи данных
не возможны.
В основной памяти хранятся 32-х разрядные слова, что означает, что организация
блоков памяти должна быть [адресная_емкость] х 32 бита. Т.о. блок ОЗУ будет построена
на ИМС памяти типа SRAM 4М x 32 (емкость = 16Mb), блок ПЗУ на ИМС типа E2PROM
32K x 32 бита (емкость = 128Kb).
Исходя из выше сказанного, возможно построение структурной схемы основной
памяти (рис. 9):
AB/DB
СB
R/ W , OE
MEM
Адрес
R/ W , OE
Контроллер ОП
Блок
контроля
ОЗУ
Адрес
OE
ПЗУ
Данные
Рис. 9 Структурная схема основной памяти
18
Разрядность ЦП разрабатываемой ЭВМ составляет 32 бита, что позволяет адресовать 4
Гслова ОП. Реальный размер ОП значительно меньше. Возможность использования всего
адресного пространства реализуется посредством механизма виртуальной памяти. Если
программа не помещается в ОП, то те части, которые в данный момент не используются,
переносятся во вторичное запоминающее устройства, например, на «винчестер».
Программы, а в ходе их выполнения и процессор, ссылаются на пространство команд и
данных, не зависимое от реального физического пространства ОП. Генерируемые
процессор двоичные адреса памяти называются виртуальными адресами.
Заданием предусмотрена сегментно-страничная организация памяти. При такой
организации адресное пространство делится на сегменты, каждый из которых, в свою
очередь, делится на страницы фиксированного размера. Адресация ячеек памяти
происходит уже внутри страниц. Для того, чтобы реализовать такую адресацию,
необходимо задать формат виртуального адреса. Разрядность адреса — 32. Два старших
бита отводятся под управляющие значения: бит присутствия P, используемый для
генерации страничных прерываний (1 — страница находится в ОП, 0 — страница
выгружена из ОП), и второй бит, имеющий разное значения для КЭШа адреса и для
страничных таблиц. В первом случае он является битом достоверности D,
сигнализирующим об актуальности данных (если данные в ОП изменились, бит
сбрасывается в 0, и что означает необходимость обновления данных КЭШа). Для
страничных таблиц он служит битом модификации M (если информация в ОП
изменилась, то при удалении страницы из ОП её необходимо выгрузить на «винчестер»).
Следующие 8 разрядов выделяются на адресацию сегментов 28 = 256 сегментов.
Следующие 10 разрядов отводятся на адресацию страниц внутри сегмента 210 = 1024
страницы. Младшие 12 разрядов служат для задания смещения внутри заданной
страницы. Таким образом, объём страницы составляет 212 = 4096 слов. За счёт того, что
два бита используются как управляющие, адресное пространство сокращается до 1Гслова.
Решение пожертвовать частью адресного пространства объясняется значительным
выигрышем в скорости и в упрощении реализации. Процессор за один цикл может
принять только 32 информационных разряда, следовательно, при превышении этого
значения передачу дескрипторов придётся производить в два цикла, поэтому для передачи
управляющих битов было решено выделить два адресных разряда.
Формат виртуального адреса:
Номер сегмента Номер страницы Смещение внутри страницы
По заданию разрабатываемым блоком является блок преобразования виртуальных
адресов, поэтому более подробно процесс преобразования адресов описан в разделе
Разработка блока преобразования виртуальных адресов.
.
Схема подключения ОП представлена на структурной схеме ЭВМ (рис. 2)
19
Адресный кэш
Кэш память используется во всех современных компьютерах – это сравнительно
небольшого объема статическая ассоциативная память, интегрированная на кристалл
процессора, работающая на частоте АЛУ и содержащая наиболее необходимую для
работы процессора информацию для уменьшения числа обращений к медленным
устройствам, например, оперативной памяти. При обращении к памяти в кэш
записывается блок, содержащий как запрашиваемую, так и расположенную по соседним
адресам информацию. Коэффициент кэш-попаданий в буфер TLB составляет 95- 98 %. И
только при кэш-промахе включается страничный механизм.
Адресный кэш представляет собой память небольшого объема, предназначенную для
хранения информации о преобразовании виртуальных адресов в физические. При
использовании страничной (сегментно-страничной) организации памяти необходимо
преобразовать виртуальный адрес в физический, для этого используют таблицу страниц,
которую удобно загрузить в кэш, а не располагать в оперативной памяти. Это снизит
время преобразования к минимуму и увеличит быстродействие процессора в целом.
Конечно, адресный кэш эффективен в случае редких переходов между программами.
В задании оговорено, что кэш-память представляет собой TLB (буфер быстрого
преобразования адреса). При каждом преобразовании виртуального адреса в физический
результат заносится в TLB: физический адрес в память данных, а виртуальный – в память
тегов. Таким образом, в TLB попадают результаты нескольких последних операций
трансляции адресов. При каждом обращении к ОП преобразователь адресов сначала
производит поиск в памяти тегов TLB номера требуемого сегмента, потом поиск
требуемой страницы для заданного сегмента. При попадании адрес соответствующей
физической страницы берется из памяти данных TLB. Если в TLB зафиксирован промах,
то делается попытка сократить время преобразования путем исключения одного
дополнительного обращения к ОП. Может оказаться, что страница, к которой происходит
обращение, принадлежит сегменту предыдущего обращения к ОП. Для этого в ОП
должны сохраняться номер сегмента и адрес начала его страничной таблицы для
предыдущего обращения. Если совпадают номера сегментов текущего и предыдущего
обращений, первый этап преобразования исключается, используется сохраненный адрес
начала сегментной таблицы и выполняется только второй этап преобразования, т. е.
производится только одно дополнительное обращение к ОП. Если номера сегментов не
совпадут, то процедура преобразования адресов производится аналогично описанному в
предыдущем пункте методу, после чего осуществляется запись найденных значений
виртуального и физического адресов в TLB.
Дополнительные обращения к ОП сопровождаются занесением информации о
текущей странице в кэш. Если в кэше не оказывается свободного регистра (строки),
данные о новой странице записываются на место данных, которые дольше всего не
использовались в процессе преобразования адресов.
Каждая запись содержит поля номера сегмента, номера страницы, четыре признака:
V, R, M, A и поле физического адреса.
Структура TLB показана на рис.10.
Буфер преобразования адресов обычно реализуется в виде полностью
ассоциативной или множественно-ассоциативной кэш-памяти с высокой степенью
ассоциативности временем доступа, сопоставимым с аналогичными показателями для
кэш-памяти первого уровня.
20
Рис.10 Структурная организация адресного кэша
21
Организация ввода/вывода
Наиболее простым методом управления вводом/выводом является программноуправляемый ввод/вывод, часто называемый также вводом/выводом с опросом. Здесь
ввод/вывод происходит под полным контролем ЦП и реализуется специальной
процедурой ввода/вывода. В этой процедуре ЦП с помощью команды ввода/вывода
сообщает модулю ввода/вывода, а через него и внешнему устройству о предстоящей
операции. Адрес модуля и ВУ, к которому производится обращение, указывается в
адресной части команды ввода или вывода. Модуль исполняет затребованное действие,
после чего устанавливает в единицу соответствующий бит в своем регистре состояния.
Ничего другого, чтобы уведомить ЦП, модуль не предпринимает. Следовательно, для
определения момента завершения операции или пересылки очередного элемента блока
данных процессор должен периодически опрашивать и анализировать содержимое
регистра состояния МВВ.
Иллюстрация процедуры программно-управляемого ввода блока данных с
устройства ввода приведена на рис.11. Данные читаются пословно. Для каждого
читаемого слова ЦП должен оставаться в цикле проверки, пока не определит, что слово
находится в регистре данных МВВ, то есть доступно для скачивания.
Процедура начинается с выдачи процессором команды ввода, в которой указан
адрес конкретного МВВ и конкретного ВУ. Существуют четыре типа команд
ввода/вывода, которые может получить МВВ: управление, проверка, чтение и запись.
Команды управления используются для активизации ВУ и указания требуемой
операции. Например, в устройство памяти на магнитной ленте может быть выдана
команда перемотки или продвижения на одну запись. Для каждого типа ВУ характерны
специфичные для него команды управления.
Команда проверки применяется для проверки различных ситуаций, возникающих в
МВВ и ВУ в процессе ввода/вывода. С помощью таких команд ЦП способен выяснить,
включено ли ВУ, готово ли оно к работе, завершена ли последняя операция ввода/вывода
и не возникли ли в ходе ее выполнения какие-либо ошибки. Действие команды сводится к
установке или сбросу соответствующих разрядов регистра состояния МВВ.
Команда чтения побуждает модуль получить элемент данных из ВУ и занести его в
регистр данных. ЦП может получить этот элемент данных, запросив МВВ поместить его
на шину данных (в нашем случае шину адресов/данных).
Команда записи заставляет модуль принять элемент данных (байт или слово) с
общей шины и переслать его в регистр данных с последующей передачей в ВУ.
Если к МВВ подключено несколько внешних устройств, то в процедуре
ввода/вывода нужно производить циклический опрос всех устройств, с которыми в
данный момент производятся операции ввода/вывода.
Из блок-схемы (рис.11) явно виден недостаток данного метода ввода/вывода –
неэффективное использование процессора из-за ожидания готовности очередной порции
информации, в течение, которого никаких иных полезных действий ЦП не выполняет.
Кроме того, пересылка даже одного слова требует выполнения нескольких команд. ЦП
должен тратить время на анализ битов состояния МВВ, запись в МВВ битов управления,
чтение или запись данных со скоростью, определяемой внешним устройством. Все это
также отрицательно сказывается на эффективности ввода/вывода.
Главным аргументом в пользу программно-управляемого ввода/вывода является
простота МВВ, поскольку основные функции по управлению ввода/вывода берет на себя
процессор. Подключение новых ВУ устройств или отключение раннее подключенных
реализуется без особых сложностей.
22
Рис.11 Программно-упраляемый ввод данных
23
Блок синхронизации
Разработка блока синхронизации и схемы начального сброса производилась в ходе
курсового проекта по дисциплине «Схемотехника».
Блок синхронизации состоит из двух частей (рис. 12):
- устройства синхронизации;
- схемы начального сброса;
Рис. 12 Структурная схема блока синхронизации
Устройство синхронизации (рис. 13) предназначается для выработки импульсных
последовательностей согласующихся по времени работу узлов и устройств в подсистеме
или системе в аппаратных средствах.
C1
C2
Генератор
.
.
.
Формирователь
опорных
сигналов
C1
Схемы
размножения
CN
.
.
.
CN
Рис. 13 Структурная схема устройства синхронизации
Генератор генерирует последовательность прямоугольных импульсов с
определённой частотой. Формирователь опорных сигнал (обычно используются делители
частоты) преобразовывает последовательность в системные синхросигналы. Схема
размножения увеличивает мощность синхросигналов. Нельзя допустить расфазировку
синхросигналов, что вызовет сбои в аппаратуре. Для этого необходимо использовать ИМС
размножения с очень малой расфазировкой CLK.
В качестве генератора, выдающего тактовый сигнал в схему, может быть взята,
например микросхема CY2071A фирмы Cypress — системный тактовый генератор,
предназначенный для применения в составе блоков синхронизации центральных
процессоров ЭВМ и других вычислительных устройств в качестве задающего тактового
генератора. Микросхема имеет стабилизированный с помощью внешнего кварцевого
резонатора генератор опорной частоты от 10 МГц до 25 МГц и может выдавать сигнал
частотой от 500 кГц до 130 МГц. Микросхема содержит в себе программируемый
делитель частоты. Программирование производится путём записи в блок памяти EPROM
соответствующих значений, это позволяет задать требуемую выходную частоту в
заданном интервале.
Функциональная схема блока синхронизации приведена на рис. 14.
24
Рис. 14 Функциональная схема блока синхронизации
Схема начального сброса нужна для того чтобы, при включении питания,
устанавливать секвенсор по нулевому адресу. Соответственно, по этому адресу в МПП
должна хранится МК инициализации системы, т.е. все выходы Reg-ов и устройств
перевести в состояние высокого импеданса, что бы ни вызвать конфликтов на шинах.
Схема начальной установки может быть выполнена с применением микросхемы
MC34064, фирмы MOTOROLA (рис. 15).
Рис. 15 Схема начальной установки
При включении питания, либо перезагрузке, необходимо произвести
инициализацию всей системы, в том числе и центрального процессора. Это делается для
того, чтобы сконфигурировать процессор и систему на правильную работу, произвести
тестирования всех устройств и загрузку операционной системы.
В разработанной схеме процессора, процесс инициализация начинается с подачи
сигнала низкого уровня на вход RST# секвенсора микрокоманд. Также, во избежании
конфликтов, необходимо перевести вывод регистра микрокоманд в Z-состояние. Это
реализуется подачей сигнала высокого уровня (RST) на вход OE#. Для выработки таких
сигналов, можно использовать схему, представленную на рис. 15.
Схема выполнена с применением микросхемы MC34064. Микросхема MC34064 это
специализированный для микропроцессорных систем контроллер предустановки,
применяемый для выработки асинхронного сигнала RST# и RST. Чтобы избежать
расфазировки сигналов (сигнал RST получается инвертированием RST#, что вносит
определенную задержку), поставим на пути RST# повторитель.
25
Периферийные устройства
Устройства ввода позволяют вводить в машину данные и программы, а также
вносить исправления в программы и данные, хранящиеся в памяти ЭВМ. Устройства
вывода служат для вывода из ЭВМ результатов обработки данных, их регистрации и
отображения.
Монитор
Для отображения производимых действий, хранящихся данных и т.д. используется
монитор. Монитор способен выводить текстовую и графическую информации ЭВМ.
Монитор как и всякое другое периферийное устройство подключается через контроллер
(видеоадаптер) к системной шине. Следует отметить, что монитор является пассивным
устройством, которое не выдает данные и управляющие сигналы, а просто отображает
информацию динамически изменяющуюся информацию, которая хранится по
определенным адресам в ОП. Обычно в памяти хранится несколько "экранов" (страниц),
вывод же производится с текущей. Это предусматривает применение графического
ускорения, т.е. массивное изменение информации на текущей странице вызовет мерцание
на экране и долгую перерисовку особенно графических объектов. Этого можно
избежать заранее подготовив дополнительную страницу видеоизображения и присвоить
ей номер текущей видеостраницы. Вывод текущей видеостраницы производится каждые
17мс (60 Hz) при этом информация считывается в ЗУ видеоадаптера определённой
ёмкости (объём ЗУ видеоконтроллера определяет разрешение изображения).
Отображение информации ЗУ видеоадаптера происходит независимо от процессора. Ниже
приводится структурная схема включения монитора (рис. 16).
AB/DB
Контроллер монитора
Монитор
Рис. 16 Структурная схема включения монитора
26
К монитору
RGB
Video
Интерфейс
монитора
Контроллер
ЭЛТ
Контроллер
атрибутов
(RAMDAC)
Видеопамять
Внутренняя шина
Расширение
BIOS
Внешний
интерфейс
Графический
процессор
с шины AB/DB
Рис. 17 Структурная схема контроллера монитора
Контроллер монитора:
Поскольку контроллер предназначен для подключения монитора, его обязательным
элементом будет контроллер ЭЛТ. В задачи этого контроллера входит согласованное
формирование сигналов сканирования видеопамяти (адрес и стробы чтения) и сигналов
вертикальной и горизонтальной синхронизации монитора.
Видеопамять является специальной областью памяти, из которой контроллер ЭЛТ,
организует циклическое чтение содержимого для регенерации изображения.
Контроллер атрибутов управляет трактовкой цветовой информации, хранящейся в
видеопамяти. В текстовом режиме он обрабатывает информацию из байт атрибутов
знакомест, в графическом – из бит текущего выводимого пикселя. Контроллер атрибутов
позволяет увязать объем хранимой цветовой информации с возможностями монитора.
Графический контроллер является средством повышения производительности
программного построения изображений, точнее их образов, в видеопамяти.
Внутренняя шина адаптера предназначена для высокопроизводительного обмена
данными между видеопамятью, графическим акселератором и внешним интерфейсом.
Блок внешнего интерфейса связывает адаптер с общей шиной разрабатываемой
ЭВМ.
Блок интерфейса монитора формирует выходные сигналы соответствующего типа
(RGB-TTL, RGB-Analog, S-Video или композитный видео). Этот же блок отвечает и за
диалог с монитором: чтение бит идентификации VGA-монитора.
Модуль расширения BIOS (Video BIOS) хранит код драйверов видеосервиса и
таблицы знакогенераторов.
27
Клавиатура
Клавиатура является одним из основных устройств ввода, обеспечивающих
интерактивное общение пользователя с ЭВМ. Она содержит контроллер клавиатуры,
который воспринимает каждое нажатие на клавишу и выдает последовательный скан-код.
Скан-код - это однобайтовое число, младшие 7 бит которого представляют
идентификационный номер, присвоенный каждой клавише, а старший 8-ой бит кода
говорит о том, была ли нажата клавиша (бит = 1, код нажатия) или освобождена (бит = 0,
код освобождения). При поступлении скан-кода из порта вызывается прерывание.
Приоритет клавиатуры выше всех приоритетов остальных периферийных устройств.
Процессор прекращает выполнять текущую команду и выполняет процедуру,
анализирующую скан-код.
AB/DB
Подтверждение
прерывания
(INTA)
Контроллер клавиатуры
Запрос на
прерывание
(INTR)
Клавиатура
Рис. 18 Структурная схема включения клавиатуры
Для того чтобы ЦП успевал обрабатывать все нажатия клавиш, контроллер
клавиатуры должен иметь буфер FIFO. Он занимает непрерывную, постоянную область
адресов памяти. Два указателя хранят позиции головы и хвоста строки символов,
находящихся в буфере в текущий момент. Новые нажатия клавиш сохраняются в
позициях, следующих за хвостом, и соответственно обновляют указатель хвоста буфера.
Считывание же происходит по указателю головы строки символов. Такая конструкция
позволяет легко очищать буфер, для этого надо установить значение указателя головы
значению указателя хвоста.
Мышь
Мышь – специальное устройство ввода, которое обычно служит для управления
курсором, представленном на экране монитора, обеспечивая таким образом
взаимодействие с графическим интерфейсом пользователя. Соединение мыши к
системной шиной также осуществляется через контроллер. Схема подключения мыши ни
чем не отличается от схемы подключения клавиатуры. Контроллер мыши формирует
прерывания по нажатию кнопок мыши и по перемещению самой мыши. Текущие
координаты мыши хранятся в ОП. При перемещение мыши координаты вычисляются с
использованием хранящихся в памяти старых координат и смещения мыши.
28
AB/DB
Подтверждение
прерывания
(INTA)
Контроллер мышь
Запрос на
прерывание
(INTR)
мышь
Рис. 19 Структурная схема включения мышь
Внешние ЗУ
Информация в ЗУ на магнитных дисках хранится на плоских металлических или
пластиковых пластинах (дисках), покрытых магнитным материалом. Данные
записываются и считываются с диска с помощью электромагнитной катушки, называемой
головкой считывания/записи, которая в процессе считывания и записи неподвижна, в то
время как диск вращается относительно нее. При записи на головку подаются
электрические импульсы, намагничивающие участок поверхности под ней. Считывание
базируется на электрическом токе, наводимом в катушке головки, под воздействием
перемещающегося относительно нее магнитного поля. Несмотря на разнообразие типов
магнитных дисков, принципы их организации обычно однотипны. Все магнитные диски
можно разделить на два типа: гибкие (дискеты, НГМД) и жесткие (винчестер). Как и все
остальные ПУ магнитные диски подключаются к системной шине через контроллер,
который обеспечивает выполнение операции ввода/вывода.
29
Таймер
Таймер предназначен для деления машинного времени на временные интервалы,
для эффективного использования процессора при работе с периферийными устройствами.
Он обеспечивает совместную работу ЦП и ПУ в реальном масштабе времени,
осуществляя разбиения машинного времени на равные интервалы времени.
Назначение таймера:
 генерация прерываний от системных часов;
 генерация запросов на регенерацию памяти;
 генерация звуковых сигналов (PC Speaker)
В состав таймера входят схемы, необходимые для:
 запроса и получения канала;
 формирования вектора прерывания;
В качестве таймера в ЭВМ используется аналог микросхемы 580ВИ53 трехканальное программируемое устройство, предназначенное для организации работы
микропроцессорных систем в режиме реального времени. Таймер формирует сигналы с
различными временными параметрами.
Программируемый таймер реализован в виде трех независимых 16-разрядных
каналов с общей схемой управления. Каждый канал может работать в шести режимах.
Программирование режимов работы каналов осуществляется индивидуально и в
произвольном порядке путем ввода управляющих слов в регистры режимов каналов, а в
счетчики - запрограммированного числа байтов.
С помощью таймера можно задавать определённые промежутки времени, по
истечении которых происходит прерывание. Линия запроса прерывания от таймера
подключается на контроллер прерываний на самый приоритетный вход.
Управляющими сигналами для таймера являются, сигналы каналов, разрешающие
или запрещающие счет, сигналы выбора каналов, а также входы write/read и вход выбора
микросхемы. Максимальное значение счета: в двоичном коде 216; в двоично-десятичном
коде 104, а частота синхронизации каналов 0-2,5 МГц.
AB/DB
CB
Подтверждение
прерывания (INTA)
Таймер
Запрос на прерывание
(INTR)
Рис. 20 Структурная схема включения таймера
30
Разработка блока преобразования виртуальных адресов.
Структура ОП, а также формат виртуального адреса рассмотрены в разделе –
оперативная память, поэтому перейдём к описанию общей последовательности
действий при преобразовании виртуального адреса:
1. Из базового регистра (в данной реализации используется внутренний регистр
процессора) извлекается физический адрес начала таблицы сегментов и
суммируется с номером сегмента.
2. По полученному физическому адреса из ОП извлекается дескриптор сегмента,
хранящий в себе физический адрес начала своей страничной таблицы, а также два
бита, которые могут быть использованы операционной системой, например, для
управления защитой от несанкционированного доступа.
3. Физический адрес начала страничной таблицы сегмента суммируется с номером
страницы.
4. По полученному физическому адресу из ОП извлекается дескриптор страницы,
содержащий физический адрес страницы в ОП, бит присутствия и бит
модификации.
5. Анализируется значение бита присутствия:
 1 — страница находится в ОП;
 0 — страница выгружена из ОП.
В случае, когда страницы нет в ОП и микрокомандой разрешены страничные
прерывания, в контроллер прерываний подаётся запрос на страничное прерывание.
В результате выполнение активной задачи прерывается, управление передаётся
операционной системе. Операционная система копирует запрошенную страницу с
диска в ОП и возвращает управление прерванной задаче. При отсутствии
свободного места в ОП, нужно удалить одну из страниц, уже имеющихся в ОП.
Выбор удаляемой страницы возлагается на алгоритм замещения страниц. Наиболее
популярным алгоритмом является алгоритм удаления наиболее давно
использовавшихся страниц (Least Recently Used, LRU), но в данной реализации ОП
в дескрипторе страницы не выделяется место под биты, необходимые для
алгоритма LRU. В связи с этим, операционной системой может быть использован
алгоритм случайного выбора заменяемой страницы. Так как количество страниц в
памяти велико, то вероятность удачного выбора высока и этот алгоритм даёт
хорошую эффективность. Бит модификации указывает на то, была ли страница
изменена во время хранения в ОП. Модифицированная страница перед удалением
из ОП должна быть записана на диск.
6. Полученный физический адрес начала страницы суммируется с 12-разрядным
смещением в странице, образуя физический адрес требуемой ячейки памяти.
Схема преобразования виртуального адреса в физический представлена на рис. 21.
31
Рис. 21 Схема преобразования виртуального адреса в физический
В процедуре преобразования адреса, а также в алгоритмах замещения виртуальных
страниц и работе с КЭШем большая роль отводится микропрограммному управлению и
использованию вычислительной мощности ЦП. Можно даже сказать, что разработанная
схема предоставляет процессору интерфейс для реализации алгоритмов свопинга,
алгоритмов защиты данных и работы с КЭШем.
Рассмотрим особенности реализации блока:
1. Установкой соответствующего биты микрокоманды осуществляется разрешение и
блокировка работы блока преобразования адресов. При отключении блока
процессор может обращаться к ОП по физическому адресу, что необходимо для
первоначальной инициализации системы, построения таблиц векторов прерываний,
сегментных и соответствующих им страничных таблиц, а также для адресации
внешних запоминающих устройств, таких как: «винчестер», НГМД, оперативная
память видеоадаптера.
2. Преобразование адресов, замещение виртуальных, чтение и запись в кэш требуют
значительного числа циклов процессора. Для этого в блок включено три регистра
для хранения промежуточных значений: RG1, RG2 и RG3, которые могут быть
использованы операционной системой на своё усмотрение. Но при проектировании
им отводились следующие роли:
 RG1 — хранение смещение в странице (младшие 12 разрядов адреса);
 RG2 — хранение номер страницы (10 разрядов адреса);
 RG3 — хранение первоначального значения виртуального адреса.
3. Кэш строится на 10-ти микросхемах SRAM информационной организацией 1Kx4,
что позволяет хранить 1K слов разрядностью 40. В каждой слово входят:
 тэг, в качестве которого используется номер сегмента, так как смена
сегмента происходит относительно редко, поэтому можно рассчитывать на
высокую эффективность КЭШа — 8 разрядов;
 физический адрес начала страницы, это также сделано для повышения
эффективности использования КЭШа и уменьшения числа его перезаписей,
для получения физического адреса ячейки остаётся только прибавить
смещение в 8 младших разрядов — 30 разрядов;
32

два управляющих бита: бит достоверности (показывает изменились ли
данные в ОП с момента внесения адреса в кэш) и резервный бит, которые
может использоваться операционной системой.
Адресация КЭШа происходит номером страницы (10 разрядов). После чтения
слова из КЭШа происходит сравнение полученного тэга с искомым (8 разрядов) и
далее анализ бита достоверности. Результат анализа передаётся на селектор выбора
условий в МУУ в качестве бита Cache hit / miss (попадание / промах — 0 / 1) для
использования микропрограммой.
4. Для управления КЭШем имеются сигналы WE# (разрешение записи) и RS#
(стирание).
Схема подключения буфера TLB и блока преобразования виртуальных адресов
представлена на структурной схеме процессора (рис. 7).
На схеме блока используются следующие обозначения:
 MK — бит микрокоманды;
 P — бит присутствия;
 D — бит достоверности;
 Cache hit / miss — бит попадания / промаха КЭШа;
 Тэг — номер сегмента;
 CLK — системный синхросигнал.
Принципиальная схема блока преобразования виртуальных адресов представлена
на рис. 22.
На схеме используются следующие номиналы микросхем:






74LCX32646 — 32-разрядный регистр;
CY7C150 — SRAM 1Kx4;
74AC520 — 8-разрядный компаратор;
IDT74ALVC1G08 — логический элемент И;
IDT74ALVC1G32 — логический элемент ИЛИ;
IDT74ALVC1G04 — инвертор.
33
Рис. 22 Принципиальная схема блока преобразования виртуальных адресов
Заключение
В ходе выполнения курсовой работы были получены новые и закреплены
имеющиеся знания по дисциплине «Организация ЭВМ».
Данная работа помогла приобрести навыки по проектированию простейшей ЭВМ.
В результате работы была создана структурная схема простейшей ЭВМ, было
произведено описание основных компонентов и блоков. Также была разработана
принципиальная схема блока преобразования виртуальных адресов.
Выполнение данной работы показалось мне достаточно интересным, хотя
разрабатывать именно гипотетическую ЭВМ очень трудно (как будто создаёшь нечто
абстрактное). Однако, я, конечно, понимаю, что разработать хотя бы один реальный блок
ЭВМ – это уже совсем другая – более сложная задача. Тем не менее, я постарался сделать
свой блок как можно более «работоспособным».
Список литературы
1. Мик Дж., Брик Дж. «Проектирование микропроцессорных устройств с разрядномодульной организацией»: в 2 кн. / Перев. с англ.- М. Мир, 1984.
2. Каган Б. М. Электронные вычислительные машины и системы: Учеб. пособие для
вузов.-3-е изд., перераб.и доп.-М.: Энергоатомиздат, 1991.
3. Хамахер К., Вранешич Э., Заки С. Организация ЭВМ.-5-е изд.-СПб.:Питер, 2003
4. Схемотехника. Руководство к курсовой работе/ В.И. Соболев.- №1522.Новосибирск, 1997. – 62 с.
5. Угрюмов Е.П. «Цифровая схемотехника». – Спб.: БХВ-Петербург, 2001. – 528 стр.
6. Конспект лекций по предмету «Огранизация ЭВМ». Лектор – Гребенников В.Ф.,
2009.
7. Конспект лекций по предмету «Схемотехника». Лектор – Михашев А.И., 2008.
36
Документ
Категория
Компьютеры и периферийные устройства
Просмотров
5
Размер файла
487 Кб
Теги
ретунский
1/--страниц
Пожаловаться на содержимое документа