Разработка и описание структурной схемы ЭВМ

В данном курсовом проекте разрабатывается структурная схема гипотетической ЭВМ, функциональная схема отдельного блока и алгоритм его работы. В состав ЭВМ входят:

центральный процессор(центральное обрабатывающее устройство и микропрограмное устройство управления), оперативна память, блок синхронизации, система прерывания программ, таймер,

система ввода-вывода, монитор и клавиатура, накопитель на гибких магнитных дисках, «Винчестер».

ЭВМ – двухадресная, длина команды – переменная.

Разрядность ЭВМ – 16.

Емкость оперативной памяти – 16Мб.

Индивидуальные исходные данные:

1.  Структура ЭВМ - магистральная 2-х шинная.

2.  Оперативная память – страничная виртуальная.

3.  Система прерываний – последовательная макро.

4.  Ввод – ПДП.

5.  Кэш – TLB

6.  Система контроля – -----

 

Рис.1

Центральный процессор

 

Команды, операнды (из ОП)

Результаты операций (в ОП)

 

……

Запросы прерываний

Рис.2 Упрощенная структурная схема процессора

Процессор занимает центральное место в структуре ЭВМ, так как он осуществляет управление взаимодействием всех устройств, входящих в состав ЭВМ. Процессор дешифрирует и выполняет команды программы, организует обращения к оперативной памяти, в нужных случаях инициирует работу ПУ, воспринимает и обрабатывает запросы прерывания. Упрощенная схема процессора приведена на рис. 2, где изображены только его основные части:

- Арифметико-логическое устройство (АЛУ) - производит логические и арифметические операции над данными.

НЕ нашли? Не то? Что вы ищете?

- управляющее устройство (УУ) - вырабатывает управляющие сигналы для выборки очередной команды из памяти, дешифрирования кода команды, формирования адресов операндов, выборки операндов из памяти, передачи их в АЛУ, выполнения в АЛУ операции, предусмотренной кодом команды, передачи полученного в АЛУ результата операции в память, инициирования операций ввода-вывода, организации реакции процессора на запросу прерывания, поступающие от узлов самого процессора, других устройств, в том числе ПУ.

- блок управляющих регистров (БУР) - предназначен для временного хранения управляющей информации. Содержит регистры и счетчики, участвующие в управлении вычислительным процессом: регистры, хранящие информацию о состоянии процессора, регистр-счетчик адреса команды – счетчик команд, счетчики тактов, регистр запросов прерывания и др.

- блок регистровой памяти (местная память) - используется для повышения быстродействия и логических возможностей процессора.

- блок связи с ОП - организует обмен информацией процессора с оперативной памятью и защиту участков ОП от недозволенных данной программе обращений, а также связь ЦП с ПУ.

ПрямоугольнаяПрямоугольная выноска: Шина ДанныхСистема прерывания программ (для внешних прерываний) – последовательная макро. Это означает, что имеется общая линия для сигнала прерывания от периферии к процессору, а также последовательная линия подтверждения прерывания. Запоминание состояния процессора идет на макро уровне (уровне команд).

«Дейзи»-цепочка

 
 

Способ формирования и передачи в ЦПУ вектора прерывания.

Периферийное устройство выставляет запрос на прерывание на общую линию. В ответ на это процессор формирует сигнал подтверждения прерывания. Линия подтверждения прерывания при этом разрывается (на устройстве, которое выставляло запрос) По его приходу периферийное устройство выставляет вектор прерывания на шину данных.

Принятый способ возврата из прерываний и его реализация.

Начало фронта подтверждения прерывания инициирует начало передачи вектора прерывания (через некоторое время задержки).Затем на устройстве линия подтверждения разрывается. Для того, чтобы

процессор знал, что на шине вектор,

Запрос прерывания сигнал подтверждения через канал шины

управления возвращается в процессор.

Подтверждение Идет запись и обработка вектора

прерывания. По окончании обработки идет

вектор восстановление состояния. Далее

выполняется команда, следующая за исходной. Таким образом осуществляется возврат из прерывания. Предусмотрен защитный механизм(механизм таймаута).По отправке сигнала подтверждения запускают таймер. Если сигнал подтверждения не возвращается (сбой в шине, или неисправность устройства), то через установленное время происходит принудительный возврат процессора в исходное состояние.

Запоминание и восстановление состояния прерываемой программы.

По приходу сигнала запроса прерывания происходит запоминание текущей программы. Так как запоминание идет на макро уровне, то ожидается завершение текущей команды, затем сохраняются значения Регистров Общего Назначения (РОН)+регистр флагов +указатель текущей команды IP CS ( получается уже следующей команды).После прихода вектора выполняется соответственная программа обработки по завершении которой происходит восстановление состояния прерванной програмы. Так как текущая команда выполнена, то начинается выполнение следующей.

Управление приоритетами.

