Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Діагностування помножувача мантис

КурсоваДопомога в написанніДізнатися вартістьмоєї роботи

Основним методом функціонального діагностування ОП є контроль по модулю. Його характеризує висока виявляюча здібність та простота реалізації для повнорозрядних ОП. Функціональне діагностування сучасних ОП потребує вміння виконувати контроль по модулю продуктивних ОП із плаваючою точкою. Тому розглядаються питання проектування пристрою контролю по модулю три матричного помножувача із скороченням… Читати ще >

Діагностування помножувача мантис (реферат, курсова, диплом, контрольна)

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ Одеський національний політехнічний університет

Інститут комп’ютерних систем Кафедра «Комп'ютерні інтелектуальні системи та мережі»

діагностування помножувача мантис

Курсовий проект

з дисципліни

«Діагностика комп’ютерних систем»

Вступ В курсовому проекті розробляються засоби функціонального діагностування обчислювальних пристроїв із плаваючою точкою.

Проектуються вузли контрольного блоку пристрою контролю по модулю три матричного помножувача мантис із скороченим виконанням операції.

Високі вимоги до продуктивності, діапазону представлення чисел, точності обчислень, складності схем та достовірності їх роботи — така характеристика сучасних обчислювальних пристроїв (ОП).

Продуктивність ОП забезпечується розпаралелюванням обчислень з використанням матричних та конвеєрних структур. Діапазон представлення чисел розширюється з переходом до впровадження форматів із плаваючою точкою, в яких арифметичні операції виконуються із зберіганням однакової розрядності для операндів та результатів.

Операції з плаваючою точкою містять множення, що подвоює розрядність повного результату. розрядність повного результату. При обробці мантис за n-розрядними операндами обчислюється округлений n-розрядний результат, тобто має місце відкидання n молодших розрядів повного 2n-розрядного результату. Точність обчислень забезпечується вибором відповідної розрядності оброблюваних чисел. Складність реалізації ОП визначається витратами обладнання, які для матричних структур ростуть у квадратичній залежності із збільшенням розрядності чисел. В цих умовах доцільно впроваджувати скорочені методи виконання операцій. Вони дозволяють двічі або майже двічі знизити витрати обладнання та часу на виконання операції.

Основним методом функціонального діагностування ОП є контроль по модулю. Його характеризує висока виявляюча здібність та простота реалізації для повнорозрядних ОП. Функціональне діагностування сучасних ОП потребує вміння виконувати контроль по модулю продуктивних ОП із плаваючою точкою. Тому розглядаються питання проектування пристрою контролю по модулю три матричного помножувача із скороченням обчислень.

В курсовому проекті вибирається варіант завдання та ставиться задача на його виконання. Будуються вузли контрольного блоку пристрою множення мантис чисел для конкретної розрядності співмножників та складається опис схем блоків контролю. Розробляються алгоритми та складається програма одержання опису схем вузлів контрольного блоку. Проектуються вузли контрольного блоку в частині обчислення та додавання контрольних кодів фрагментів з парними номерами.

діагностування пристрій мантис помножувач

1. Вибір варіанту завдання

1.1. Визначення параметрів завдання

1.1.1 Задано вид розбивання матриці кон’юнкцій добутку (МКД) на фрагменти, показане на рис. 1.1 для розрядності n=20 та кількості k=15 відкинутих розрядів.

Рис. 1.1. Розбивання МКД на фрагменти

1.2 контрольный блок

1.2.1 На рис. 1.2 показана структурна схема пристрою контролю помножувача мантис, А та В чисел з плаваючою точкою. Вона містить блоки контролю співмножників БКА та БКВ, контрольний блок КБ та блок БКV контролю результату VО.

Рис. 1.2. Структурна схема пристрою контролю

1.2.2 Проектуються вузли контрольного блоку:

— вузол ВМ множення контрольних кодів частин співмножників, що обчислює контрольні коди фрагментів з парними номерами;

формувач ФКV контрольного коду зсіченого добутку, що додає контрольні коди фрагментів з парними номерами.

1.3 Опис блоків контролю операндів

1.3.1 Для проектування вузлів контрольного блоку необхідно використовувати опис контрольних блоків операндів.

1.3.2 Опис блоку контролю БКА міститься в масиві А, (табл. 1.1).

таблиця 1.1

Опис схеми блоку контролю БКА.

Номери строк

Номери стовпців

1.3.3 Опис блоку контролю БКВ міститься в масиві В, (табл. 1.2)

В табл. 1.1 та 1.2 в стовпцях описуються додавачі по модулю три з номерами на одиницю меншим за номер стовпця.

В перших 4 строках записуються номери входів додавача, а в останніх двох — номери його виходів.

Таблиця 1.2

