Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по организации ЭВМ.DOC
Скачиваний:
30
Добавлен:
02.05.2014
Размер:
126.98 Кб
Скачать

Конвейерная организация.

Существует тенденция выполнять в 1 момент времени более, чем 1 команду.

Суть в совмещении базовых операций – выполняется более, чем 1 базовая операция.

Базовые операции:

  • чтение кода команды, выборка команды ВК; - дешифрация кода ДК;

  • чтение операнда ОП; - выполнение команды В; -запись результата ЗР.

Некот. опер. могут быть повт.

выборка команды1

дешифрация команды1

оп.1, оп 2, … команды1

выполнение1

запись результата1

ВК 2

ДК 2

ОП 2

В 2

ЗР 2

ВК 3

ДК 3

ОП 3

В3 ЗР3

ВК 4

ДК 4

ОП 4 В4

ВК 5

Ресурсы, используемые отдельными компонентами, различны. Обращение к памяти может потребовать общих ресурсов (например, при обращении к общей шине вв/выв). На сколько разрешим конфликт ресурсов, на столько больше ступеней можно организовать конвейер. В приведенном выше конвейере может выполняться до 5-ти команд.

Возможные конфликты:

  • структурные (связанные со структурой);

  • конфликты по данным (результат предыдущей команды влияет на выполнение следующей);

  • по управлению.

Решение структурных конфликтов:

- стараются уменьшать влияние - приостановка конвейера на 1 такт (pipeline bubble);

12.03.01

- дублирование – 1 шина на ввод, 2-я – на вывод.

Решение конфликтов по данным:

WAR – запись после чтения;

RAW – чтение после записи;

WAW – запись после записи.

1) вводятся дополнительные пути (пути обхода). Результат не записывается в регистр, а идет напрямую в исполнительное устройство. Т. е. в конвейере –1 такт.

2) дублирование – дополнительный набор регистров.

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

Для решения этих проблем используют методы планирования работы конвейера.

1-й вариант связан с упорядочением команд программными средствами – интерпретатор, компилятор.

2-й вариант – динамическая оптимизация:

  1. обнаружение конфликтов на начальной стадии работы конвейера (при дешифрации команд);

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

  3. переименование регистров (дублирование). Должен существовать набор регистров, которые могут в процессе работы переименовываться => для выполнения одной команды – 1 набор регистров, а для другой конфликтующей команды – тот же набор, но другими именами.

Решение конфликтов по управлению

Эти конфликты дают наиболее существенные потери:

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

Пути решения:

  • предсказание переходов;

  • дублирование вычислений.

Предсказание переходов.

Наиболее часты переходы вперед (60-70%). Переходы часто связаны с циклами. Высока вероятность повторных переходов => если хранить протоколы переходов, то их можно предсказать. Если переход 1-й раз выполнен в одном направлении, то вероятнее всего, что и в следующий раз – в том же, а в 3-й, 4-й и т. д. еще вероятнее. Каждому переходу в программе определяется признак (знак), который определяет, правильно или нет угадан предыдущий переход. С каждым циклом этот признак может ув. или ум. Имея 2-хразрядный признак, удается предсказать до 95% следующий переход.

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

Примерная структура современного процессора (ссылка на структуру процессора, 26.02.01):

Ресурс кэш-памяти (внутренний) – до 32 кбайт. В кэше команд помещаются все команды, которые связаны с выполняемой процедурой. В очереди накапливается цепочка команд, которые анализируются планировщиком. CISC->RISC: расширенный набор обязательно перекодируется в систему команд ограниченного набора, т. к. для этого вида архитектуры конвейер работает более эффективно.

ОУ (операционное устройство) выполняет все операции. ОУ: РОНы, устройство целочисленной арифметики (м. б. > чем 1 блок), блок расширенной арифметики (с плавающей точкой), блоки векторной арифметики (MMX) и др.

Т. к. блоков несколько, то и работать они могут одновременно => одновременно могут выполняться > 1 команды => должен работать планировщик.

УУВ (УУ ветвлениями и переходами, устройство предсказания переходов).

КЭШ В (память, где хранится протокол ветвлений, переходов) помнит 4-8 тыс. точек переходов.

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

Назначение – хранение информации, в том числе и управляющей.

Классификация памяти:

I. По типу запоминающей среды.

1. Электронные компоненты – использующие транзисторы и др. Может быть статическая память (на триггерах) и запоминающие элементы (хранения заряда).

2. Магнитная среда и магнитные элементы (магнитные домены). Носители – лента, кубы, диски.

3. Оптическая среда (оптические диски). Свет – элемент воздействия на среду. Используются свойства материалов преломлять, поглощать, отражать фотоны.

19.03.01

4. Смешанные типы носителей (магнитооптические диски).

II. По способам доступа к информации (вопрос организации информации, способ записи, чтения и обработки).

Технология изготовления памяти.

Технология использования – аппаратные требования ВС (произвольная, последовательная выборка).

Способы доступа:

  1. последовательный доступ (магнитная лента);

  2. произвольный доступ – каждый элемент памяти может быть индивидуально адресован без перебора;

  3. ассоциативный: доступ к элементам информационного поля происходит на основе некоторых признаков этой информации. При этом реальное размещение, адрес не используется;

  4. смешанный (магнитооптические диски).

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

  1. Сверхоперативная память – самая быстрая и близкая к процессору;

  2. Оперативная память (используется для функционирования ПО);

  3. Долговременная, внешняя (энергонезависимая, но не всегда) – магнитные, оптические диски, флэш-память.

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

Информация в процессе функционирования с 1 эл. памяти на др., поэтому развитие технологии схем памяти диктует разделение информации в процессе использования на отдельные элементы, т.е. на те, которые используются непосредственно в данный момент времени, и те, которые в данный момент не используются (но могут быть использованы).

Это привело к тому, что система памяти стала многоуровневой:

  1. самый верхний уровень – сверхоперативная память (самая быстрая, дорогая, маленькая);

  2. на следующем уровне – кэш. Доступ на этом уровне смешанный. Кэш также может быть несколькоуровневым (доступ к элементам на разных уровнях разный);

  3. электронная оперативная память, в которой хранятся программы и данные. Ее размер гораздо больше. Здесь также может быть несколько уровней. В основном используется произвольный доступ.

  4. внешняя память, в качестве которой используется магнитная, оптическая, электронная. Наиболее типичен последовательный доступ.