Помощь в написании студенческих работ
Антистрессовый сервис

Организация ЭВМ и систем

КонтрольнаяПомощь в написанииУзнать стоимостьмоей работы

Лабораторная работа № 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.

Показать весь текст
Заполнить форму текущей работой