Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОС_АрхЭВМ_гр55.doc
Скачиваний:
9
Добавлен:
25.08.2019
Размер:
211.97 Кб
Скачать

7.Ускрение вычислений - конвейеризация вычислений

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

Идея конвейеризации вычислений показывается на рис. 4. По рис. 4,а информация помещается во входной регистр Ргвх и обработка происходит в одном функциональном блоке ФБ, а результат обработки фиксируется в выходном регистре Ргвых. Пусть максимальное время обработки в ФБ равно Тmax, то новые данные могут поступать во Ргвх не ранее, чем спустя Тmax.

Для конвейеризации вычислений нужно разбить работу ФБ, например, на три последовательных блока ФБ1, ФБ2 и ФБ3. Предположим, что максимальное время обработки в каждом блоке было одинаковым и равнялось Тmax/3. Между блоками разместим буферные регистры Рг1, Рг2 (рис. 4,б), предназначенные для хранения результата обработки ФБ1 и ФБ2 соответственно, если следующий за ним функциональный блок не готов использовать этот результат. Так образуется конвейер обработки данных. В рассмотренной схеме данные на вход конвейера могут поступать с интервалом Тmax/3 (втрое чаще), хотя общее время обработки составляет блокамиФБ1, ФБ2 и ФБ3 также составляет Тmax. Результаты вычислений будут появляться на выходе Ргвых с интервалом Тmax/3.

На практике не удается достигнуть одинаковой задержки в каждом ФБ. Поэтому производительность конвейера снижается. Для компенсации этого недостатка буферные регистры заменяют буферной памятью БП, способный хранить множество данных и организованный по принципу FIFO – «первый вошел – первым вышел» (рис. 4,в). Так, ФБ1 обработав элемент данных заносит результат в БПi и извлекает из БПi-1 новый элемент данных для обработки. Такая последовательность осуществляется каждым блоком независимо друг от друга. Обработка в каждом блоке может продолжаться до тех пор, пока не ликвидируется предыдущая очередь или пока не переполнится следующая очередь. Если емкость буферной памяти достаточно велика, различия во времени обработки не сказываются на производительности, тем не менее желательно, чтобы средняя длительность обработки во всех ФБi была одинаковой

8.Проектирование и разработка на логических элементах четырехразрядного двоичного сумматора. Таблица функционирования, схема сумматора.

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

10.Проектирование и разработка восьмиразрядного мультиплексора на логических элементах. Таблица функционирования и схема мультиплексора

Решение примеров

1.Вычислить в обратном коде

(-А) - (-В) = -(А -В ), nри |A| > |B|

А = - 00001101 10101100

В = - 00000110 01010101

2.Вычислить в дополнительном коде

(-А) - (-В) = -(А -В ), nри |A| > |B| а)

А = - 00001101 10101100

В = - 00000110 01010101

3.Выполнить сложение в системе BCD

465875 + 14357 = ?

4.Выполнить вычитание в системе BCD

12321 – 3452 = ?

5.Вычислить код команды

5.1.Mov mem/reg, mem/reg mov [bx+d16],bp , где d16=21A8h

5.2.mov mem,data mov [d16],12A4

5.3.mov reg,data mov ax,C289

5.4.Add mem/reg, mem/reg add ax,[si+d8], где d8=A8h

5.5.add mem/reg,data add [di+d16],2817, где d16=23E8h

Материалы для вычисления кода команды

1.Обобщенный формат команды

mod – режим адресации (00, 01, 10, 11)

reg - задание числового кода регистра

r/m – задание числового кода регистра или способ адресации памяти

(смещение); если mod = 11, то r/m задает код регистра; Если

mod ≠ 11. то r/m определяет способ адресации (смещение) памяти

d – определяет направление передачи. В команде один из операндов –

регистр ЦП и он определяется полем reg. Если это поле reg определяет

регистр - источник, то d=0. Если же поле reg определяет регистр-

приемник, то d=1.

W – операция с байтом (W=0) или со словом (W=1)