В случае, когда запрос на прерывание выставляют одновременно два и более устройств, необходимо решать порядок поступления векторов на процессор. Высшим приоритетом обладает ПУ1, затем ПУ2 и так далее до ПУk. Данная процедура обеспечивается тем, что ключ на линии подтверждения в устройстве при отправке вектора, размыкается и сигнал подтверждения прерывания не доходит до следующих(менее приоритетных) устройств.

В случае внутренних прерываний процессор выполняет соответственную процедуру.

TLB кэш

Используется для хранения части страничной таблицы. Число хранимых дескрипторов находится в переделах 32.

Кэш TLB представляет собой ассоциативное запоминающее устройство (которое может иметь несколько направлений). При этом ассоциативным признаком (тэгом) является линейный адрес, подаваемый в TLB устройством управления ОП, данными – физический адрес. Формат кэша следующий :

 

35

Бит присутствия (P) указывает, в какой памяти записана запрашиваемая страница. Если P=1 страница записана в ОП, иначе она записана в ПЗУ.

Бит занятости (W) указывает на достоверность или недостоверность данных, а также на то, можно ли записывать в этот блок. Если W=1 блок занят и хранит достоверные данные, иначе блок свободен и данные недостоверны

Бит активности (A) устанавливается в 1, если страница использовалась и сбрасывается в 0 через какое то время. Если все биты A=1 они сбрасываются в 0.

Если свободного места в кэше нет (все биты W=1) в силу вступает алгоритм замещения LRU. Замещается блок, у которого бит активности A=0.

В кэше используется сквозная запись, т. е. он полностью дублирует информацию, содержащуюся в ОП.

Если страничная таблица в ОП обновляется - кэш очищается (сбрасываются все биты W, информация недостоверна).

Оперативная память

Оперативная память служит для хранения информации (данных, программ, промежуточных и конечных результатов обработки). В системе используется механизм виртуальной памяти. Организация виртуальной памяти – страничная, т. е. виртуальное адресное пространство разбито на страницы с постоянным размером в 4 Кб.

Для адресации ОП выделяется 32 разряда. При этом 20 разрядов используются для задания номера страницы, остальные 12 для задания смещения, т. е. для задания номера слова в страницы. Размер слова – 2 байта. Количество страниц – 1Мбайт. Исходя из этого максимальный объем адресуемой памяти – 4Гбайт.

P D

 
При такой организации ВП в ОП должна хранится страничная таблица (СТ), где каждой виртуальной странице ставится в соответствие физический адрес и указывается бит присутствия, т. е. местонахождение страницы (ОЗУ или ПЗУ). При этом смещение внутри страницы остается неизменным. Схематично такое преобразование изображено на рис.3

P - номер виртуальной страницы, D – смеще -

ние

Страничная таблица

СТ

 

P` - номер физической страницы, D – смеще -

Ние (осталось неизменным)

P` D D

 

31 11 0

Рис. 3. Преобразование адреса

Для обращения к СТ необходимо по номеру страницы вычислить линейный адрес, прибавив к начальному адресу СТ номер нужной страницы, умноженной на размер дескриптора. Но в таком случае необходимо двойное обращение к памяти – первое, при определении физического адреса, второе – собственно при считывании данных из ОП. При этом быстродействие заметно падает. Чтобы этого избежать используется небольшая сверх-оперативная память (буфер TLB), в которой хранится часть СТ. Формат СТ может быть следующим

Физический адрес Бит присутствия

(20 разрядов)

 
Начальный адрес (НА) СТ

Виртуальная страница 1

НА + дескриптор

Виртуальная страница 2

НА + дескриптор*2

Виртуальная страница 3

НА + дескриптор * 3

В системе решено использовать ОЗУ динамического типа (DRAM), емкостью более 16Мб.

Управление памятью осуществляется с помощью устройства управления оперативной памятью (УУОП), в котором реализованы следующие основные функции:

- Прием управляющих сигналов с шины управления и выполнение соответствующих действий.

- Дешифрацию поступающего адреса и вычисление линейного адреса.

-  Обращения в ассоциативный буфер TLB, при этом ассоциативным признаком является линейный адрес. Получение физического адреса и значения бита присутствия.

-  В случае отсутствия нужного дескриптора в TLB организация записи дескриптора из ОП в TLB.

-  Если бит присутствия равен 1, т. е. виртуальная страница находится в ОП (в страничном кадре), производится передача (запись) данных из ОП.

-  Если бит присутствия равен 0, т. е. страница записана на внешнем ЗУ, формируется прерывание «отсутствие страницы» (страница не находится в страничном кадре). Программа обработчик прерывания переписывает страницу с внешнего ЗУ в ОЗУ, дескриптор страницы записывается в TLB.

-  Организация свопинга страниц, когда в ОП отсутствует свободное место. Свопинг производится в соответствии с одной из стратегий выталкивания, т. е. когда данная страница записывается на место долго неиспользуемых страниц, неинтенсивно используемых и т. д.

