Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2015, 19:23   #1
Веник
 
Регистрация: 20.04.2013
Сообщений: 5
По умолчанию Архитектура вычислительных систем

Добрый день! Нужно решить 3 задачки по дисциплине Архитектура вычислительных систем. Очень прошу помощи (я дистанционник):
1.Написать по шагам последовательность действий, реализующих Операции сложения, вычитания, умножения и деления с фиксированной точкой над двумя числами А=-175,В= -54

2.Написать по шагам последовательность действий, реализующих Операции сложения, вычитания, умножения и деления с плавающей точкой над двумя числами.А=+0.375,В=+43.50

3.Написать по шагам последовательность действий, реализующих методы укоренного выполнения операций над двумя числами. А=+0.375,В=+43.50

Ребята! Помогите мне очень сложно самостоятельно разобраться как решать в двоичной системе в дополнительном коде,как сдвигать...очень прошу помочь ,заранее спасибо...
Веник вне форума Ответить с цитированием
Старый 07.02.2015, 20:15   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Чем помочь? Лабу сделать? Так это во-фриланс.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 08.02.2015, 04:59   #3
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,606
По умолчанию

В первой задаче нужно реализовать операцию ADD, SUB, MUL, DIV центрального процессора.

Во второй задаче нужно реализовать операции FADD, FSUB, FMUL, FDIV сопроцессора центрального процессора осуществляющего операции с плавающей точкой.

В третей задаче нужно реализовать операции SHR, SHL центрального процессора

Данные задачи относятся к задачам проектирования центральных процессоров и сопроцессоров.

175 в двоичной системе 10101111
Для того, чтобы центральный процессор знал, что число отрицательное устанавливается флаг знака.
Кроме того есть флаг переноса.

При добавлении единицы к 10101111 сперва
1. пытаюсь добавить 1 к первой единице справа, получаю 0, устанавливаю флаг переноса, который указывает процессору, что нужно добавить 1 ко второй единице справа,
2. добавляю 1 ко второй единице справа, снова получаю 0, снова устанавливаю флаг переноса,
3. добавляю 1 к третьей единице справа, получаю 0, устанавливаю флаг переноса,
4. добавляю 1 к четвертой единице справа, получаю 0, устанавливаю флаг переноса,
5. добавляю 1 к пятому числу справа получаю 1, не устанавливаю флаг переноса, выполнение инструкции заканчивается.
И такую операцию добавления 1 повторяю 54 раза.


Флаг переноса содержит либо 1 либо 0, где 1 значит, что нужно осуществить перенос.
Флаг знака содержит либо 1 либо 0 где 0 значит знак плюс, 1 значит знак минус.
При умножении
плюс на плюс дает плюс 0 0 0
плюс на минус дает минус 0 1 1
минус на плюс дает минус 1 0 1
минус на минус дает плюс 1 1 0
Учитывая такую таблицу, наверное, удобнее всего использовать операцию XOR для установки знака при умножении. Если флаг знака не установлен, то XOR не осуществляется, но если флаг знака установлен используется XOR
В первом задании заданы два отрицательные числа поэтому производится операция XOR над 1 и 1 для вычисления знака, получается 0, то есть результат имеет знак плюс.

IEEE 754 - стандарт двоичной арифметики с плавающей точкой
http://www.softelectro.ru/ieee754.html

Двоичная арифметика
http://www.lyceum95.ru/inform/arifm.htm

На ассемблере сложение реализуется
Код:
mov eax, -175
add eax, -54 ; в eax результат сложения -175 и -54
Если это сложение модифицировать, получим
Код:
mov eax, -175
mov ebx, -54

cycle: 
cmp ebx, 0
jz exit
add eax, -1
add ebx, 1
jmp cycle

exit: 
ret
Подумал: вам достаточно это на ассемблере реализовать? На более низком уровне это будет уже схемотехника, то есть проектирование электрических цепей центрального процессора.

Вычитание на ассемблере реализуется следующим образом
Код:
mov eax, -175
sub eax, -54
Умножение на ассемблере реализуется следующим образом

Код:
mov eax, -175
mov ebx, -54
mul ebx ; в eax результат умножения
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"

Последний раз редактировалось Stilet; 08.02.2015 в 09:52.
challengerr вне форума Ответить с цитированием
Старый 08.02.2015, 10:24   #4
Веник
 
Регистрация: 20.04.2013
Сообщений: 5
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстродействие вычислительных операций C#, С++ zrs C# (си шарп) 2 19.03.2012 09:47
Алгоритмизация вычислительных процессов. Olushka Помощь студентам 0 29.11.2011 17:23
3адача на тему разветвляющих вычислительных структур JlJlirik1993 Помощь студентам 1 12.10.2010 01:44
Моделирование конвейерных вычислительных структур(gpss) Анастасия1902 Помощь студентам 1 16.05.2010 12:15