Министерство образования и науки Российской Федерации
Государственное образовательное учреждение высшего профессионального образования
«Волгоградский
государственный технический университет»
Контрольная работа
«Организация
ЭВМ и систем»
Выполнил: студент 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.