Система Ввода/вывода

В соответствии с вариантом задания в качестве системы ввода/вывода в разрабатываемой ЭВМ должен быть реализован Прямой Доступ к Памяти (ПДП) – такой способ организации пересылки данных, когда устанавливается непосредственная связь между ПУ и ОП. При вводе/выводе CPU только производит инициализацию ПДП. Используется один контроллер прямого доступа для всех ПУ.

SYS BUS

Рис. 4 Система Ввода/вывода

 
 

В данной ЭВМ реализован Прямой Доступ к Памяти с захватом цикла системной шины

ПДП ПДП ПДП ПДП

ЦП ЦП ЦП ЦП ЦП

Функции контроллера ПДП:

1)  Формирование адреса ОП и управление адресной шиной

2)  Управление пересылкой данных

3)  Определение момента окончания обмена

4)  Управление режимом

Так как несколько устройств управляют шиной, то нужен арбитраж, он находится в CPU. При арбитраже контроллер ПДП имеет более высокий приоритет, чем CPU.

Принцип захвата шины:

Контроллер выставляет сигнал BR (ЗШ) – захват шины, получив этот сигнал, арбитр выдаёт сигнал

BG (ПШ) – предоставление шины, получив сигнал BG контроллер выставляет сигнал BB (ШЗ) – шина занята, по этому сигналу все устройства отключаются от шины.

РгБ – буферный регистр

РгТАД – счётчик текущего адреса данных

При инициировании операции ввода/вывода в ТСчД заносится размер подлежащего передаче блока, а в РгТАД – начальный адрес области памяти, используемой при передаче. При передаче каждого байта содержимое РгТАД увеличивается на 1, при этом формируется адрес очередной ячейки ОП, участвующей в передаче. Одновременно содержимое ТСчД уменьшается на 1. Обнуление ТСчД указывает на завершение передачи. КПДП имеет более высокий приоритет, чем у CPU. Управление памятью переходит к КПДП как только завершится цикл её работы, выполняемый для текущей команды процессора.

 
 

ОП

+1 -1

КПДП

Рис. 5 КПДП

 
 

Описание работы по структурной схеме

Запуск микропроцессора осуществляется по входу SET. Производится начальная установка и тестирование. Тактирование идет по входу CLK. Микропроцессор взаимодействует с оперативной памятью через устройство управления ОП. На него возложены функции преобразования адресов (виртуальные - физические) через буферы трансляции TLB. Также он выполняет весь алгоритм замены\анализа содержимого TLB. Винчестер и НГМД находятся в одном адресном пространстве с основной памятью. Взаимодействие с периферией идет через соответствующие устройства: контроллер интерфейса клавиатуры и адаптер. Система прерывания программ имеет непосредственные связи с этими устройствами (ввод\вывод по прерываниям).Подразумевается, что внутри каждого объекта, соединенного с системной шиной, присутствует устройство разделения потока адреса\данных. Завершение работы происходит по сигналу RESET.

Функциональная схема КЭШа

Страница выделяется процессу. Для преобразования виртуального адреса в физический она поступает в буфер трансляции адресов (TLB) - адресный КЭШ. Номер слова в физическом и виртуальном адресах совпадают, поэтому решается только задача преобразования номера страницы.

Номер виртуальной страницы (адрес внутри сегмента задается 16ти-разрядным числом, при том что размер страницы 4Кб, их максимальное число внутри сегмента-16, следовательно 4 разряда) записывается в строку ассоциативного признака. Входы D не обозначены (загрузка на усмотрение реализующего схему). Далее номер этой страницы сравнивается (параллельно) со всеми номерами (виртуальными).В случае совпадения физический адрес страницы появляется на выходе (бит активности при этом устанавливается в 1).Когда все биты активности =1,автоматический сброс.

Если КЭШ попадания не произошло, то в действие вступает стратегия замещения страниц.

Процессом записи в строки виртуальных адресов и им соответствующих физических должен заниматься специальный модуль(контроллер).

Работа КЭШа (стратегия замещения страниц)

Идет обращение к странице. Каждой строке сопоставляется бит A(активности) .

A устанавливается в 1,если происходит КЭШ-попадание. Когда все A=1-сброс всех в 0.

 

да

 

Блок-схема: решение: В ОП есть место нет

нет

 

Блок-схема: решение: TLB полон да

нет

 

да

 

Заключение

В данном курсовом проекте была разработана гипотетическая ЭВМ с заданной вариантом конфигурацией на структурном уровне. Также был рассмотрен алгоритм работы КЭШа (на примере адресного КЭШа) и разработана функциональная схема КЭШ дескриптора (его часть).

Тэг (Ассоциативный признак)

 

&

 
Бит активности

 

Бит активности

Виртуальная страница Физическая страница