Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ORGANIZATsIYa_EVM

.pdf
Скачиваний:
12
Добавлен:
29.03.2016
Размер:
3.03 Mб
Скачать

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

.

Адресный регистр РАК2 предназначен для:

А) хранения адреса переданной команды в случае признака 2РБК – пустые и признака дан доступ в КЭШ. используется, как сказано выше для фиксации адреса команды загружаемой из кэш команд.

РАК2=РАК1+4 указывает на то, что в РБК1 еще находятся команды или команда в зависимости от формата на выполнении.

Б) для хранения адреса первой команды загружаемой из ОП или БП при первоначальной загрузке.

 

 

 

 

 

Блок микропрограммного

 

 

 

 

 

управления

 

 

 

 

 

Схема контроля за

 

 

 

 

 

продвижением команд

 

 

31р=0

 

Схема обн

 

 

31

31

РАК 2

31

РАК1

31

Икр+4

 

 

30

 

30

 

30

 

 

 

 

 

 

 

 

29

 

 

 

29

 

 

 

 

 

 

28

Икр+12

 

 

 

 

 

21

 

 

20

 

 

 

20

 

 

19

 

 

 

19

Икр+8

 

 

 

 

 

 

 

16

 

 

 

16

 

 

 

 

 

 

15

 

8

 

 

 

 

8

 

21-28разр адреса буферной пам коман

Блок

преобразования Начальный адрес загрузки или адресов из регистра процессора возвращаемого в адресный тракт при загрузке команд из системной или буферной памяти

Организация индексной памяти кэш команд

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

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

Ирешение было найдено в реализации так называемой модифицированной гарвардской архитектуры, о которой также неоднократно говорилось.

В этой архитектуре интерфейс процессорсистемная память остается фоннеймановский то есть общая шина команд/данных.

В процессоре два независимых друг от друга информационных тракта команд и данных.

Препятствием для реализации этой идеи стал блок преобразования логических адресов в физические, являющегося аппаратной частью механизма виртуальной памяти , а следовательно, чтобы организовать максимальную автономность каждого тракта нужно было “разрезать” блок на две части, каждая из которых занимается преобразованиями своих адресов. Именно такой механизм функционирует ,например, в POWER4 ,который мы рассмотрим позже.

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

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

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

Следовательно, если выбрать размер адресного поля для кэш команд равный размеру страницы, то тогда индексная часть адреса будет определять физический адрес страницы в памяти и необходимость ввода дополнительного

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

Возможно и увеличение размера кэш , тогда не меняя размера полей можно использовать наборно-ассоциативную кэш, в которой адресная часть будет определять набор.

Буферные регистры

Коммутатор

 

 

 

Выдачи

 

 

 

команд

 

 

 

 

 

данных

 

 

 

 

 

 

 

 

 

 

 

 

Кэш

 

 

 

 

 

 

команд

 

 

28

Инкр+12

28

Регистр

 

 

 

 

 

 

Адреса

 

 

 

 

 

 

Кэш

 

 

 

21

 

21

команд

 

8

22

 

 

 

 

да

 

 

 

 

 

 

 

 

20

 

 

 

 

 

 

 

 

 

Индексная

 

 

 

 

 

Память

 

 

 

8

 

 

Кэш

 

 

 

 

 

 

команд

 

Узел

 

 

 

Дан

 

 

формирования

 

 

 

 

 

 

 

 

кэш

 

 

адреса

 

 

 

 

 

 

 

нет

 

 

 

следующей

 

 

 

 

 

 

 

 

 

 

 

команды

20

Инкр+4

 

Схема

 

 

 

 

Инкр+8

 

 

 

 

 

 

обнаружения

 

 

 

 

 

 

 

29

 

 

команд в кэш

 

 

 

 

 

 

 

8

 

 

 

Общая кэш

 

 

Блок

 

 

команд и данных

 

 

 

 

 

 

 

 

 

 

 

 

динамического

 

 

 

 

19

преобразования

 

 

 

 

адресов

 

 

 

 

 

 

 

 

 

20

 

 

 

 

 

 

29

 

 

 

Системная память

 

 

 

 

 

 

 

30

 

 

 

 

 

 

31

 

 

 

 

 

 

Схема управления продвижения команд в буферных регистрах осуществляет

продвижение команд на основе информации полученной из блока

 

 

микропрограммы управления ( микрооперация IFTN).

 

 

 

Схема и в целом блок БВК работают следующим образом. Для

 

управления БВК в микропрограмме реализующей выполнение команды

 

вводятся следующие микроприказы.

 

 

 

 

А) микроприказ IFTN, по которому происходит продвижение команды по конвейеру, анализ наличия свободных буферов, модификация адреса команды. Анализ наличия команд в БПК и их загрузка из БПК в РБК при двух пустых буферных регистрах.

Б) микрооперация FIB, организующая запрос за командой в КЭШ данных или системную память в случае отсутствия в КЭШ памяти команд.

Эти две микрооперации размещены в следующем порядке

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

В представленной блок схеме таким трактом является тракт загрузки регистра РАК2 из процессора через его регистр RZ и местной памяти.

На схеме представлена архитектура буферных регистров блока выборки команд.

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

Код операции в зависимости от расположения команды в буферных регистрах из за различной длины команд поступает на коммутатор из первой или второй половины буферного регистра РБК1. По той же причине на вход коммутатора смещения подаются разные группы разрядов регистров РБК1и РБК2. Значения адреса базовых и индексных регистров подаются в местную память процессора, откуда соответствующие значения базы и индекса поступают на адресный сумматор.

След.ком. БПК

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]