Опис схеми блоку контролю БКВ.

Номери строк

Номери стовпців

В стовпці 7 табл. 1 описується додавач 8, що обчислює контрольний код КА8. В стовпцях 2, 3, 5, 6 та 7 табл. 2 описуються додавачі 3, 4, 6, 7 та 8, що обчислюють контрольні коди КВ12, КB14, КВ4, КВ6 та КВ8 .

1.4 Постановка задачі

1.4.1 Ставиться задача проектування вузлів контрольного блоку пристрою контролю помножувача мантис чисел із плаваючою точкою для заданого виду розбивання МКД. Проектування слід виконати через розробку алгоритмів та програми синтезу вузлів контрольного блоку. Необхідно одержати схему контрольного блоку у частині обчислення та додавання фрагментів з парними номерами для розрядності n=24 мантиси та кількості необчислених розрядів k=19.

2. Аналіз задачі

2.1.1 Фрагменти розбивання МКД мають такий опис:

V1 = -А{6} В{20} 2-26; V2 = -А{7, 8} В{19, 20} 2-28;

V3 = -А{8} В{18} 2-26; V4 = -А{9, 10} В{1720} 2-30;

V5 = -А{10} В{16} 2-26; V6 = -А{11, 12} В{1520} 2-32;

V7 = -А{12} В{14} 2-26; V8 = -А{1320} В{1320} 2-40;

V9 = -А{14} В{12} 2-26; V10 = -А{15, 16} В{11, 12} 2-28;

V11 = -А{16} В{10} 2-26; V12 = -А{1718} В{1912} 2-30;

V13 = -А{18} В{8} 2-30;V14 =-А{19, 20} В{7 12} 2-32;

V15 = -А{20} В{6} 2-30;V16 = А{120} В{120} 2-40.

2.1.2 До складених контрольних кодів частин співмножників, що утворюють фрагменти з парними номерами, відносяться такі:

КА2 = А{7, 8}; КА4 = А{9, 10}; КА6 = А{11, 12}; КА10 = А{15, 16}; КА14 = А{19, 20};

КВ2 = В{19, 20};КВ10 = В{11, 12}.

До обчислених контрольних кодів частин мантис співмножників відносяться такі:

КА8 КА16 ;

КВ4 ;КВ6 ;КВ8 ;КВ12 ;КB14;КВ16 .

Для обчислення контрольних кодів фрагментів за контрольні коди КА16 та КB16 використані вхідні контрольні коди КА та КВ співмножників.

Контрольний код КА8 обчислюється додавачем по модулю три, що описаний в стовпці n/2 -3 табл. 1.1.

Контрольні коди КВ12, КB14, КВ4, КВ6, КВ8 обчислюються додавачами по модулю три, які описуються в n/4 -3 стовпцях табл. 1.2, починаючи з другого та в n/4 -2 стовпцях, починаючи з n/4.

3. Схеми контрольного блоку та їхній опис

3.1 Помножувачі по модулю три двохрозрядних контрольних кодів, що належать до вузла множення, показані для даного розбивання МКД на рис. 3.1.

Рис. 3.1. Схема помножувачів по модулю три контрольного блоку

3.2 В табл. 3.1 наведено опис схеми помножувачів по модулю три

Таблиця 3.1

Опис схеми помножувачів по модулю три

Номери строк

Номери стовпців

3.3 Додавачі по модулю три, що належать до формувача контрольних кодів фрагментів з парними номерами, показані для даного розбивання МКД на рис. 3.2

Рис. 3.2. Схема додавачів по модулю три контрольного блоку

3.4 В табл. 2.3 наведено опис схеми додавачів по модулю три

Таблиця 3.2

Опис схеми додавачів по модулю три

Номери строк

Номери стовбців

4. Розробка алгоритмів

4.1 Схема алгоритму наведена у графічній частині, розбита на 6 стовпців та містить блоки 1 53. У першому стовпці алгоритму в таблицю заносяться номери входів множеного, А у перші дві строки таблиці і номері виходів помножувачів по модулю три в дві останні строки опису схеми помножувачів.

другим, третім та четвертим стовпцями схеми алгоритму в таблицю записуються номери входів множника В і розряди обчислених контрольних кодів фрагментів.

4.2 П’ятим стовпцем схеми алгоритму в дві перші та дві останні строки таблиці опису додавачів по модулю три записуються номери виходів додавачів по модулю три та пари входів, що підключаються до виходів попередніх додавачів по модулю три.

Шостим стовпцем в таблицю опису додавачів по модулю три заносяться номери виходів помножувачів по модулю три.

5. Проектування вузлів контрольного блоку

5.1 Програмна частина

