close

Вход

Забыли?

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

?

Другов

код для вставкиСкачать
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра Вычислительной техники
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Курсовому проекту по дисциплине “Организация ЭВМ и систем”
Группа:
Студент:
АМ-110
Другов В.С.
Преподаватель: Гребенников В.Ф.
Новосибирск, 2004
1. Цель разработки
Целью курсового проектирования является углубление и закрепление теоретических знаний
студентов, приобретение навыков разработки узлов ЭВМ на структурном, функциональном и
алгоритмическом уровнях.
Курсовой проект посвящен разработке структурной схемы гипотетической ЭВМ,
принципиальной схемы и алгоритма работы конкретного блока, входящего в состав этой ЭВМ.
Курсовой проект состоит из двух частей:
 Первая часть посвящена разработке структурной схемы гипотетической ЭВМ, описанию ее
функционирования. В состав ЭВМ входят как общие для всех вариантов блоки, так и
определяемые индивидуальным заданием.
 Вторая часть проекта посвящена разработке принципиальной схемы и алгоритмов работы
конкретного блока, входящего в состав ЭВМ, и их детальному описанию.
2. Исходные данные
Типовое задание на выполнение курсового проекта включает в себя общие для всех вариантов
и индивидуальные для каждого варианта исходные данные. Общие исходные данные определяют
минимальный состав проектируемой ЭВМ и ее основные параметры.
В индивидуальных исходных данных указывается архитектура ЭВМ; наличие и тип
сопроцессора; организация оперативной памяти (ОП); наличие КЭШ-памяти и ее функциональное
назначение; структура и тип системы прерывания программ (СПП); наличие арбитра шины,
системы контроля, организация системы ввода-вывода (СВВ). Кроме этого в индивидуальном
задании указывается тип разрабатываемого до уровня принципиальной схемы блока и
наименование алгоритма.
2.1. Общие исходные данные
В состав ЭВМ входят следующие блоки:
центральное обрабатывающее устройство (ЦОУ);
микропрограммное устройство управления (УУ);
оперативная память (ОП);
блок синхронизации (БС);
система прерывания программ (СПП);
таймер;
система ввода-вывода (СВВ);
монитор, клавиатура, мышь;
НГМД;
«Винчестер».
В качестве дополнительных устройств в состав могут входить ЦАП и АЦП.
Основные параметры ЭВМ:
адресность ЭВМ - двухадресная;
длина команды - переменная.
Разрядность ЭВМ и минимальный объем оперативной памяти выбираются самостоятельно, но
должны удовлетворять следующим ограничениям:
разрядность - не менее 16;
емкость ОП - не менее 16 Mбайт.
2.2. Индивидуальные исходные данные
Индивидуальные параметры разрабатываемой ЭВМ:
Архитектура ЭВМ: 3-х шинная.
Структура и тип СПП: радиальная с обработкой на уровне команд.
Наличие КЭШ-памяти и её функциональное назначение: адресный КЭШ (буфер TLB).
Организация ОП: страничная.
Организация СВВ: ввод-вывод с прямым доступом к памяти.
Разрабатываемый блок: буфер TLB.
3. Разработка структурной схемы гипотетической ЭВМ
3.1. Структурное описание ЭВМ
Для более правильного составления структурной схемы ЭВМ необходимо четко определить
взаимосвязи устройств системы. Для чего стоит вначале описать каждое устройство. Структурная
схема ЭВМ приводится в п.3.10.
3.2. Центральный процессор
В состав центрального процессора (ЦП) входят: операционный блок (ОБ), в котором
происходит обработка данных и микропрограммное устройство управления (МУУ), которое
управляет прерываниями, порядком обработки команд в ОБ и осуществляет управление всеми
узлами ЭВМ.
Взаимодействие между устройствами ЦП основывается на понимании принципа
микропрограммного управления [4], заключающегося в хранении управляющих слов,
выполняющих элементарные действия в течении цикла, и выборки их с помощью секвенсора
микрокоманд (SEQ МК). Следовательно, микропрограммное устройство управления (МУУ) хранит
и выбирает управляющие слова (микрокоманды) из микропрограммной памяти (МПП), передает их
в ОБ и на шину управления CB (для управления всеми устройствами системы). ОБ выполняет
инструкции, предписанные МУУ. ОБ также может влиять на формирование следующего адреса в
МУУ посредством передачи в него признака ветвления.
3.2.1. Операционный блок
ОБ предназначен для выполнения логических, арифметических и сдвиговых операций над
поступающими на его вход данными.
В состав ОБ входят (рис.3.2.1): центральный процессорный элемент (ЦПЭ), блок логики
сдвигов (БЛС), блок статусного регистра (БСР), селектор адресов РОН (СА) для ЦПЭ,
мультиплексор данных для БСР (MUX1); мультиплексор признака перехода (MUXC) для SEQ МК;
мультиплексор входного переноса С0 ЦПЭ (MUX2) и интерфейсные регистры входных данных
(RGin), выходных данных (RGout) и регистр адреса (RGA).
Разрабатываемая ЭВМ 32-разрядная, что удовлетворяет заданию (п.2.1.), и для чего
используется две 16-ти разрядные микропроцессорных секции IDT49C402. Секция IDT49C402
содержит внутренний регистровый файл с организацией 64*16 бит [1].
Взаимодействие ОБ с системными шинами АВ и DB осуществляется через интерфейсные
элементы - регистры с динамическим управлением (RGin – регистр входных данных, RGout –
регистр выходных данных, RGA – регистр адреса). Данные регистры имеют входы разрешения
записи и чтения, что требует внесения в МК дополнительных битов. Также данные регистры
должны входы разрешения вывода OEY#, для исключения конфликтов на шинах из-за устройств,
совместно использующих одну шину. Загрузка данных в ОБ может производиться с разных
источников (RGin, RGМК и БСР), поэтому в МК необходимо отразить биты управления
разрешения вывода этих источников.
Возможность наращивания разрядности не позволяет интегрировать на кристалле
IDT49C402 БЛС и БСР, поэтому они являются внешними относительно ЦПЭ [1].
Сдвиговые операции осуществляются с помощью БЛС. Для этого используются
двунаправленные входы\выходы ЦПЭ P0, Q0, P31, Q31 и однонаправленные выходы ЦПЭ OVR и F31.
Логика сдвигов представляет собой комбинационную схему, структура которой зависит от
количества и типов необходимых сдвигов. Управление логикой сдвигов осуществляется 3-мя
битами МК: 2 – для задания типа сдвига, 1- для задания направления сдвига.
БСР необходим для сохранения признаков, порождаемых АЛУ при выполнении операций (N,
Z, V, C). Однако, в данной реализации в БСР могут дополнительно сохраняться 4 пользовательские
бита. Загрузка данных в БСР может производиться с выходов признаков ЦПЭ, а также с Y-шины
ЦПЭ. Для выбора источника данных для БСР используется мультиплексор (MUX1), управление
которым производиться с помощью одного бита МК. Причем, при загрузке признаков с выходов
ЦПЭ, старшие 4 разряда, загружаемые в БСР нулевые; с Y-шины загружаются 8 младших разрядов.
Также в данной реализации БСР, предполагается, что вывод данных из БСР на локальную шину
данных (LDB) управляется одним битом МК, в силу совместного использования LDB несколькими
устройствами; вывод признаков на MUXC разрешен постоянно. В такой реализации БСР позволяет
сделать признаки (флаги) доступными пользователю, что необходимо для их модификации и
формирования (посредством логических операций) комбинаторных флагов (например, для создания
сложных условий перехода).
СА необходим для выбора источников адресов РОН ЦПЭ – из регистра команд (RGK) или
регистра микрокоманд (RGMK). Управление выбором источников производиться с помощью
одного бита МК.
MUX2 используется для выбора источника входного переноса ЦПЭ ( логические “0”, “1” или
С из БСР). Управление выбором источника осуществляется с помощью 2 бит МК.
MUXC позволяет, посредством 3-х бит МК, выбирать признак перехода, который подается на
вход CC секвенсора МК (что необходимо для реализации условных и безусловных переходов).
Таким образом, ОБ влияет на генерацию следующего адреса микрокоманды.
Так как источником данных для Y-шины ЦПЭ является только он сам, то вывод данных из
него разрешен всегда.
Для одновременного функционирования устройств, входящий в ОБ, необходим системный
синхросигнал (CLK).
На структурной схеме ОБ (рис.3.2.1) подразумевается, что на все свободные входы всех
элементов подаются необходимые биты МК из RGMK.
AB
32
DB
32
32
D
RGin
Y
CLK
OEY#
WE#
CLK
OEY#
WE#
32
Y
D
32
Y
D
RGout
RGA
CLK
OEY#
WE#
LDB
32
32
const из RGMK
2
ЦПЭ
из RGK
12
из RGMK
12
CA
12
А,В
S
инструкции из RGMK
"0"
"1"
"0"
С из БСР
2
CLK
из БС
MUX2
S
4
P,Q
10
I
C0
CLK
OEY#
8
P,Q
OVR,F31
D
2*ITD49C402
32
БЛС
S0,S1
I
2
4
FL
MUX1
8
8
БСР A
B
S
MUXC
8
3
S
На вход СС
SEQ МК
CLK
OEA#
32
Y
Рис.3.2.1. Структурная схема операционного блока
Перейдем к рассмотрению управляющей части ЦП.
3.2.2. Микропрограммное устройство управления
Проектируемое МУУ (рис.3.2.2) строится на двухуровневой конвейерной структуре,
признаком чего является наличие конвейерного регистра микрокоманд. Конвейеризация позволяет
существенно увеличить быстродействие системы за счет разделения процесса обработки
информации на несколько этапов и совмещения данных этапов во времени, при условии, что
каждый этап должен обрабатываться отдельным устройством.
Основными элементами МУУ являются:
 Регистр команд (RGK);
 преобразователь начального адреса (ПНА);
 преобразователь векторного адреса (ДВА);
 секвенсор микрокоманд (SEQ MK);
 микропрограммная память (МПП);
 регистр микрокоманд (RGМК).
