Моделирование арифметико-логического устройства для вычитания УДЦ
Моделирование арифметико-логического устройства для вычитания УДЦ для 18 разрядов. Операционная и аксиоматическая семантика команды ассемблера. Верификация линейного участка программы, участка, содержащего ветвления, цикла. Сети Петри для подпрограммы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 13.07.2012 |
Размер файла | 121,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
ИВАНОВСКИЙ ГОСУДАРСТВЕННЫЙ ЭНЕРГЕТИЧЕСКИЙ УНИВЕРСИТЕТ
ИМЕНИ В. И. ЛЕНИНА
Кафедра программного обеспечения компьютерных систем
Курсовая работа
по дисциплине:
“Теория вычислительных процессов”.
Тема: «Моделирование АЛУ для вычитания УДЦ»
Выполнил:
студент гр. 3-42
Михальков Г.М.
Иваново
2012
Оглавление
- Введение
- Анализ
- Алгоритм
- Семантика
- Линейная схема
- Верификация
- Сети петри
- Вывод
Введение
1) Моделирование АЛУ для вычитания УДЦ для 18 разрядов (программа должна показывать преобразования и вычисления, и правильно выполнять заданные операции);
2) Написать аксиоматическую семантику команды ассемблера.
Анализ
Операция сложения выполняется в арифметико-логическом устройстве - АЛУ (см. рис.1).
Размещено на http://www.allbest.ru/
рис.1 Структурная схема АЛУ для вычитания
На рис.1 представлена структурная схема АЛУ для вычитания 18-разрядных целых чисел. В состав АЛУ входят: входной регистр первого слагаемого RA, входной регистр слагаемого RB; стек сумматора ST; сумматор “--” (в данной реализации - арифметический сопроцессор 8087, отсюда вытекает нестандартная архитектура сумматора) для нахождения разности; выходной регистр сумматора совмещен со входным регистром RA.
По входной шине в регистр А (RA) и в регистр В (RB) заносятся операнды, представленные УДЦ формате. Далее, происходит нахождение разности операндов. Результат операции записывается во входной регистр RA, стирая предыдущее содержимое.
Алгоритм нахождения разности УДЦ можно разбить на следующие этапы:
· занесение чисел RA и RB
· преобразование их во внутреннее представление сумматора
· вычисление разности
· преобразование результата к УДЦ
· перезапись RA
Алгоритм
Блок - схема подпрограммы сложения чисел
Размещено на http://www.allbest.ru/
Семантика
Операционная семантика команды rol al, 1
L1(al)
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
# |
L2
# |
L1(al)
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
# |
L2
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
# |
1. q01S1 Top1 q02
2. q02S2Top2q11
3. q11S1 L1 q21
4. q21X1 B1 q31 ()St1
5. q31X1 L1 q12
6. q12X2B2q22()St1
7. q22X2 L2 q21
8. q21#1 B1 q41
9. q41X1 Top1 q51
10. q51X1 B1 q32 ()St1
11. q32X2B2q42()St1
12. q42X2Top2q52
13. q52X2 B2 q62 ()St1
14. q62X2 L2 q61
15. q61X1B1q71()St1
16. q71X1 L1 q42
Операционная семантика команды shl al, 1
L1 (al):
1. q01S1Top1q11
2. q11X1L2q21
3. q21X1B1q31( )St1
4. q31X1R1q41
5. q41X1( )St1 q51
6. q51X1L1q11
7. q21#1R1q61
8. q61S101q71
9. q71S1Top1q81
Линейная схема
1. НАЧАЛО на 3
2. ПРИСВОИТЬ si, строка
3. ПРИСВОИТЬ cx, 0
4. ЕСЛИ ([si] < 30h) ТО на 9
5. ЕСЛИ ([si] > 39h) ТО на 9
6. УВЕЛИЧИТЬ si
7. УВЕЛИЧИТЬ cx
8. на 4
9. ВЕРНУТЬ cx
10. КОНЕЦ
Символы:
· cx - переменная, количество символов в строке
· si - указатель на символ строки, [si] - символ строки
· НАЧАЛО, КОНЕЦ - специальные символы
Операторы:
· условные операторы (ЕСЛИ … ТО … ИНАЧЕ …)
· операторы перехода (на)
· операторы присвоения (ПРИСВОИТЬ операнд 1, операнд 2)
· операторы возврата (ВЕРНУТЬ операнд)
Функции:
· Вывод() - вывести строку;
Верификация
Без ветвления:
ra = r1
rb = r2
sm = ra - rb
(r1 >= r2) { ra = r1; rb = r2; sm = ra - rb } sm <= ra
(r1 >= r2) { ra = r1; rb = r2; } ra - rb <= ra
(r1 >= r2) { ra = r1 } ra - r2 <= ra
(r1 >= r2) r1 - r2 <= r1
true & true true
true true
true
C ветвлением:
if(last==1)
{ra=r1;}
else
{ra=0;}
1) ((last=1)?(last=0))&(last=1){ra=r1}(ra=r1)?(ra=0);
((last=1)?(last=0))&(last=1) > (r1=r1)?(r1=0);
true & true > true
true > true
true.
2) ((last=1)?(last=0))&¬(last=1){ra=0}(ra=r1)?(ra=0);
((last=1)?(last=0))&¬(last=1) > (0=r1)?(0=0);
true & true > true
true > true
true.
Верификация цикла:
i=count;
do
{
add(…);
…
i--;
} while (i>0);
P = ((countN)?(count=0));
B = (i>0);
S = (i=i-1);
Q = (i ? 0).
((countN)?(count=0))&(i?count){while i>0 do i=i-1 end}i ? 0;
1. Инвариант цикла удовлетворяется при входе в цикл:
((countN)?(count=0)) > (i?count)
true ? false > true
true > true
true
2. Инвариант цикла удовлетворяется при проверке условия выполнения цикла:
(i?count){ (i>0)} (i?count)
true > true
true
3. Инвариант цикла удовлетворяется в теле цикла:
(i?count) & (i>0) {i=i-1} (i?count)
(i?count) & (i>0) > (i-1?count)
(i?count) & (i>0) > (i?count+1)
true & true > true
true > true
true
4. Инвариант цикла и отрицание условия выполнения имплицируют постусловие:
(i?count) &¬ (i>0) > (i ? 0)
(i?count) & (i ? 0)> (i ? 0)
true & true > true
true > true
true
Сети Петри
устройство вычитание семантика верификация программа
Вывод
В данной работе была написана программа моделирования АЛУ для вычитания УДЦ. Также была проведена верификация линейного участка программы, участка, содержащего ветвления, цикла, была описана операционная семантика и построены сети Петри для подпрограммы.
Размещено на Allbest.ru
Подобные документы
Операционный блок микропроцессора, арифметические операции с целыми операндами. Пути увеличения производительности арифметико-логического устройства за счет параллельной обработки различных команд выполняемой программы. Сумматор частичных произведений.
контрольная работа [56,5 K], добавлен 05.09.2010Обобщенная структура центрального процессора. Основные характеристики и классификация устройств управления. Структура арифметико-логического устройства для сложения, вычитания и умножения чисел с фиксированной запятой. Параллельные вычислительные системы.
шпаргалка [688,3 K], добавлен 24.06.2009Тестирование арифметико-логического блока процессора на уровне двоичных форм представления данных типовыми программными средствами ЭВМ. Рассмотрение основ сложения и вычитания чисел с плавающей запятой. Описание логического и текстового типа данных.
курсовая работа [1,4 M], добавлен 13.12.2014Понятие двоично-десятичного кода (ДДК), его получение и использование. Изучение арифметико-логических устройств, использующихся для обработки ДДК. Алгоритмы сложения, вычитания, умножения и деления ДДК при помощи арифметико-логических устройств.
контрольная работа [145,5 K], добавлен 05.09.2010Расчет статического модуля оперативной памяти и накопителя. Построение принципиальной схемы и временной диаграммы модуля оперативного запоминающего устройства. Проектирование арифметико-логического устройства для деления чисел с фиксированной точкой.
курсовая работа [3,2 M], добавлен 13.06.2015Разработка на программируемой логической интегральной микросхеме арифметико-логического устройства для выполнения операций над числами. Описание его функционирования. Коды команд АЛУ. Реализация действия RS триггера. Структура, тело и работа программы.
курсовая работа [697,1 K], добавлен 16.12.2014Теоретическое изучение системы проведения арифметических операций над двоичными числами. Создание описания операций умножения и блок-схемы алгоритма её выполнения. Определение набора управляющих сигналов и синтез схемы арифметико-логического устройства.
курсовая работа [169,3 K], добавлен 25.12.2012Разработка устройства управления процессора для выполнения команд сложения, вычитания и поразрядного логического "или", с использованием способов адресации операндов: регистр-регистр, регистр - непосредственно операнд, регистр - прямая адресация памяти.
курсовая работа [72,8 K], добавлен 21.11.2011Изучение логических операций и правил их преобразований. Моделирование цифровых схем, состоящих из логических вентилей. Способы описания работы логического устройства - таблицы истинности, временные диаграммы, аналитические функции, цифровые схемы.
лабораторная работа [2,1 M], добавлен 02.03.2011Исследование методов моделирования, отличных от сетей Петри. Моделирование при помощи инструментария IDEF. Пример простейшей байесовской сети доверия. Анализ младшего разряда множителя. Сложение на сумматорах. Заполнение и анализ редактора сетей Петри.
курсовая работа [2,6 M], добавлен 28.10.2013