Организация ЭВМ и систем
Министерство
образования и науки Российской Федерации
Государственное
образовательное учреждение высшего профессионального образования
«Волгоградский
государственный технический университет»
Контрольная
работа
«Организация
ЭВМ и систем»
Выполнил: студент 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
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
А0
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
А1
|
1
|
1
|
0
|
1
|
А2
|
1
|
1
|
1
|
0
|
0
|
0
|
1
|
1
|
1
|
А3
|
0
|
Минимизированная функция:
Построенная схема:
Комбинационная схема
Сложность схемы: С=9Слэ, Время
задержки: t=5tлэ.
Составить таблицу истинности и КС
одноразрядного полного двоичного сумматора. Определить сложность схемы C и
время задержки T.
Таблица 2. Таблица
истинности для одноразрядного полного сумматора
A
|
B
|
S
|
P
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
Схема одноразрядного полного
двоичного сумматора
Сложность схемы: С=7Слэ, Время
задержки: t=3tлэ.
Составить схему параллельного
сумматора с последовательным переносом на 4 разряда и проверить ее
работоспособность. Определить сложность схемы C и время задержки T.
Схема параллельного сумматора с
последовательным переносом на 4 разряда
Сложность схемы: С=4СSM=4*7=21Слэ,
Время задержки: t=4*tSM=4*3=12tлэ.
Синтезировать схему 4-х разрядного
мультиплексора 2 x 1. Поместить мультиплексор в подсхему. Определить сложность
схемы C и время задержки T.
Схема 4-х разрядного мультиплексора
2х1
Сложность схемы: С=13Слэ, Время
задержки: t=4tлэ.
Синтезировать схему JK - триггера с
управлением по спаду тактового импульса на базе библиотечного JK - триггера.
Получить таблицы установки и временные диаграммы работы триггеров.
Исследование JK триггера
Синтезировать схему для перевода
числа из прямого кода в дополнительный.
Схема перевода числа из прямого кода
в дополнительный
Десятичное представление
|
Код двоичного представления (8 бит)
|
|
прямой
|
дополнительный
|
-4
|
10000100
|
11111100
|
Лабораторная работа № 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
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
Схема дешифратора DCY
Таблица 4. Таблица
истинности DCY
x1
|
x2
|
dcy0
|
dcy1
|
1
|
0
|
1
|
0
|
0
|
1
|
0
|
1
|
Схема массива ячеек памяти типа 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
|
680
|
814
|
1,1960
|
0,01118
|
2
|
678
|
827
|
1,2185
|
0,197775
|
3
|
689
|
827
|
1,1990
|
0,00801
|
4
|
670
|
814
|
1,2135
|
0,00629
|
5
|
676
|
818
|
1,2088
|
0,00164
|
Листинг программы на языке Cи:
#include "stdio.h"
#include
"windows.h"main(int argc, char* argv[])
{cnt = 4; res = 0, res1 = 0;Time1,
Time2, Delay1,i;Speedup;a_vect[4] = {2,5,4,3};b_vect[4] = {4,3,2,1};c_vect[4] =
{1,2,6,7};d_vect[4] = {8,7,9,4};
//printf("\nСкалярное
произведение с ММХ и без...\n\n");("\nScalar product with or without
MMX...\n\n");("\nResult = %d\n", res);("Result1 =
%d\n", res1);
// Заметить время...=
GetTickCount();
// Многократный прогон кода с
MMX...(i=0; i<10000000; i++)
{= 4;
__asm
{eaxebxecxesiesi, esiMM7, MM7MM0,
a_vect[esi]MM1, a_vect[esi]MM0, MM1MM7, MM0MM0, MM0MM1, MM1MM0, b_vect[esi]MM1,
b_vect[esi]MM0, MM1MM7, MM0MM0, MM0MM1, MM1MM0, c_vect[esi]MM1, c_vect[esi]MM0,
MM1MM7, MM0MM0, MM0MM1, MM1MM0, d_vect[esi]MM1, d_vect[esi]MM0, MM1MM7, MM0MM0,
MM7MM7, 32MM7, MM0res, MM7esiecxebxeax
}
}= GetTickCount();
//printf("\n C использованием
ММХ...\n");("\n Using MMX...\n");("\nResult = %d",
res);= Time2 - Time1;("\nTime elapsed = %d ms\n", Delay1);
// Заметить время...=
GetTickCount();
{= 4;
__asm
{eaxecxesiesi, esiecx, ecx:ax,
a_vect[esi] // Чтение из памяти ax, axcx, axesi, 2cnt, 1loop2cnt, 4si,si:ax,
b_vect[esi] // Чтение из памяти ax, axcx, axesi, 2cnt, 1loop3cnt, 4si,si: mov
ax, c_vect[esi] // Чтение из памяти ax, axcx, axesi, 2cnt, 1loop4cnt, 4si,si:
mov ax, d_vect[esi] // Чтение из памяти ax, axcx, axesi, 2cnt, 1loop5res1, ecx
esiecxeax
}
}= GetTickCount();
//printf("\n Без использования
ММХ...\n");("\n Without MMX...\n");("\nResult1 = %d",
res1);("\nTime elapsed = %d ms\n", Time2 - Time1);= float((Time2 -
Time1))/float(Delay1);("\nMMX SpeedUp = %10.4f times\n\n",
Speedup);0;
}
Список литературы
1. Алексеев В.Б., Поспелов А. Д. Дискретная математика. II
семестр - Изд.: МГУ, 2002.
. Аляев Ю.А. Тюрин С.Ф. Дискретная математика и
математическая логика. - М.: Финансы и статистика, 2010.
. Галкина В.А. Дискретная математика: комбинаторная
оптимизация на графах. - Изд.: Гелиос АРВ, 2003.
. Тихонов В.А.. Организация ЭВМ и систем. - Изд.: Гелиос
АРВ, 2008.
. Цилькер Б. Я., Орлов С. А. Организация ЭВМ и систем. -
СПб.: Питер, 2007.