Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / doc92 / Веселов.doc
Скачиваний:
22
Добавлен:
03.08.2013
Размер:
260.61 Кб
Скачать
  1. Блок синхронизации

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

  1. Контроль оп по коду Хемминга

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

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

Каждый контрольный разряд ассоциируется с некоторой группой разрядов кодовой комбинации и выводит вес группы, в которую он входит, на четность/нечетность. Первый контрольный разряд входит в группу разрядов с номерами, имеющими единицу в первом разряде (нумерация с единицы):1,3,5,…, второй – в группу, с единицей во втором разряде: 2,3,6,…, третий – в группу с единицей в третьем разряде и т.д. Выбор места для контрольных разрядов производится таким образом, чтобы контрольные разряды участвовали только одной операции подсчета четности. Такими позициями являются разряды с номерами, являющимися целыми степенями двойки: 1,2,4 и т.д.

Контроль по коду Хемминга реализуется с помощью набора схем подсчета четности, которые при кодировании определяют контрольные разряда, а при декодировании формируют синдром [1]. Этот метод контроля основывается на предположении, что вероятность возникновения одиночной ошибки намного больше, чем групповой.

  1. Разработка принципиальной схемы кэш памяти

  1. Структура и функционирование

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

Кэш-память реализуется как ассоциативная память, в которой для каждой единицы памяти хранятся дополнительные сведения, называемые тэгом или признаком. Для однозначного определения единицы памяти тэгом должен быть физический адрес данных в ОП. Когда в ассоциативную память подается адрес, с ним одновременно сравниваются все тэги. Если один из тегов равен поданному адресу (кэш попадание, cache hit), производится обращение к этой единице памяти. Если равенства не обнаруживается (кэш промах, cache miss), требуется обратиться к ОП [3].

Разрабатываемая кэш будет четырех направленной ассоциативной по множеству. Ассоциация по четырем направлениям является компромиссом между скоростью кэш памяти с прямым отображением при попаданиях и высоким коэффициентом попаданий полностью ассоциативной кэш. Строки кэш памяти отображены на выравненные 16-байтные блоки ОП, т.е. строка содержит четыре 32-разрядных слова.

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

Алгоритм замещения – псевдо-LRU (НДИ –наиболее давно используемый) описан в п. 3.2.

Кэш состоит из трех блоков (блок тэгов, блок данных, блок достоверности) и схем поддержки функционирования (выбор направления, обновление битов достоверности и LRU, буфер).

Блок данных содержит до 8 Кбайт данных и команд. Он разделен на четыре массива (направления), каждый из которых состоит из 128 строк. Строка содержит данные из 16 последовательных адресов памяти, начиная с адреса кратного 16. Индекс в массиве, состоящий из 7 бит, соответствует четырем строкам кэш памяти, по одной из каждого класса. Четыре строки с одним индексом – множество.

В блоке тегов содержится один тэг длиной 21 бит для каждой строки. Блок тэгов также разделен на четыре направления. Тэг содержит старшие 21 бит физического адреса данных, находящихся в строке.

В блоке достоверности и LRU по одному 7-битному значению для каждого из 128 множеств строк. четыре бита отмечают строки в множестве как достоверные (1) и недостоверные (0). Еще 3 бита – это бита LRU, которые используются при замещении строки.

Адресация кэш осуществляется путем разделения 32 бит физического адреса на три части: старшие 21 – поле тэга, применяется для различения данных в кэш от любой другой строки данных в множестве; следующие 7 – определяют множество; оставшиеся 4 – определяют слово и байт, используются два старших из них, т.к. обмен с кэш производится словами.

Схема выбора строки генерирует сигнал, разрешающий считывание или запись для конкретной строки. При записи и считывании данных сигнал генерируется на основе сравнения тэгов из множества с тэгом из адреса. При замещении строки сигнал генерируется на основе битов достоверности и LRU для множества.

Схема обновление битов достоверности и LRU для выбранного множества предоставляет возможность установления новых значений битов достоверности, а также автоматическое обновлении битов LRU.

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

Для блоков обновления битов достоверности, LRU и выбора замещаемой строки были разработаны комбинационные схемы по известной логике. Работа блока замещения и обновления описана в п. 3.2. Логика работы обновления битов достоверности заключается в записи нового значения бита достоверности (внешний сигнал) выбранной строки при записи или обнуление всех битов достоверности для очищения множества.

Все блоки хранения построены на асинхронной статической памяти. Схема дешифрации адреса такова, что в любой момент активным на внутреннюю 32-разрядную шину данных кэш может быть только один модуль, хранящий слово. Многозначный ответ при корректном управлении кэш памятью недопустим. Регистр адреса необходим для фиксирования физического адреса, по которому обращается ЦП. Он должен иметь вход разрешения тактирования, для устранения безусловной загрузки регистра (отключение кэширования). Выходной трансивер обеспечивает корректный ввод-вывод данных на локальную шину процессора. Также регистр адреса и выходной трансивер обеспечивают необходимые емкостные нагрузки. Регистр после блока хранения битов LRU и достоверности фиксирует их текущие значения по смене сигнала CR/W#.

Отмена содержимого кэш (очистка кэш) осуществляется в режиме отмены содержимого множества, при чем ЦП должен сгенерировать 128 адресов таких, чтобы биты достоверности были сброшены для всех множеств.

Укрупненная принципиальная схема кэш представлена в приложении № 3.

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