Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / doc200 / #noname_00 (2).doc
Скачиваний:
18
Добавлен:
01.08.2013
Размер:
97.28 Кб
Скачать
  1. Блок синхронизации:

Блок синхронизации необходим для синхронизации всех цифровых устройств, входящих в ЭВМ и призван устранить критические временные состязания сигналов. Устройство синхронизации должно содержать следующие блоки: задающий генератор, формирователь опорных сигналов и размножитель сигналов. В качестве формирователя опорных сигналов используется микропрограммируемый тактовый генератор КМ1804ГГ1, способный менять длину цикла, что позволит повысить производительность ЦП. При включении питания необходимо выполнить начальную установку, т.е. выполнить сброс секвенсера микрокоманд(установить адрес первой микрокоманды на нулевой). Для этого в блок синхронизации добавим схему начальной установки, реализованную на основе микросхемы MC34064 фирмы MOTOROLA. Микросхема MC34064 это специализированный для микропроцессорных систем контроллер предустановки, применяемый для выработки асинхронного сигнала RESET#. Время начальной установки схемы должна быть не менее 200s.

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

  1. Таймер:

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

  • запроса и получения канала;

  • формирования вектора прерывания;

  1. Монитор и клавиатура:

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

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

Напрямую подключение монитора и клавиатуры к магистрали невозможно, для этого применяются специализированные контроллеры (видеоадаптер и контроллер клавиатуры соответственно).

  1. Буфер tlb:

При страничной организации таблица страниц располагается в оперативной памяти. Для ускорения страничного преобразования процессор запоминают физические адреса часто используемых страниц виртуальной памяти в специальной области кэш-памяти, называемой TLB (Translation Lookaside Buffer). Блок TLB имеет фиксированный размер, его наличие и функционирование полностью прозрачно для прикладных программ.

В данном случае был реализован блок TLB в виде полностью ассоциативной кэш-памяти на 32 строки трансляции. Такой размер позволяет хранить информацию о трансляции 128Кб памяти (при размере страницы 4Кб), что в большинстве случаев дает коэффициент кэш попаданий 98%. Помимо адресов в строке дополнительно содержится служебная информация о странице (дескриптор страницы):

  • бит действительности P(Present). Бит определяет, возможно ли использование данной строки для трансляции адреса. P=1 – данные действительны, P=0 – трансляция невозможна (строка действительна для записи или проч.)

  • бит D(Dirty) – признак, устанавливающийся перед операцией записи по адресу, в преобразовании которого участвует данная строка. Помечается “грязная” страница, которую в случае замещения необходимо выгрузить на диск.

  • A(Access). Признак доступа, устанавливается перед любым чтением или записью по адресу, в преобразовании которого участвует данная строка.

Для механизма защиты страницы используется два разряда:

  • бит уровня доступа к странице. U/S#. U - пользовательский, S# - супервизор

  • степень доступа к таблице R/W#. Read – страница доступна только для чтения, Write – и для чтения и для записи.

Два атрибута защиты могут составлять следующие комбинации:

U/S#

R/W#

Тип доступа

0

0

Супервизор

0

1

Супервизор

1

0

Пользовательский (чтение)

1

1

Пользовательский (чтение/запись)

Строка буфера TLB имеет вид:

46 45 44 43 42 41 40 39 20 19 0

LRU

R/W#

U/S#

D

P

Физический адрес

Линейный адрес

Дескриптор при обращении к TLB запоминается в специальном выходном буфере и становится доступен при бите RDCPT (Read Descriptor), установленном в 0. Для записи дескриптора процессор должен выдать на локальную шину буфера текущий дескриптор с измененными битами и установить сигнал RDCPT = 1.

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

Поиск в буфере начинается при установлении в единицу сигнала FA (Find Address), при этом счетчик адресов начинает счет от 0 до 31. При разрешенном страничном управлении (установлен специальный бит в одном из регистров процессора), блок страничной переадресации получает 32-битный линейный адрес, его старшие 20 бит сравниваются со значениями из TLB, и, в случае попадания, физический адрес вычисляется по начальному адресу страницы, полученному из TLB, а затем вводится на шину адреса. Если строки в буфере нет, производится ее чтение из страничного каталога. Причем, пока идет обращение к памяти, в TLB ищется строка, которую можно заменить и в нее пишутся старшие 20 бит текущего адреса (в данный момент на шине присутствует линейный адрес). Замене подлежит только строка, наиболее давно не использовавшаяся (приоритет 000) и имеющая бит присутствия P = 0. Затем выставляется сигнал готовности к приему физического адреса и на шину выводится адрес из таблицы страниц, старшие 20 бит которого запоминаются в этой же строке.

Строки буфера заменяются по алгоритму LRU (Least Recently Used – наиболее давно не использовавшаяся страница замещается первой). Для этого зарезервировано 3 бита, в которых могут быть записаны следующие значения: 000, 011, 111. Замещению подлежит строка с приоритетом 000. При обращении к строке в случае кэш-попадания ее приоритет увеличивается по следующему правилу: 000->011, 011->111, в случае, если строка не подходит – уменьшается 111->011, 011-000. При записи новой строки ей присваивается статус 111.

При переключении задач необходим сброс буфера TLB, это происходит по внешнему сигналу CLR_TLB от процессора по указанной выше схеме.

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

  • КР1554АП20 - восьмиразрядный двунаправленный приемопередатчик с регистром и тристабильными выходами;

  • КР1554ИЕ10 – 4-разрядный двоичный счетчик с синхронной установкой и асинхронным сбросом;

  • КР1554ЛЛ1 – 4 элемента 2ИЛИ;

  • КР1554ЛН1 – 6 элементов НЕ;

  • КР1554ЛИ6 – 2 элемента 4И;

  • КР1554КП11 – 4-разрядный мультиплексор 2-1 с тристабильными выходами;

  • КР531СП1 – схема сравнения двух 4-разрядных числе;

  • КР531ИР23 – 8-разрядный буферный регистр с защелкой и тристабильными выходами;

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

Счетчик (реализованный на двух микросхемах КР1554ИЕ10) считает от 0 до 31, выдавая на локальную шину адрес строки буфера TLB. Линейный адрес (хранится в битах 0-19 строки) сравнивается со старшими 20-ю битами на шине адреса и, в случае совпадения и установленного бита P=1, на шину адреса выдается 20-битный физический адрес страницы. По сигналу процессора (RDCPT) становится доступным дескриптор данной страницы. В случае, если ни одна строка не удовлетворяет условию (на выходе 6-го разряда счетчика появляется единица), вырабатывается сигнал Cash Miss, затем процессор должен выставить сигнал Cash This Address, по которому присутствующие на шине адреса старшие 20 бит (линейный адрес) запоминаются в подходящей строке и дальше поиск ведется в таблице страниц, расположенной в оперативной памяти. Когда поиск завершен и на шине присутствует физический адрес, процессор снова выставляет сигнал Cash This Address, по которому теперь запоминается физический адрес. Для предотвращения записи некорректной информации и гонок сигналов, на шине применяются буферные регистры (КР1554АП20).

Соседние файлы в папке doc200