Предполагается, что используется секвенсор микрокоманд Am29331, генерирующий 16-ти
разрядный адрес МПП [1]. Таким образом, он позволяет адресовать МПП в 64К слов, где слово –
разрядность МК. Разрядность RGMK также определяется разрядностью МК.
Из контроллера
прерываний
DB
RGK
КОП
VECTOR
Адреса РОН
На вх. СА в ОБ
INT
ПНА
OE
ДВА
OE
ШАВ
Адрес
перехода
Управление
RST из блока
синхронизации
Условие из
MUXС ОБ
SEQ МК
R#
Y
A
МПП
R#
УСА
RGMK
OE#
Инструкции
в ОБ
CB
рис.3.2.2. Структурная схема МУУ
Поясним функционирование МУУ. С DB в RGK поступает очередная команда. Адреса
операндов передаются в ОБ на СА, а поле кода операции (КОП) поступает на адресный вход ПНА.
ПНА преобразует поступивший КОП в адрес, по которому хранится микропрограмма обработки
команды в МПП. Полученный адрес передается на шину адреса ветвления (ШАВ). Также для
поддержки прерываний на уровне команд МУУ содержит ДВА, предназначенный для
преобразования поступившего с контроллера прерываний вектора в адрес обработчика прерывания,
который также передается на ШАВ. Источником адреса следующей микрокоманды на ШАВ может
быть и RGMK. SEQ МК предназначен для адресации МПП, генерации адреса микрокоманды и
управления выводами ПНА, ДВА и RGMK. SEQ МК генерирует адрес следующей микрокоманды,
исходя из состояния своих управляющих входов и адреса, полученного с ШАВ. Сгенерированный
адрес из SEQ МК поступает на адресные входы МПП, которая хранит микрокоманды
(управляющие слова). Выбранная из МПП по поступившему адресу МК записывается в RGMK,
откуда будет извлечена в следующем такте. Микрокоманда из RGMK содержит поля управления
следующим адресом (УСА) SEQ МК и поле инструкций. Сигналы поля УСА поступают на SEQ МК
и ШАВ (адрес перехода), а сигналы поля инструкций поступают в ОБ и на шину управления CB
для осуществления управления всей системой.
Также возможна обработка прерываний на уровне микрокоманд (подробнее о прерываниях
см. в п.3.5).
Устройства МУУ (RGК, SEQ МК и RGМК) тактируются системным синхросигналом CLK
из блока синхронизации.
При включении и восстановлении (после сбоя) питания на SEQ МК и RGMK подается
сигнал синхронного сброса (RST). По этому сигналу МПП устанавливается в нулевой адрес, по
которому хранится микрокоманда инициализации системы. Однако, МПП имеет некоторую
задержку, поэтому необходим сигнал RST непосредственно на RGMK, для исключения
конфликтных ситуаций устройств, работающих на одну шину (иначе возможен выход из строя этих
устройств).
3.3. Основная память
Основная память (ОП) служит для хранения информации (данных, программ,
промежуточных и конечных результатов обработки). Поскольку шина адреса 32-разрядная, то
максимальная ёмкость ОП 4 Гслов.
ОП ЭВМ должна иметь в своём составе как оперативную (ОЗУ), так и постоянную (ПЗУ)
память. ОЗУ используется для хранения временных данных, а ПЗУ используется для хранения
неизменяемых и энергонезависимых данных (базовой системы ввода-вывода, содержащую
программную поддержку ресурсов ЭВМ и обеспечивает конфигурирование аппаратных средств и
их диагностику).
ПЗУ реализуется на микросхемах Flash-памяти, емкостью 256Кб. Требования,
предъявляемые к ОЗУ (высокое быстродействие,
большой объем и надежное хранения
информации), предполагают использования микросхем DRAM-памяти. Такая память более дешевая
и более медленная, чем SRAM-память. Однако, применения в качестве ОП микросхем SRAM
приведет к существенным затратам. Емкостью ОЗУ 32Мб.
Взаимодействие ОП с системой осуществляется посредством шин AB, DB и CB. Для
снижения нагрузки на устройства, также работающих на этих шинах необходимо подключать ОП к
AB и DB через буферы. Взаимодействие с AB будет осуществляться через однонаправленные
буферы адреса, а с DB – двунаправленные буферы данных (так как в памяти может производиться
чтение и запись).
Так как используется 2 вида памяти, то в состав ОП включен контроллер ОП, выполняющий
выбор типа памяти, управляющий чтением/записью из/в память и выводом считанных из памяти
данных на системную шину данных DB. Соответственно, необходимо в МК определить
соответствующие биты. Бит МК[R/W#] - чтение/запись; МК[MEM#] – разрешение/запрет работы
памяти. Также бит МК[MEM#] должен использоваться для разрешения/запрета вывода
информации из ОП. Следует учесть, что в ОП содержит 2 типа памяти: ОЗУ, к которой может быть
организован доступ как по чтению, таr и по записи; ПЗУ, к которой может быть доступ только по
чтению.
По заданию организация ОП страничная.
Страничная организация памяти используется для реализации механизма виртуальной
памяти, позволяющей реализовать механизм динамического распределения памяти и адресовать
более 4Гб ОП [6]. Страничный механизм это один из способов преобразования виртуального адреса
(ВА) в физический адрес (ФА).
Страницы имеют фиксированный размер. Двенадцать младших разрядов начального адреса
любой обычной (размером 4К) страницы всегда равны нулю. Поэтому любой объект в памяти,
имеющий подобный начальный адрес, называется выровненным по границе страницы.
Схема страничного преобразования приведена на рис. 3.3.1.
В системах со страничной организацией основная и внешняя память делятся на страницы
фиксированной длины. Каждой программе (пользователю) предоставляется некоторая часть
адресного пространства, которая может превышать основную память компьютера, и которая
ограничена только возможностями адресации, заложенными в системе команд. Эта часть адресного
пространства называется виртуальной памятью пользователя и выражается в целом количестве
страниц. В ОП содержит таблица страниц для текущей программы. Табличная страница содержит
дескрипторы (элементы PTE) каждой страницы программы. В дескрипторе содержится физический
адрес страницы и информация, определяющая права доступа (защита) и состояние страницы.
Виртуальный адрес
12 11
PAGE
OFFSET
31
Страничная
таблицы n-й
программы
0
Дескриптор страницы
31
12 11
0
ФА страницы
Сост. и защита
стр.
….
Физический адрес
31
12 11
ФА страницы
OFFSET
БР
0
Рис.3.3.1. Схема преобразования ВА в ФА при страничной организации памяти
Каждое слово в виртуальной памяти пользователя определяется виртуальным адресом,
состоящим из двух частей:
 старшие 20-ть разрядов адреса (PAGE) рассматриваются как номер страницы, представляющей
собой смещение относительно базового регистра (БР) страничной таблицы программы;
 младшие 12-ть являются номером слова (OFFSET) (или байта) внутри страницы.
Преобразование ВА в ФА происходит следующим образом: по номеру страницы из ВА
относительно БР считывается ее дескриптор из страничной таблицы, из которого берется
физический адрес страницы. К физическому адресу (20 бит) дескриптора добавляется номер слова
из ВА (OFFSET – 12 бит). Полученный адрес является ФА.
Так как страничная таблица хранится в ОП, то страничный механизм требует одного
дополнительного обращения к ОП, для преобразования адреса.
Стоит отметить, что для поддержания страничного механизма требуются дополнительные
программно-аппаратные средства. В современных процессорах имеется внутренняя поддержка
этого механизма. Однако в нашем случае необходимо внешнее устройство управления памятью
(УУП), которое включено в состав контроллера ОП.
Так как страничный механизм требует дополнительного обращения к памяти при
преобразовании адресов, то в состав ОП вводится адресный КЭШ (буфер TLB), хранящий 32
физических адреса интенсивно использующихся ЦП страниц. Более подробно буфер TLB
рассматривается в п.4.
Заданием предусматривается наличие контроллера прямого доступа к памяти, поэтому
контроллер ОП также должен обрабатывать его команды: MEMR#-доступ по чтению и MEMW# доступ по записи.
Таким образом, можно привести следующую структурную схему ОП (рис.3.3.2)
CB
Управление
DB
CLK
R/W#
MEM#
MEMR# MEMW#
AB
Контроллер ОП
ВА
TLB
32
ВА
32
Адрес
ФА
Буфер
32
ИЭ
Hit
ФА
УУП
ИЭ
Блок ПЗУ
Блок ОЗУ
Управление
32
32
Рис. 3.2.2. Структурная схема основной памяти
На рис.3.2.2. ИЭ1- однонаправленный
двунаправленный буфер с разрешения вывода.
буфер
с
разрешением
выводом;
ИЭ2
–
3.4. Блок синхронизации и начальная установка
Блок синхронизации включает в себя: схему сброса и устройство синхронизации (рис.3.4.1).
Схема сброса необходима при включении питания и восстановлении после сбоя. Задача
схемы сброса выработать сигнал синхронного сброса RST#, который поступит на входы R# SEQ
МК и RGMK. Этим достигается установка секвенсора МК на нулевой адрес МПП, где должна
храниться МК инициализации системы. МК инициализации должна в первую очередь запустить в
работу генератор синхроимпульсов (посредством подачи сигнала асинхронного сброса на вход
SR#), перевести все выходы устройств в Z – состояние и разрешить работу ПНА. Таким образом,
исключаются конфликты устройств, работающих на общей шине и производиться инициализация и
запуск системы. Для реализации схемы начальной установки можно использовать микросхему
MC34064 фирмы Motorola, которая является специализированным контроллером предустановки
для микропроцессорных систем и вырабатывает сигнал асинхронного сброса. Для синхронизации
необходимо использовать системный синхросигнал, вырабатываемый устройством синхронизации.
"Сброс"
Блок синхронизации
Схема сброса
Устройство
синхронизации
в МУУ
К устройствам
системы
CLK
CLK
SR#
RST#
CB
Рис.3.4.1. Схема блока синхронизации
Устройство синхронизации предназначается для выработки импульсных последовательностей,
согласующих по времени работу узлов и устройств в системе. Устройство синхронизации состоит
из генератора импульсов, формирователя опорных сигналов и схем размножения (рис.3.4.2.).
CLK1
CLK
Генератор
импульсов
Формирователь
опорных
сигналов
.
.
.
CLK1
Схемы
размножения
.
.
.
CLKN
CLKN
Рис.3.4.2. Структурная схема устройства синхронизации
Генератор формирует последовательность прямоугольных импульсов с определённой
частотой. Формирователь опорных сигналов (обычно используются делители частоты)
преобразовывает эту последовательность в системные синхросигналы. Схема размножения
увеличивает мощность синхросигналов. Нельзя допустить расфазировки синхросигналов, что
вызовет сбои в аппаратуре. Для этого необходимо использовать ИМС размножения с очень малой
расфазировкой CLK.
В качестве генератора, выдающего синхросигнал CLK, взята микросхема К1804ГГ1.
К1804ГГ1 – системный тактовый генератор, предназначенный для применения в составе блоков
синхронизации центральных процессоров микро-ЭВМ и других вычислительных устройств в
качестве задающего тактового генератора. Данный генератор содержит внутренний генератор
опорной синхропоследовательности: опорная частота (до 30 МГц) задается внешним кварцевым
резонатором. Генератор позволяет формировать синхросигнал с различной длительностью сигнала
высокого и низкого уровней [8], чем достигается повышение производительности системы в
общем.
3.5. Система прерывания программ
Во время работы ЭВМ внутри нее самой или во внешней среде могут возникнуть события,
требующие немедленных ответных действий.
Прерывание программы – это способность ЭВМ при возникновении определенных ситуаций,
требующих немедленной реакции ЭВМ, прекратить выполнение текущей программы и передать
управление программе, реализующей реакцию ЭВМ на возникшую ситуацию.
Реакция ЭВМ состоит в том, что процессор формирует управляющий сигнал, требуемый
прекращения выполнения текущей программы, а затем формирует управляющий сигнал перехода к
обработке другой программы, соответствующей происходящему событию. По завершении этой
программы ЭВМ возвращается к выполнению текущей программы.
Основные функции системы прерывания:
 запоминание состояния прерываемой программы и переход к прерывающей программе;
 организация приоритетного выбора между запросами, поступающими одновременно;
 восстановление состояния прерванной программы и возврат к ней.
Заданная исходными данными (см. п.2.2.) радиальная СПП реализуется с помощью
котроллера прерываний (рис.3.5.1). В такой СПП каждое устройство имеет индивидуальную линию
запроса прерывания, которая подключается к контроллеру прерываний. Будем ориентироваться на
контроллер прерываний КМ1804ВН1. Эта структура обеспечивает также довольно простую
реализацию входящего в состав периферийного устройства интерфейса, схема которого сводится, к
единственному триггеру запроса на прерывание. Структура с несколькими линиями запроса
позволяет сопоставить каждому уровню приоритета (устройству) один разряд маски.
Сигналы прерываний, поступающие на входы INR7-INRO устройства управления
прерываниями (УУП), преобразуются в вектор (в простейшем случае это простая шифрация).
Полученный вектор поступает в дешифратор векторного адреса (ДВА) МУУ, где происходит
вычисление начального адреса микропрограммы, которую нужно загрузить в секвенсор.
При поступлении запроса на прерывание процессор сохраняет словосостояние прерванной
программы (т.к. прерывания на уровне команд, то сохраняются: РОН, регистр состояния, адрес
следующей команды (РОН сохраняется обработчиком прерывания)) и производит выполнение
подпрограммы обработки прерывания, после чего, процессор восстанавливает сохраненные
значения. Таким образом, реализуется возврат из прерывания посредством запоминания и
восстановления состояния прерванной программы. В данной системе прерываний глубина
прерываний определяется размером стека секвенсора МК.
Упрощенный алгоритм обработки прерываний на уровне команд представлен на рис.3.5.2
ПУ 1
VECTOR
ПУ 2
ПУ 3
Контроллер
Прерываний
(КМ1804ВН1)
ЦП
INT
ПУ 4
ПУ 5
ПУ 6
Рис.3.5.1 Система прерываний с несколькими линиями запросов
Начало
да
Конец
Программа
завершилась
Инкремент
счетчика команд
нет
Выборка команды
Запрос есть
нет
да
Дешифрация и выполнение команды
Анализ входа INT
Опрос триггера разрешения прерывания
Прерывание
разрешено
нет
да
Инициирование
и
Сохранение
ССП
обслуживание
(РОН,
регистр
прерывания
состояния, счетчик
команд)
Рис. 8.2. Упрощенный алгоритм обслуживания прерывания
Выполнение
обработчика
прерывания
Восстановление ССП
Рис.3.5.2. Упрощенный алгоритм обработки прерываний на уровне команд
Заданием устанавливается СПП на уровне команд, однако некоторые прерывания требуют
незамедлительной обработки (например, таймер). Для осуществления прерываний на уровне
микрокоманд необходимо добавить логическую схему в секвенсор микрокоманд (см. рис.3.5.3),
которая должна определять необходимость прерывания микрооперации и осуществлять управление
секвенсором. Основная идея состоит в замещении адреса (с запоминанием его в стеке секвенсора)
на выходе секвенсора [6]. Если логическая схема определила необходимость в прерывании текущей
микрооперации, она должна также перевести выходы секвенсора в Z- состояние и разрешить вывод
из специального буфера вычисленного с помощью ДВА адреса микропрограммы.
VECTOR
INT
Схема
ДВА
ШАВ
Управление
Cеквенсор
OE#
Y◊
BF
OE
А
МПП
Рис.3.5.3. Управление прерываниями на уровне микрокоманд и команд
3.6. Система ввода-вывода
По заданию необходимо использовать ввод-вывод с прямым доступом к памяти (ПДП).
Данный способ организации ввода-вывода подразумевает использование контроллера прямого
доступа к памяти (КПДП).
В режиме ПДП обмен между памятью и ПУ производится без участия процессора. В обычном
режиме пересылка данных между памятью и ПУ требует вначале приема данных в процессор, а
затем выдачи их приемнику, что снижает темп передачи. В режиме ПДП процессор отключается от
системных шин и передает управление обменом КПДП, что увеличивает темп передачи данных [5].
При ПДП данные не проходят через процессор, и передача слова производится за один цикл (тракт
передачи данных непосредственно связывает ПУ и ОП) ПДП особенно эффективен при передачах
блоков данных в высоком темпе (например, при обмене данными между внешней памятью и ОП).
При ПДП содержимое рабочих регистров МП не нарушается. ПДП предоставляется по завершению
текущего машинного цикла.
Возможны 2 вида ПДП:
1. С одиночными передачами (с захватом цикла системной шины)
В этом случае передачи слов в режиме ПДП перемежаются с выполнением программы,
и для передач ПДП выделяются отдельные такты машинных циклов, в которых
процессор не использует системные шины. Каждый командный цикл начинается с
машинного цикла – выборки команды. В этом машинном цикле есть такт
декодирования принятой процессором команды, в котором системные шины не
используются. На это время системные шины можно отдать для ПДП и передать одно
слово. Но в этом режиме сам обмен ПДП будет не быстрым, темп обмена нерегулярен,
т.к. длительности циклов различных команд различны, и, кроме того, ПДП может и
замедлить выполнение программы, если цикл ПДП не уложится в интервал,
соответствующий такту процессора.
2. С блочными передачами (с блокировкой ЦП).
В этом случае работа процессора останавливается на все время передачи блока данных.
При данном виде ПДП скорость обмена ограничивается длительностью циклов
запоминающих устройств (ЗУ), быстродействием самого КПДП и скоростью
выдачи/приема данных ПУ.
Взаимодействие блоков микропроцессорной системы при ПДП показано на рис. 3.6.1. ЦП
выполняет операцию программирования КПДП, настраивая его на определенный режим работы, и
может читать состояние контроллера.
ЦП
Программирование
Чтение состояния
КПДП
Управление
Управление
ОЗУ
Данные
ПУ
Рис.3.6.1. Взаимодействие устройств микропроцессорной системы при ПДП
Функции контроллера ПДП
1. Управление системными шинами (опрос, захват, высвобождение).
2. Формирования адреса ОЗУ и управление адресными линиями.
3. Управление пересылкой данных (необходимо устанавливать память в режим записи или
чтения).
4. Подсчет количества переданных единиц информации.
5. Определение момента окончания процедуры обмена.
6. Управление режимом ПДП (направление передачи, способ определения конца обмена и
т.д.).
Для возможности сопряжения ЭВМ с несколькими ПУ контроллер ПДП должен иметь
централизованную структуру и уметь обрабатывать запросы от ПУ [3].
Контроллеры ПУ обычно имеют несколько программно доступных регистров: команд, адреса,
числа слов.
В качестве примера КПДП возьмем БИС Intel 8237A (К580ВТ57), структура которой
показана на рис.3.6.2.
В каждом из каналов контроллера размещено по пять регистров, а именно: 2 регистра адреса
(базовый РАi.б и текущий РАi.т), 2 регистра счета слов (базовый РСi.б и текущий РСi.т) и регистр
режима РРi.
При программировании в оба РА загружается одно и то же значение адреса, а в оба РС –
одно и то же значение размера блока. При ПДП меняются состояния текущих регистров адреса и
счета слов. Оба они работают в режиме счетчиков и при передаче очередного слова регистр адреса
инкрементируется или декрементируется (в зависимости от программирования контроллера), а
регистр счета слов декрементируется. Когда РС дойдет до нулевого состояния, выработается сигнал
конца счета. Этим заканчивается режим блочного обмена.
Регистр режима (РР) позволяет настраивать: режим работы контроллера (по требованию,
одиночные передачи, блочные передачи, каскадированная схема); тип передач (контроль, запись,
чтение, запрещено); произвести выбор канала; направление счета регистра адреса.
Регистр управления (РУ) программируется процессором, сбрасывается по сигналу RST# и
позволяет: настроить полярность линий DACK и DRQ; установить формат записи (удлиненная,
обычная); установить вид приоритета фиксированный, кольцевой).
Регистр состояния (РС) содержит информацию о текущем состоянии контроллера и может
читаться процессором. РС позволяет определить, какие каналы закончили ПДП и какие требуют
его.
Регистр масок (РМ) содержит 4 бита, соответствующие 4-м каналам, при установке бита
запрещается действие входного запроса DRQ.
Регистр запросов (РЗ) позволяет контроллеру реагировать на запросы ПДП, исходящие от
программ. Каждый канал имеет свой бит, биты немаскируемы, но подчиняются требованиям
приоритетности.
Временный регистр (ВР) используется при передачах типа “память-память” для временного
хранения данных и всегда содержит информацию, переданную в предыдущей операции.
LDB
Блок управления
Сигналы
Управления
(связи с ЦП,
ОЗУ и ВУ)
РС0.б
РУ
.
.
.
РА0.т
РС
РМ
РА0.б
РС0.т
РЗ
ВР
DRQ0
DACK0
РР0
…
Канал 3
РА3.б
DB
РС3.б
РА3.т
БД
РС3.т
DRQ3
DACK3
РР3
Рис.3.6.2. Структура КПДП
В работе КПДП можно выделить 2 фазы: простоя и активную. В фазе простоя контроллер
находится, когда на его входах нет запросов ПДП. В этой фазе контроллер может быть
запрограммирован с помощью процессора. Состояние программируемости продолжается и после
начала действия ПДП, до момента, когда контроллер запросил захват шины (сигнал HRQ), но еще
не получил от процессора ответа (HLDA) о предоставлении ПДП. При простое контроллер
постоянно (в каждом такте) проверяет входные линии запросов DRQ (не поступил ли запрос от ПУ)
и CS# (не обращается ли процессор к регистрам контроллера). В последнем случае линии адреса
контроллера выбирают регистры, а по стробам IOW# и IOR# производится запись или чтение.
После поступления сигнала HLDA, когда процессор освободил шины системы, начинаются
рабочие состояния контроллера. Они проходят в активной фазе и, если требуется, вводятся такты
ожидания с учетом сигнала готовности/неготовности READY участников обмена (входного сигнала
контроллера). Для передачи “ПУ->Память” генерируются пары одновременных сигналов IOR# и
MEMW# для передач “память -> ПУ” – пары IOW# и MEMR#.
Запрос незамаскированного канала порождает запрос прерывания HRQ для процессора,
реализующего один из 4-х вариантов ПДП, указанными битами регистра режима.
Рассмотрим работу контроллера. В исходном состоянии запрограммированный контроллер
ожидает запросы от ПУ. По линиям DRQ ПУ сообщают о своей готовности к обмену. Получив
сигнал DRQ, контроллер транслирует его в запрос для МП по его входу HOLD выдачей сигнала
HRQ, сигнализирующего о необходимости отключения МП от системных шин. Контроллер
ожидает отключения от системной шины ЦП. Получив сигнал HLDA, контроллер определяет канал
с высшим приоритетом и начинает сам управлять шинами. Обмен начинается с подготовки адреса
ячейки памяти и вырабатывается сигнал AEN, блокирующий реакцию других устройств на
выставленный контроллером адрес. На шине адресов выставляется младшая часть адреса, а на
шине данных – старшая. Старшая часть адреса сопровождается сигналом ADSTB, записывающим
его во внешний регистр для последующей непрерывной выдачи на соответствующие линии AB.
Без вмешательства процессора передается блок данных. Вырабатываются сигналы чтения ВУ
IOR# или памяти MEMR# в зависимости от направлений обмена.
В режиме записи в ВУ или памяти контроллер может находится произвольное число тактов в
зависимости от готовности памяти (при ожидании). При записи для управления памятью выдается
сигнал MEMR# (для ВУ – IOW#).
Во время передачи последнего байта выдается сигнал конца счета и производится подготовка
к следующему циклу.
Для увеличения числа каналов ПДП несколько контроллеров могут объединяться в
многоуровневую схему с подключением линий HRQ и HLDA контроллеров следующего яруса к
входам DRQ и DACK предыдущего.
Запросы контроллеров второго яруса распространяются через схемы приоритета первого
яруса. Контроллер первого яруса именно для этого и используется, он не оперирует адресами и
другими управляющими сигналами. Его роль состоит в принятии сигналов DRQ и DACK,
выработке HRQ и принятии HLDA.
Обязательным является реакция всех устройств, работающих на системных шинах, на сигнал
AEN, который говорит о начале ПДП. В противном случае неизвестно что будет передаваться.
3.7. Таймер
Таймер предназначен для деления машинного времени на временные интервалы, чтобы
эффективно использовать процессор при работе с периферийными устройствами. Он обеспечивает
совместную работу ЦП и ПУ в реальном масштабе времени, осуществляя разбиения машинного
времени на равные интервалы времени.
Назначение таймера:



генерация прерываний от системных часов;
генерация запросов на регенерацию памяти;
генерация звуковых сигналов (PC Speaker).
В состав таймера входят схемы, необходимые для:


запроса и получения канала;
формирования вектора прерывания.
В качестве таймера в ЭВМ используется аналог микросхемы 580ВИ53 - трехканальное
программируемое устройство, предназначенное для организации работы микропроцессорных
систем в режиме реального времени. Таймер формирует сигналы с различными временными
параметрами.
Программируемый таймер реализован в виде трех независимых 16-разрядных каналов с
общей схемой управления. Каждый канал может работать в шести режимах. Программирование
режимов работы каналов осуществляется индивидуально и в произвольном порядке путем ввода
управляющих слов в регистры режимов каналов, а в счетчики - запрограммированного числа
байтов. С помощью таймера можно задавать определённые промежутки времени, по истечении
которых происходит прерывание. Линия запроса прерывания от таймера подключается на
контроллер прерываний на самый приоритетный вход.
Управляющими сигналами для таймера являются, сигналы каналов, разрешающие или
запрещающие счет, сигналы выбора каналов, а также входы write/read и вход выбора микросхемы.
Максимальное значение счета: в двоичном коде 216; в двоично-десятичном коде 104, а частота
синхронизации каналов 0-2,5 МГц. Схема подключения таймера показана на рис.3.7.1.
СВ
DB
Таймер
Запрос на прерывание
Рис.3.7.1. Схема поключения таймера
3.8. Монитор, клавиатура
Для получения итоговых данных, для постоянного наблюдения за различными действиями
вычислительной машины используется устройство отображения информации - монитор. Монитор
способен выводить текстовую и графическую информацию ЭВМ для пользователя, отображать
текущие данные и всевозможные изменения в системе.
Монитор, как и всякое другое, периферийное устройство подключается через контроллер
(видеоадаптер) к системной шине.
Следует отметить, что монитор является пассивным устройством, которое просто
отображает динамически изменяющуюся информацию, которая хранится по определенным адресам
в ОП. Обычно в памяти хранится несколько "экранов" (страниц), вывод же производится с
текущей. Это предусматривает применение графического ускорения, т.е. массивное изменение
информации на текущей странице вызовет мерцание на экране и долгую перерисовку особенно
графических объектов. Этого можно избежать, заранее подготовив дополнительную страницу
видеоизображения и присвоить ей номер текущей видеостраницы. Вывод текущей видеостраницы
производится каждые 17мс (60 Hz) при этом информация считывается в ЗУ видеоадаптера
определённой ёмкости (объём ЗУ видеоконтроллера определяет разрешение изображения).
Отображение информации ЗУ видеоадаптера происходит независимо от процессора. Схема
подключения монитора к системе показана на рис.3.8.1.
AB
DB
Адаптер
монитора
Монитор
Рис.3.8.1. Схема поключения монитора
Клавиатура является одним из основных устройств ввода, обеспечивающих интерактивное
общение пользователя с ЭВМ. Она содержит микропроцессор (контроллер клавиатуры), который
воспринимает каждое нажатие на клавишу и выдает последовательный скан-код. Скан-код - это
однобайтовое число, младшие 7 бит которого представляют идентификационный номер,
присвоенный каждой клавише, а старший 8-ой бит кода говорит о том, была ли нажата клавиша
(бит = 1, код нажатия) или освобождена (бит = 0, код освобождения). Таким образом, каждое
нажатие клавиатуры дважды регистрируется в контроллере
клавиатуры,
подключенного
к
системной шине ЭВМ, которые также преобразует последовательный скан-код в параллельный. Так
как в системе предусмотрен контроллер прерываний, то контроллер клавиатуры посылает запрос на
прерывание в него. Клавиатуру необходимо подключать на вход контроллера прерываний, с самым
высоким приоритетом после таймера.
При поступлении скан-кода из порта вызывается прерывание. Процессор моментально
прекращает свою работу и выполняет процедуру, анализирующую скан-код, который может
содержать управляющий код, например: "Ctrl-Break".
Для того, чтобы ЦП успевал обрабатывать все нажатия клавиш, контроллер клавиатуры
должен иметь буфер FIFO. Обычно он занимает непрерывную, постоянную область адресов
памяти. И два указателя хранят позиции головы и хвоста строки символов, находящихся в буфере в
текущий момент. Новые нажатия клавиш сохраняются в позициях, следующих за хвостом, и
соответственно обновляют указатель хвоста буфера. Считывание же происходит по указателю
головы строки символов. Такая конструкция позволяет легко очищать буфер, для этого надо
установить значение указателя головы равным значению указателя хвоста. Схема подключения
клавиатуры к системе показана на рис.3.8.2.
AB
DB
Контроллер
клавиатуры
Запрос на прерывание
к контроллеру прерываний
Клавиатура
Рис.3.8.2. Схема поключения клавиатуры
3.9. Внешние запоминающие устройства
К внешним запоминающим устройствам относятся в нашем случае НГМД (FDD) и
“винчестер” (HDD). Данные устройства не участвуют в вычислительном процессе, они лишь хранят
информацию. Внешние ЗУ являются устройствами с произвольным обращением, допускающим
многократное считывание информации и запись информации на место ранее записанной [4].
ВЗУ относятся к устройствам с поблочной передачей данных, поэтому очевидно, они
должны подключаться к системе через контроллер прямого доступа к памяти. ПДП рассмотрен в
3.7. Схема подключения FDD и HDD к системе приведена на рис.3.9.1.
СВ
DB
AB
КПДП
HDD
FDD
Рис.3.9.1. Схема поключения FDD и HDD
3.10. Структурная схема ЭВМ
Итак, выше были определены основные взаимосвязи элементов системы (ЭВМ). Поэтому
остается объединить их в единую структурную схему (рис.3.10.1) и дать некоторые пояснения.
По заданию архитектура ЭВМ трехшинная: шина адреса (AB), шина данных (DB) и шина
управления (CB). Разрядности ЭВМ 32-х разрядная.
В состав CB входит множество сигналов, с помощью которых осуществляется управление
ЭВМ: сигнал сброса RST, синхросигнал CLK, сигналы запросов устройств на прерывание, сигнал
подтверждения прерываний INTA, сигнал запроса ПДП HRQ, сигнал подтверждения ПДП HOLDA
и т.д.
На структурной схеме указаны направления передач сигналов, адресов, данных для каждого
устройства. Однако, некоторые сигналы для понимания работы ЭВМ подаются напрямую от
одного блока к другому.
Запросы от
устройств
Vector
Контроллер
прерываний
INT
HDD
ЦП
МУУ
INTA
ОБ
RST в МУУ
FDD
БС
HRQ
HOLDA
Контроллер
ПДП
Сохранить
маску при
прерывании
CLK
ко всем
тактируемым
устройствам
CB
DB
АВ
ОП
ПЗУ
ОЗУ
УПП
Контроллер
клавиатуры
Адаптер
монитора
Клавиатура
Монитор
буфер TLB
Контроллер ОП
Рис.3.10.1. Структурная схема ЭВМ
Таймер
4. Разработка принципиальной схемы буфера TLB
Страничный механизм (рассмотренный в п.3.3) требует значительных временных затрат.
Поэтому в МП вводится дополнительная внутренняя кэш-память страниц, в которой хранятся
начальные адреса (вернее 20-ть старших разрядов адреса, поскольку 12-ть младших разрядов
начального адреса страницы равны 0) страниц, с которыми МП работал в последнюю очередь.
Процент кэш-попаданий в буфер TLB составляет порядка 95 - 98%. И только при кэш-промахе
включается страничный механизм.
Кэш-память страниц состоит из трех блоков: блок данных, блок тэгов и блок
LRU/достоверности (см. рис.4.1). Блок данных разбивается на строки. Всего этих строк 4×8 = 32.
Каждая строка имеет формат 20 бит. В строке содержится начальный адрес страницы (вернее 20
старших разрядов этого адреса). Каждой строке ставится в соответствие свой тэг в блоке тэгов. Тэг
имеет формат 17 бит.
Всю кэш-память страниц можно условно разбить на 8-мь горизонталей. На каждой
горизонтали располагаются четыре строки, соответствующие этим строкам четыре тэга и один 7-ми
битовый элемент LRU/достоверности.
32
31
15 14
Индекс
Тэг
Ал
12 11
0
Аф
OFFSET
12
17
3
блок
тэгов
17 бит
тэг
20 бит
блок
данных
строка
*
*
20
блок LRU
7 бит
гр.0
гр.1
гр.2
гр.7
=
=
=
=
или
кэщ-попадание кэш-промах
Рис.4.1. Графическое представление функционирования буфера TLB
Рассмотрим работу кэш-памяти страниц [7]:
1. Вариант, когда МП ищет в буфере начальный адрес нужной ему страницы и там его не
находит (кэш-промах).
МП выработал линейный адрес (Ал). Поскольку включен страничный механизм, этот адрес
еще не является физическим (Аф). Пусть при поиске (соответствующего этому Ал) начального
адреса страницы в буфере TLB произошел кэш-промах. При этом начинает работать
рассмотренный ранее громоздкий страничный механизм. Когда МП в соответствующей таблице
страниц найдет нужный элемент PTE, он извлечет из этого элемента 20-ть старших разрядов
начального адреса страницы, пристыкует к ним 12-ти разрядное смещение OFFSET (из Ал) и
сформирует тем самым искомый Аф. Одновременно МП возьмет найденные им в PTE 20-ть
старших разрядов начального адреса страницы и загрузит их в одну из строк блока данных буфера
TLB. При этом важным является то, что данный начальный адрес не может попасть в любую
произвольную строку блока данных, он может попасть только в одну из четырех строк на
конкретной горизонтали! Номер горизонтали определяют при этом разряды 14 - 12 линейного
адреса Ал.
Когда МП при кэш-промахе загружает в какую-либо строку буфера новый начальный адрес
страницы он одновременно копирует в соответствующий этой строке тэг 17-ть старших разрядов
Ал (разряды 31 - 15). Открытым пока остается вопрос, а в какую из четырех строк на известной
горизонтали попадет (при кэш-промахе) наш начальный адрес. Определение номера строки на
известной горизонтали, в которую попадет начальный адрес страницы, осуществляется на
основании информации, записанной в элементе LRU/достоверности данной горизонтали.
Вернемся к началу процесса. МП выработал Ал. МП берет разряды 14 -12 этого адреса и
определяет горизонталь в буфере TLB. Затем МП берет старшие 17-ть разрядов Ал и сравнивает их
со всеми четырьмя тэгами, расположенными на выбранной горизонтали. При этом возможны два
варианта: произошло сравнение с одним из тэгов или сравнений не произошло совсем. Несколько
сравнений сразу произойти здесь не может, так как алгоритм заполнения кэш-памяти таков, что на
одной горизонтали не может оказаться одинаковых тэгов.
Если сравнений не произошло, значит произошел кэш-промах.
2. Вариант, когда МП ищет в буфере начальный адрес нужной ему страницы и там его находит
(кэш-попадание).
Если сравнение с одним из тэгов произошло - это кэш-попадание. МП достает из
соответствующей этому тэгу строки 20-ть старших разрядов начального адреса страницы,
пристыковывает к ним 12-ть младших разрядов Ал (OFFSET) и тем самым формирует искомый Аф.
Любой элемент LRU/достоверности имеет формат, приведенный на рис. 4.2.
b0
b1
b2
a0
a1
a2
a3
Рис. 4.2. Формат элемента LRU/Достоверности
Где a0 - a3 -биты достоверности. Каждый бит достоверности соответствует одной из четырех
расположенных на данной горизонтали строк. Когда МП после кэш-промаха загружает «на
горизонталь» новый начальный адрес страницы, он, прежде всего, последовательно проверяет биты
достоверности, расположенные на данной горизонтали. Если при этом МП встречает строку,
объявленную недостоверной, именно в нее и будет загружен новый адрес.
Однако, вполне возможно, что все строки на данной горизонтали окажутся достоверными.
Тогда информацию из какой-то строки придется удалить, а на ее место загрузить новый начальный
адрес. МП при этом стремиться удалить начальный адрес той страницы, к которой он обращался
наиболее давно. В этом ему «помогают» биты LRU (last recently used - «наиболее давно
использовал») b0 –b2. Обозначим строки на горизонтали L0, L1, L2 и L3. При кэш-попаданиях МП
всегда формирует заново биты LRU по схеме, приведенной на рис.4.3.
Начало
Да
Нет
Обращение было
к L0 или L1
b0=1
b0=1
Обращение было
к L0
Обращение было
к L2
Да
b1=1
Нет
Нет
b1=0
b2=0
Да
b2=1
Конец
Рис.4.3. Алгоритм формирования битов LRU
Отсюда вытекает алгоритм удаления строк, приведенный в таблице 4.1.
Таблица 4.1. Алгоритм удаления строк в буфере TLB
b0
0
0
1
1
b1
0
1
безразлично
безразлично
b2
Безразлично
Безразлично
0
1
Строка для удаления
L0
L1
L2
L3
По рассмотренному выше механизму работы буфера TLB была разработана функциональная
схема адресного КЭШ, представленная на рис.4.4.
Для более наглядного представления функциональной схемы будем считать, что все
элементы, необходимые для ее выполнения, существуют и имеют необходимую организацию,
разрядность и т.д. Т.к. наращивание до необходимой разрядности не представляет сложности, но
существенно влияет на размер, занимаемый схемой, и на количество неиспользованных входов и
выходов.
Рассмотрим функционирование разработанной схемы.
После того как МП сформировал линейный адрес (Ал) и выставил его на шину, он формирует
сигналы управления буфером TLB: CR/W# и bitR#. Сигнал CR/W# задает режим чтения(при H уровне)/записи (при L - уровне) в КЭШ; сигнал bitR# = L – задает режим сброса бита достоверности
для текущего адреса на шине (если такой имеется в КЭШ). Выполняемые действия буфера TLB при
конкретных значениях сигналов приведены таблице 4.2.
При чтении буфер TLB принимает с AB старшие 20-ть бит линейного адреса. Младшие 3 из
принятых бит являются индексом, а старшие 17 – тэгом. Индекс используется в качестве адреса при
обращении к блокам: тэгов, данных и битов LRU/достоверности. Режим чтения активирует выбор
кристалла всех 4-х микросхем памяти блока тэгов (SRAM1-SRAM4), после чего происходит
сравнение 4-х выбранных из памяти тэнов с тэгом с AB.
CR/W#
0
0
1
1
bitR#
0
1
0
1
Таблица 4.2. Функционирование адресного КЭШ
Режим функционирования буфера TLB
Запись в КЭШ
Сброс бита достоверности для текущего адреса (если он имеется в КЭШ).
Чтение из КЭШ
Если сравнение произошло и данная строка является достоверной, то происходит выбор
конкретной микросхемы памяти в блоке данных. После чего считанные данные выдаются на шину
AB и вырабатывается сигнал СasheHit=1, означающий попадание в КЭШ. Также происходит
формирование новых значений битов LRU (Блок формирования битов LRU/достоверности) и их
запись в блок LRU/достворености. Если CasheHit=0 (кэш-промах), МП должен включить
страничное преобразование, после чего сформированный адрес должен быть записан в буфер TLB.
При записи в КЭШ происходит анализ битов достоверности/LRU (Блок анализа битов
LRU/Достоверности и MUX1) для выбранной горизонтали, необходимый для формирования
сигналов выбора конкретных микросхем памяти в блоке тэгов и данных. Биты достоверности и
LRU анализируются раздельно. Если на выбранной горизонтали есть недостоверные строки, то
выбирается первая из них, если же все строки достоверны, то выбор строки для удаления
производится с использованием битов LRU по вышеописанному алгоритму (табл.4.1.). Удаление
выбранной строки происходит за счет записи на ее место новой информации (во всех блоках
буфера TLB).
Режим сброса бита достоверности отличается от режима чтения лишь тем, что при кэшпопадании в этом режиме информация на шину AB не выдается и сбрасывается бит достоверности
для заданного адреса.
Функциональная схема и таблица функционирования блоков анализа битов
LRU/достоверности и блока их обновления представлены на рис.4.5. и в табл.4.3. и на рис.4.6. и в
табл.4.4. соответственно.
b0
b1
b2
a0
a1
a2
a3
1
b0#
1
b1#
1
&
1
bcs0
b0#
b1
&
1
bcs1
b0
&
1
bcs2
b0
b2
&
1
bcs3
1
acs0
1
acs1
1
acs2
1
acs3
b2#
1
a0
&
a0
a1
&
a0
a1
a2
&
1
1
1
Рис.4.5. Функциональная схема блока анализа битов LRU/Достоверности
Таблица 4.3. Функционирование блока анализа битов LRU/Достоверности
Значения битов
a0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
a1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
a2
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
a3
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
Значения
битов
b0
0
0
0
0
1
1
1
1
b1
0
0
1
1
0
0
1
1
b2
0
1
0
1
0
1
0
1
Анализ битов достоверности
Значения сигналов
выбора микросхем
Выбираемая строка на
памяти
горизонтали
acs0 acs1 acs2 acs3
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
2
1
0
1
1
2
1
0
1
1
2
1
0
1
1
2
1
1
0
1
3
1
1
0
1
3
1
1
1
0
4
Все строки достоверны, => выбор
1
1
1
1
стоки на горизонтали по битам LRU
Анализ битов LRU
Значения сигналов
выбора микросхем
Выбираемая строка на горизонтали
памяти
bcs0 bcs1 bcs2 bcs3
0
1
1
1
1
0
1
1
1
1
1
0
1
1
2
1
0
1
1
2
1
1
0
1
3
1
1
1
0
4
1
1
0
1
3
1
1
1
0
4
oa0
"1"
oa0
"1"
oa0
ob0
ob1
A0
A1
A2
A3
A4
A5
A6
A7
oa0
oa0
ob2
R/W#
bitR#
L0
oa1
S0
S1
S2
oa2
OE
oa0
oa1
MUX
"1"
oa1
"1"
oa1
Y
na0
oa1
oa1
R/W#
bitR#
L1
A0
A1
A2
A3
A4
A5
A6
A7
oa2
MUX
"1"
oa2
"1"
oa2
Y
na1
oa2
oa2
R/W#
bitR#
L2
S0
S1
S2
OE
A0
A1
A2
A3
A4
A5
A6
A7
oa3
MUX
"1"
oa3
"1"
oa3
na2
Y
oa3
oa3
R/W#
bitR#
L3
S0
S1
S2
OE
A0
A1
A2
A3
A4
A5
A6
A7
MUX
na3
Y
nb0
nb1
nb2
na0
na1
na2
na3
S0
S1
S2
OE
oa3
L0
ob0
"1"
"1"
L1
A0
A1
A2
A3
L2
L3
L0
L1
bitR#
S0
S1
CR/W#
OE
ob1
MUX
Y
bb0
"1"
ob2
L0
L1
A0
A1
A2
A3
ob2
MUX
Y
"1"
ob3
bb1
L2
L3
S0
S1
A0
A1
A2
A3
MUX
Y
ob0
ob1
ob2
bb2
bb0
bb1
bb2
S0
S1
OE
MUX
A0
A1
A2
Y0
Y1
Y2
B0
B1
B2
nb0
nb1
nb2
OE
S
HIT
OE
CR/W#
1
1
CR/W#
HIT
bitR#
&
1
Рис.4.6. Функциональная схема блока формирования битов LRU/Достоверности
Таблица 4.4. Функционирование блока формирования битов LRU/достоверности
Формирование битов достоверности
(одинаково для всех битов a3-a0)
Значения
сигналов
CR/W# bitR#
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
L
0
1
0
1
0
1
0
1
Режим
Действие
Сформированный
бит
na
Запись
Установить в 1
1
Сброс бита
Сбросить
Оставить
0
oa
Чтение
Оставить
oa
Обновление битов при
значениях сигналов
(иначе не обновлять)
Формирование битов LRU
Значения
сигналов
L1
0
0
1
1
L0
0
1
0
1
Сформированные
биты
b0
0
1
1
ob0
b1
ob1
1
0
ob1
Значения
сигналов
L3
0
0
1
1
L2
0
1
0
1
Сформированный
бит
b2
ob2
1
0
ob2
CR/W#
HIT
bitR#
0
*
*
1
1
1
Заключение
Основным итогом работы является разработанная структурная схема ЭВМ и
функциональная схема буфера TLB.
Данная работа позволила закрепить теоретические навыки и знания по дисциплине
“Организация ЭВМ и систем” и более подробно рассмотреть структуру ЭВМ.
Основная сложность при разработке заключалась в отсутствии детализированной
информации по буферу TLB, так как зачастую в литературе рассматривается его быстродействие,
экономическая эффективность и логическая организация т.д.
Список литературы
1. Схемотехника. Руководство к курсовой работе/ В.И. Соболев.- №1522.- Новосибирск, 1997.
– 62 с.
2. Схемотехника ЭВМ. Элементная база секционных микропроцессоров. Методические
указания к лабораторному практикуму/В.И. Соболев. - №681. – Новосибирск, 1987. – 46 с.
3. Мик Дж., Брик Дж. Проектирование микропроцессорных устройств с разрядно- модульной
организацией: В 2 кн. / Пер. с англ. – М.: Мир, 1984. – Кн. 2. 233 с.
4. Каган Б.М. Электронные вычислительные машины и системы: Учеб. пособие для вузов. – 3е изд., перераб. и доп. – М.: Энергоатомиздат, 1991. – 592 с.: ил.
5. Угрюмов Е.П. «Цифровая схемотехника». – Спб.: БХВ-Петербург, 2001. – 528 стр.
6. Курс лекций по дисциплине “Организация ЭВМ и систем” за 2004г.
7. Гузик В.Ф., Каляев В.А., Костюк А.И. Организация ЭВМ и систем: Учебное пособие.
Таганрог. ТРТУ, 1999.
8. Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник:
в 2 т./ Н.Н. Аверьянов, А.И. Березенко, Ю.И. Борщенко и др.; Под ред. В.А. Шахнова.- М.:
Радио и связь, 1988. – т. 2. – 368 стр
Оглавление
1. ЦЕЛЬ РАЗРАБОТКИ ............................................................................................................................. 2
2. ИСХОДНЫЕ ДАННЫЕ ......................................................................................................................... 3
2.1. ОБЩИЕ ИСХОДНЫЕ ДАННЫЕ ................................................................................................................ 3
2.2. ИНДИВИДУАЛЬНЫЕ ИСХОДНЫЕ ДАННЫЕ ............................................................................................. 3
3. РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ ГИПОТЕТИЧЕСКОЙ ЭВМ .................................... 4
3.1. СТРУКТУРНОЕ ОПИСАНИЕ ЭВМ .......................................................................................................... 4
3.2. ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР .................................................................................................................. 4
3.2.1. Операционный блок ..................................................................................................................... 4
3.2.2. Микропрограммное устройство управления ........................................................................... 5
3.3. ОСНОВНАЯ ПАМЯТЬ ............................................................................................................................. 7
3.4. БЛОК СИНХРОНИЗАЦИИ И НАЧАЛЬНАЯ УСТАНОВКА ............................................................................ 9
3.5. СИСТЕМА ПРЕРЫВАНИЯ ПРОГРАММ ................................................................................................... 10
3.6. СИСТЕМА ВВОДА-ВЫВОДА ................................................................................................................. 12
3.7. ТАЙМЕР .............................................................................................................................................. 15
3.8. МОНИТОР, КЛАВИАТУРА .................................................................................................................... 15
3.9. ВНЕШНИЕ ЗАПОМИНАЮЩИЕ УСТРОЙСТВА ........................................................................................ 17
3.10. СТРУКТУРНАЯ СХЕМА ЭВМ ............................................................................................................. 17
4. РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ БУФЕРА TLB ................................................ 19
ЗАКЛЮЧЕНИЕ ......................................................................................................................................... 26
СПИСОК ЛИТЕРАТУРЫ ....................................................................................................................... 27
Документ
Категория
Компьютеры и периферийные устройства
Просмотров
5
Размер файла
525 Кб
Теги
другой
1/--страниц
Пожаловаться на содержимое документа