Организация ЭВМ и систем
Лабораторная работа № 3. Исследование операционных устройств для выполнения умножения Цель работы: В данной работе исследуются операционные устройства для выполнения умножения беззнаковых чисел (модулей). Рассматриваются устройства двух типов: процедурного типа для реализации косвенного умножения (с жесткой логикой управления) и структурного типа (с жесткой структурой) для аппаратной реализации… Читать ещё >
Организация ЭВМ и систем (реферат, курсовая, диплом, контрольная)
Министерство образования и науки Российской Федерации Государственное образовательное учреждение высшего профессионального образования
«Волгоградский государственный технический университет»
Контрольная работа
«Организация ЭВМ и систем»
Выполнил: студент 2 курса ФПИК группы АУЗ — 261с Тюляева И.А.
Проверил: ст. пр. Федоров М.А.
Волгоград 2012
Лабораторная работа № 1. Синтез и исследование комбинационных схем, построение простых операционных устройств Цели работы: Построить заданное простое операционное устройство или узел, проследив на его примере иерархию организации цифровых устройств. Вспомнить процедуру синтеза комбинационных схем без памяти. Познакомиться с программой Altera Max+Plus II, возможностями и приемами работы в программе.
Порядок выполнения работы:
Составить комбинационную схему (КС) по таблице истинности функции (табл.1). Проверить правильность синтеза КС, подав на входы схемы все варианты наборов входных сигналов и сравнив значение логической функции на выходах с заданной таблицей. Определить сложность схемы C в логических элементах и время задержки T, в tзлэ (время задержки на одном логическом элементе).
А3А2А1А0 -0111
Таблица 1. Таблица истинности комбинационной схемы
x1 | x2 | x3 | Y=F (x1, x2, x3) | Y=F (x1, x2, x3) | |
А0 | |||||
А1 | |||||
А2 | |||||
А3 | |||||
Минимизированная функция:
Построенная схема:
Комбинационная схема Сложность схемы: С=9Слэ, Время задержки: t=5tлэ.
Составить таблицу истинности и КС одноразрядного полного двоичного сумматора. Определить сложность схемы C и время задержки T.
Таблица 2. Таблица истинности для одноразрядного полного сумматора
A | B | C | S | P | |
Схема одноразрядного полного двоичного сумматора Сложность схемы: С=7Слэ, Время задержки: t=3tлэ.
Составить схему параллельного сумматора с последовательным переносом на 4 разряда и проверить ее работоспособность. Определить сложность схемы C и время задержки T.
Схема параллельного сумматора с последовательным переносом на 4 разряда Сложность схемы: С=4СSM=4*7=21Слэ, Время задержки: t=4*tSM=4*3=12tлэ.
Синтезировать схему 4-х разрядного мультиплексора 2×1. Поместить мультиплексор в подсхему. Определить сложность схемы C и время задержки T.
Схема 4-х разрядного мультиплексора 2х1
Сложность схемы: С=13Слэ, Время задержки: t=4tлэ.
Синтезировать схему JK — триггера с управлением по спаду тактового импульса на базе библиотечного JK — триггера. Получить таблицы установки и временные диаграммы работы триггеров.
Исследование JK триггера Синтезировать схему для перевода числа из прямого кода в дополнительный.
Схема перевода числа из прямого кода в дополнительный
Десятичное представление | Код двоичного представления (8 бит) | ||
прямой | дополнительный | ||
— 4 | |||
Лабораторная работа № 2. Исследование запоминающих устройств Цель работы: Изучить принципы построения адресных устройств памяти с прямым доступом, различные варианты распределения адресного пространства между несколькими устройствами памяти (в том числе — расслоение памяти).
Порядок выполнения работы:
Синтезировать схему одной ячейки ОЗУ адресного типа с прямым доступом для устройства типа 3D на RS-триггерах.
Синхронный RS триггер Сложность схемы: С=4Слэ, Время задержки: t=2tлэ.
Сложность схемы: С=10Слэ, Время задержки: t=6tлэ.
Синтезировать схему запоминающего устройства на базе ячейки, полученной в п. 1, типа 3D на RS-триггерах с организацией 5×2.
Схема дешифратора DCX
Сложность схемы: С=35Слэ, Время задержки: t=4tлэ.
Таблица 3. Таблица истинности дешифратора DCX
x1 | x2 | x3 | dcx0 | dcx1 | dcx2 | dcx3 | dcx4 | dcx5 | dcx6 | dcx7 | |
Схема дешифратора DCY
Таблица 4. Таблица истинности DCY
x1 | x2 | dcy0 | dcy1 | |
Схема массива ячеек памяти типа 3D 5x2
Сложность схемы: С=10Сmem+CDCX+CDCY +10Сand=10*10Слэ+35Cлэ+Cлэ+ 10Cлэ =146Слэ, Время задержки: t=tDCX+tmem + tDCY =11tлэ.
На базе ЗУ, полученного при выполнении предыдущего задания, синтезировать схему ЗУ вдвое большего объема (с удвоенным количеством адресуемых слов). Реализовать 2 варианта:
а) дополнительный бит адреса является старшим;
б) дополнительный бит адреса является младшим (расслоение памяти).
а) дополнительный бит адреса является старшим:
Удвоение массива для варианта а) Сложность схемы: С=2СMem5x2+Слэ=2*146+1=293Слэ, Время задержки: t=tлэ+tMem5x2=11+1=12tлэ.
б) дополнительный бит адреса является младшим (расслоение памяти):
Удвоение массива для варианта б) Сложность схемы: С=2СMem5x2+Слэ=2*146+1=292Слэ, Время задержки: t=tлэ+tMem5x2=11+1=12tлэ.
Лабораторная работа № 3. Исследование операционных устройств для выполнения умножения Цель работы: В данной работе исследуются операционные устройства для выполнения умножения беззнаковых чисел (модулей). Рассматриваются устройства двух типов: процедурного типа для реализации косвенного умножения (с жесткой логикой управления) и структурного типа (с жесткой структурой) для аппаратной реализации вычислений на примере матричного умножителя Брауна и древовидного умножителя Уоллеса. На примере косвенного умножителя изучаются принципы построения управляющих цифровых автоматов.
Порядок выполнения работы:
Построить схему матричного умножителя Брауна для умножения двух чисел в заданной разрядности.
Матричный умножитель Брауна, для умножения двух двухразрядных чисел.
Время задержки: Tумн = t + (n + m — 2)*tsm,
где n — разрядность множимого, m — разрядность множителя.
Для 2-х разрядных чисел: Tумн=3*t.
Сложность схемы: С=4Слэ+2Сsm=8Слэ.
Модифицировать схему из предыдущего задания, добавив необходимое количество фиксаторов для организации конвейера.
Время задержки: Tумнк = 3*(tsm+ tff) + t=11*t
Сложность схемы: С=40Слэ.
Построить схему сумматора с сохранением переноса для сложения заданного числа слагаемых заданной разрядности.
Сложность схемы: С=8СSM=8*5=40Слэ, Время задержки: t=4*tSM=4*3=12tлэ.
Построить схему умножителя Уоллеса на базе ССП из предыдущего пункта.
Сложность схемы: С=16Слэ+12Csm=76Cлэ. Время задержки: t=13tлэ.
Построить схему конвейерного умножителя Уоллеса.
Сложность схемы: С=16Слэ+12Csm+28Стр=188Cлэ. Время задержки: t=21tлэ.
Лабораторная работа № 4. Изучение команд MMX
Цели работы: Изучить расширение системы команд MMX процессоров Intel, составить программы для выполнения матричных (векторных) вычислений с использованием и без использования инструкций MMX и сравнить время их выполнения.
Порядок выполнения работы:
Нахождение суммы квадратов всех элементов матрицы.
операционный процессор intel программа
№ п/п | Время вычислений с ММХ, мс | Время вычислений без ММХ, мс | Коэффициент ускорения К | Отклонение от среднего, dK | |
1,1960 | 0,1 118 | ||||
1,2185 | 0,197 775 | ||||
1,1990 | 0,801 | ||||
1,2135 | 0,629 | ||||
1,2088 | 0,164 | ||||
Листинг программы на языке Cи:
#include «stdio.h»
#include «windows.h»
int main (int argc, char* argv[])
{
short cnt = 4;
int res = 0, res1 = 0;
int Time1, Time2, Delay1, i;
double Speedup;
short a_vect[4] = {2,5,4,3};
short b_vect[4] = {4,3,2,1};
short c_vect[4] = {1,2,6,7};
short d_vect[4] = {8,7,9,4};
//printf («nСкалярное произведение с ММХ и без… nn»);
printf («nScalar product with or without MMX… nn»);
printf («nResult = %dn», res);
printf («Result1 = %dn», res1);
// Заметить время…
Time1 = GetTickCount ();
// Многократный прогон кода с MMX…
for (i=0; i<10 000 000; i++)
{
cnt = 4;
__asm
{
push eax
push ebx
push ecx
push esi
xor esi, esi
pxor MM7, MM7
movq MM0, a_vect[esi]
movq MM1, a_vect[esi]
pmaddwd MM0, MM1
paddd MM7, MM0
pxor MM0, MM0
pxor MM1, MM1
movq MM0, b_vect[esi]
movq MM1, b_vect[esi]
pmaddwd MM0, MM1
paddd MM7, MM0
pxor MM0, MM0
pxor MM1, MM1
movq MM0, c_vect[esi]
movq MM1, c_vect[esi]
pmaddwd MM0, MM1
paddd MM7, MM0
pxor MM0, MM0
pxor MM1, MM1
movq MM0, d_vect[esi]
movq MM1, d_vect[esi]
pmaddwd MM0, MM1
paddd MM7, MM0
movq MM0, MM7
psrlq MM7, 32
paddd MM7, MM0
movd res, MM7
emms
pop esi
pop ecx
pop ebx
pop eax
}
}
Time2 = GetTickCount ();
//printf («n C использованием ММХ… n»);
printf («n Using MMX… n»);
printf («nResult = %d», res);
Delay1 = Time2 — Time1;
printf («nTime elapsed = %d msn», Delay1);
// Заметить время…
Time1 = GetTickCount ();
// Многократный прогон кода без MMX…
for (i=0; i<10 000 000; i++)
{
cnt = 4;
__asm
{
push eax
push ecx
push esi
xor esi, esi
xor ecx, ecx
loop2:
mov ax, a_vect[esi] // Чтение из памяти
imul ax, ax
add cx, ax
add esi, 2
sub cnt, 1
jnz loop2
mov cnt, 4
xor si, si
loop3:
mov ax, b_vect[esi] // Чтение из памяти
imul ax, ax
add cx, ax
add esi, 2
sub cnt, 1
jnz loop3
mov cnt, 4
xor si, si
loop4: mov ax, c_vect[esi] // Чтение из памяти
imul ax, ax
add cx, ax
add esi, 2
sub cnt, 1
jnz loop4
mov cnt, 4
xor si, si
loop5: mov ax, d_vect[esi] // Чтение из памяти
imul ax, ax
add cx, ax
add esi, 2
sub cnt, 1
jnz loop5
mov res1, ecx
pop esi
pop ecx
pop eax
}
}
Time2 = GetTickCount ();
//printf («n Без использования ММХ… n»);
printf («n Without MMX… n»);
printf («nResult1 = %d», res1);
printf («nTime elapsed = %d msn», Time2 — Time1);
Speedup = float ((Time2 — Time1))/float (Delay1);
printf («nMMX SpeedUp = %10.4f timesnn», Speedup);
return 0;
}
1. Алексеев В. Б., Поспелов А. Д. Дискретная математика. II семестр — Изд.: МГУ, 2002.
2. Аляев Ю. А. Тюрин С.Ф. Дискретная математика и математическая логика. — М.: Финансы и статистика, 2010.
3. Галкина В. А. Дискретная математика: комбинаторная оптимизация на графах. — Изд.: Гелиос АРВ, 2003.
4. Тихонов В. А. Организация ЭВМ и систем. — Изд.: Гелиос АРВ, 2008.
5. Цилькер Б. Я., Орлов С. А. Организация ЭВМ и систем. — СПб.: Питер, 2007.