Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
20-47_evm.docx
Скачиваний:
51
Добавлен:
02.04.2015
Размер:
6.41 Mб
Скачать

21. Машинные операции. Операции пересылки и операции ввода-вывода.

Операции пересылки определяются месторасположением операндов:

Регистр – регистр;

Регистр – память;

Память – память.

Без пересылки можно обойтись используя тернарные операции.

Операции ввода-вывода реализуют обмен между процессором и регистром внешних устройств.

  1. Ячейки памяти и регистры внешних устройств размещены в различных адресных пространствах (изолируемы)

  1. Совмещающий вариант:

22.Машинные операции. Операции пересылки и операции ввода-вывода

Команды пересылки данных

Это наиболее распространенный тип машинных команд. В таких командах должна содержаться следующая информация:

• адреса источника и получателя операндов — адреса ячеек памяти, номера регистров процессора или информация о том, что операнды расположены в стеке;

• длина подлежащих пересылке данных (обычно в байтах или словах), заданная явно или косвенно;

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

Рассматриваемая группа команд обеспечивает передачу информации между процессором и ОП, внутри процессора и между ячейками памяти. Пересылочные операции внутри процессора имеют тип «регистр-регистр». Передачи между процессором и памятью относятся к типу «регистр-память», а пересылки в памяти — к типу «память-память».

Команды ввода/вывода

Команды этой группы могут быть подразделены на команды управления периферийным устройством (ПУ), проверки его состояния, ввода и вывода.

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

Команды проверки состояния ввода/вывода применяются для тестирования различных признаков, характеризующих состояние модуля В/ВЫВ и подключенных к нему ПУ. Благодаря этим командам центральный процессор может выяснить, включено ли питание ПУ, завершена ли предыдущая операция ввода/вывода,возникли ли в процессе ввода/вывода какие-либо ошибки и т. п.

Собственно обмен информацией с ПУ обеспечивают команды ввода и вывода. Команды ввода предписывают модулю В/ВЫВ получить элемент данных (байт или слово) от ПУ и поместить его на шину данных, а команды вывода — заставля- ют модуль В/ВЫВ принять элемент данных с шины данных и переслать его на ПУ

23. Многоуровневая организация памяти в ЭВМ. Классификация регистров процессора.

Память в ЭВМ строится по иерархическому принципу и разбивается на несколько уровней.

Классификация регистров процессора.

  1. По возможности доступа:

    1. Программно доступные (регистры, содержимое которых можно изменять, чип. )

24.Многоуровневая организация памяти в ЭВМ. Классификация регистров процессора.

Современные технологии позволяют разместить кэш-память и ЦП на общем кристалле. Такая внутренняя кэш-память строится по технологии статического ОЗУ и является наиболее быстродействующей. Емкость ее обычно не превышает 64 Кбайт. Попытки увеличения емкости обычно приводят к снижению быстродействия, главным образом из-за усложнения схем управления и дешифрации адреса. Общую емкость кэш-памяти ВМ увеличивают за счет второй (внешней) кэш-памяти, расположенной между внутренней кэш-памятью и ОП. Такая система известна под названием двухуровневой, где внутренней кэш-памяти отводится роль первого уровня (L1), а внешней - второго уровня (L2). Емкость L2 обычно на порядок больше, чем у L1, а быстродействие и стоимость - несколько ниже. Память второго уровня также строится как статическое ОЗУ. Типичная емкость кэш-памяти второго уровня — 256 и 512 Кбайт, реже — 1 Мбайт, а реализуется она, как правило, в виде отдельной микросхемы, хотя в последнее время L2 часто размещают на одном кристалле с процессором, за счет чего сокращается длина связей и повышается быстродействие.

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

25. Способы адресации. Непосредственная, прямая и косвенная.

Регистр процессора — сверхбыстрая память внутри процессора, предназначенная прежде всего для хранения промежуточных результатов вычисления (регистр общего назначения/регистр данных) или содержащая данные, необходимые для работы процессора — смещения базовых таблиц, уровни доступа и т. д. (специальные регистры).

Сегментные регистры — Регистры указывающие на сегменты.

Регистры данных — служат для хранения промежуточных вычислений.

Регистр флагов — содержит текущее состояние процессора.

Счётчик команд - регистр, содержащий адрес-смещение следующей команды

26.Способы адресации. Базовая, индексная и относительная адресация.

В случае базовой регистровой адресации (БРА) регистр, называемый базовым, содержит полноразрядный адрес, а подполе-смещение относительно адреса. Ссылка на базовый регистр может быть явной или неявной. В некоторых ВМ имеется специальный базовый регистр и его использование является неявным, то есть подполе R в команде отсутствует