5.1.1 В додатку 1 наведений текст програми проектування контрольного блоку. Він складений на С++ по алгоритмах проектування вузлів контрольного блоку. Програми налагоджені на прикладах одержання описів схем вузлів контрольного блоку.

5.2 Проектування схем вузлів контрольного блоку

5.2.1 В результаті виконання програми для розрядності n=24 мантиси та кількості k=19 необчислених розрядів одержані описи схем контрольного блоку.

5.2.2 Опис схеми помножувачів по модулю три наведено в табл. 5.1.

Таблиця 5.1

Опис схеми помножувачів по модулю три

Номери строк

Номери стовпців

5.2.3 Опис схеми додавачів по модулю три наведено в табл. 5.2

Таблиця 5.2

Опис схеми додавачів по модулю три

Номери строк

Номери стовпців

Схема контрольного блоку, що побудована за одержаним описом, наведена в графічній частині.

Висновки

В курсовому проекті розроблено вузли контрольного блоку, що входять до складу засобів функціонального діагностування помножувача чисел із скороченням обчислень. Проектування виконано для розрядності k = 4 а + 3, де, а = 1, 2, 3, … шляхом розробки алгоритму і програми одержання описів вузлів обчислення та складання контрольних кодів фрагментів з парними номерами та їхнього виконання для випадку n = 24 та k = 19.

Література

1. Савельев А. Я. Прикладная теория цифровых автоматов. — М.: Высш. шк. 1987.

2.Рабинович З. Л., Раманаускас В. А. Типовые операции в вычислительных машинах. — Киев: Техника, 1980.

3. Селлерс Ф. Методы обнаружения ошибок в работе ЭЦВМ. — М.: Мир, 1972.

4.Журавлев Ю. П., Котелюк Л. А., Циклинский М. И. Надежность и контроль ЭВМ. — М.: Сов. радио, 1986.

Додаток А

Текст програми

#include

#include

#include

#include

#include

void main ()

{

int n, k,

int c, c1, c2, c3, c4, u, x, y, r;

int h1, h2, h3, i, j, g;

int UG[6][10], CG[6][16];

n=24;

k=19;

c=5*n-k+5;

h=n/4;

h1=h-1;

h2=c+n/2;

UG[2][0]= 2*n+1;

UG[3][0]= 2*n+2;

for (j=1; j

{

UG[2][j]= h2+2*j-2;

UG[3][j]= h2+2*j-1;

}

h3=c+4;

h4=h3-h;

UG[2][h1]= 2*n+g+1;

UG[3][h1]= 2*n+g+2;

for (j=h; j

{

UG[2][j]= h4+2*j-2;

UG[3][j]= h4+2*j-1;

}

h3=c+6;

UG[2][g-1]= 2*n+3;

UG[3]g-1]= 2*n+4;

UG[2][h1]= h3;

UG[3][h1]= h3+1;

c4=c3+2*g;

h2=(3-y)/2-h;

h3=x+g-1+h2+u/2;

for (j=0; j

{

CG[4][j]= c4+2*j;

CG[5][j]= c4+2*j+1;

CG[0][j]=CG[4][j-1];

CG[1][j]=CG[5][j-1];

}

CG[4][h3−1]= c4+2*h3−1;

CG[5][h3−1]= c4+2*h3−2;

for (i=0; i<4; i++)

CG[i][0]=c3+i;

for (j=1; j

{

CG[2][j]= UG[2][j-1]+2;

CG[3][j]= UG[3][j-1]+2;

}

for (i=0; i<4; i++)

CG[i][g-1]=c2+i;

for (j=g; j

{

CG[2][j]= UG[2][j-1]+2;

CG[3][j]= UG[3][j-1]+2;

}

if (y=1)

{

CG[2][j]= c2−1;

CG[3][j]= 0;

for (i=0; i<4; i++)

CG[i][g-1]=c2+i;

for (j=h3-u+1; j

{

CG[2][j]= CG[2][j-1]+2;

CG[3][j]= CG[3][j-1]+2;

}

if ((n-k)%2)

CG[3][h3−2]= 0;

h2=h3-u-1;

CG[2][g-2]+=1;

CG[3][g-2]-=1;

CG[2]h2]= CG[4][g-2];

CG[3]h2]= CG[5][g-2];

CG[2]h-1]= CG[4][h2];

CG[3]h-1]= CG[5][h2];

for (i=0; i<3; i++)

for (i=0; i<6; i++)

{

cout << «n» ;

for (j=0; j< g; j++)

cout<<" «<< UG[i][j];

}

for (i=0; i<6; i++)

{

cout << «n» ;

for (j=0; j< h2; j++)

cout<<" «<< CG[i][j];

}

}

Показати весь текст
Заповнити форму поточною роботою