Более типичен случай, когда в роли базового регистра выступает один из регистров общего назначения (РОН), тогда его номер явно указывается

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

При индексной адресации (ИА) подполе содержит адрес ячейки памяти, а регистр (указанный явно или неявно) — смещение относительно этого адреса.остальные принципы такие же как и в базовой.

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

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

28. Конвейерная обработка. Основы конвейризации. Арифметический конвейер.

Совершенствование элементной базы уже не приводит к координальному росту производительности ЭВМ. Для дальнейшего развития в этом направлении используют архитектурные приёмы:

  1. Увеличение числа программно-доступных регистров в процессоре

  2. Использование сверхоперативной КЭШ памяти

  3. Конвейерная обработка.

Пример конвейерной обработки: есть некоторая функция F=f1, f2 … fn, которая разбита на подфункции, выполняется последовательно, за каждой подфункцией есть своя ступень конвеера.

Каждый этап реализуется аппаратно устройством обработки. Между ступенями размещают фиксаторы (это регистры, которые фиксируют результаты выполнения предыдущей ступени конвеера для его использования на следующей ступени).

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

29. Конвейер команд. Метрики конвейера.

30. Конфликты в конвейере команд. Риск по данным.

Риск по данным две команды в конвейере (i и j) предусматривают обращение к одной и той же переменной х, причем команда i предшествует команде j). В общем случае между i и j ожидаемы три типа конфликтов по данным (рис. 9.4):

-Чтение после записи» (ЧПЗ): команда j читает х до того, как команда i успела записать новое значение х, то есть j ошибочно получит старое значение х вместо нового. '

- «Запись после чтения» (ЗПЧ): команда; j записывает новое значение х до того,

как команда i успела прочитать x:, то есть команда i ошибочно получит новое значение х вместо старого.

- «Запись после записи» (ЗПЗ): команда j записывает новое значение х прежде,

чем команда i успела записать в качестве х свое значение, то есть х ошибочно содержит i-e значение х вместо j- го.

Возможен и четвертый случай, когда команда j читает x прежде команды i. Этот случай не вызывает никаких конфликтов, поскольку как i, так j получат верное значение х.

Наиболее частый вид конфликтов по данным - ЧПЗ, поскольку операция чтения в цикле команды (этап ВО) предшествует операции записи (этап ЗР). По той же причине конфликты типа ЗПЧ большой проблемы не представляют. Сложности появляются, только если структура конвейера допускает запись прежде чтения или если команды в конвейере обрабатываются в последовательности, отличной от предписанной программой. Такое возможно, если командам в конвейере разрешается «догонять» предшествующие им команды, приостановленные из-за какого-то конфликта. Конфликт типа ЗПЗ также не вызывает особых проблем в конвейерах, где команды следуют в порядке, определенном программой, и могут производить запись только на этапе ЗР. В худшем случае, когда одна команда догоняет другую из-за приостановки последней, имеет место конфликт по ресурсу — попытка одновременного доступа к одной и той же ячейке.

Методы борьбы:

1.Программный – устранение возможных конфликтов на стадии компиляции программ. Оптимизирующий компилятор анализирует команды, склонные к конфликтам и/или перестраивает последовательность команд(если возможно) или вставляет пустые операции типа NOP.

2.Аппаратный – остановить команду с номером i на несколько тактов, чтобы j успела миновать конфликтную ступень.

31. Конфликты в конвейере команд. Риск по управлению.

Риск по управлению обусловлен многозначностью выбора следующей команды в случае команд перехода.

Предположим, что команд 3 . В нашем примере это команда условного перехода на команду с адресом 20. Тогда, до завершения 7 такта невозможно определить, какая команда будет выполнена следующей – 4 или 20. Если условие перехода не выполнено, то сбоя конвейера не происходит.

Если условие перехода выполняется, то в конце 7 такта тормозятся все последующие команды за 3 и только на 8 такте в конвейер загружается 20 команда.

Получается, что с 10 по 13 такты с конвейера не сойдет ни одна команда, что является «штрафом» за невозможность заранее предвидеть исход команды условного переходаю

  Для сокращения издержек, обусловленных выборкой команды из точки пере­хода, применяются такие методы, как:  1) вычисление исполнительного адреса перехода на ступени декодирования ко­манды;  2) использование буфера адресов перехода;  3) использование кэш-памяти для хранения команд, расположенных в точке пе­рехода;  4) использование буфера цикла.

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