- •Арифметические основы построения эвм.
- •Основные сведения
- •Содержание курсовой работы
- •Разработка программы
- •Содержание пояснительной записки
- •2. Разработка алгоритма арифметической операции.
- •Список рекомендуемой литературы
- •Приложение. Пример оформления титульного листа к пояснительной записке.
- •«Арифметические основы построения эвм»
Арифметические основы построения эвм.
Основные сведения
Целью курсовой работы является закрепление у студентов основных теоретических положений предмета, приобретение навыков практического решения технических задач логического проектирования узлов ЭВМ.
Для выполнения курсовой работы необходимо знание основных разделов предмета «Информатика»: арифметические и логические основы ЭВМ.
Каждому студенту в начале семестра преподавателем выдаётся индивидуальное задание. Выполненная курсовая работа включает в себя разработанный алгоритм в соответствии индивидуальным заданием и программу, демонстрирующую работу алгоритма на конкретных примерах.
Курсовая работа оформляется в виде пояснительной записки объёмом около 15-20 страниц печатного текста. Текстовый и графический материалы курсовой работы должны быть оформлены в соответствии с требованиями ГОСТ. Оформленная курсовая работа сдаётся преподавателю на проверку.
Срок сдачи курсовой работы: 1 апреля текущего учебного года.
Допущенная к защите работа возвращается студенту. Защита работы происходит в назначенное время публично – перед комиссией из двух человек. На защите студент должен показать умение кратко и грамотно излагать технические вопросы по проектированию, уметь обосновать выбор принятого решения, а также знать в подробностях все разработанные вопросы. По результатам защиты и представленным в записке материалам студенту ставится оценка по четырёхбальной системе: «отлично», «хорошо», «удовлетворительно» или «неудовлетворительно». В случае неудовлетворительной оценки студенту выдаётся новое задание.
Содержание курсовой работы
Логически выполнение курсовой работы можно разделить на три части:
1) разработка алгоритма преобразования данных в заданный формат;
2) разработка алгоритма выполнения требуемой арифметической операции; 3) написание программы, которая бы выполняла указанной действие над конкретными операндами.
При выполнении третьей части курсовой работы необходимо помнить, что программная реализация разработанного алгоритма – это лишь часть программы, которая необходима для подтверждения разработанных алгоритмов!
РАЗРАБОТКА АЛГОРИТМА АРИФМЕТИЧЕСКОЙ ОПЕРАЦИИ
Первые две части курсовой работы – это разработка алгоритмов.
Для представления алгоритмов используется специальный граф-схемный язык, основными элементами которого являются функциональные и вспомогательные блоки, описывающие операции алгоритма.
Каждому отдельному действию, осуществляемому алгоритмом, придаётся значение микрооперации. Любая микрооперация изменяет состояние какого-либо из блоков. Всем блокам устройства присваиваются имена (условные обозначения): сумматор – СМ, сумматор мантисс – СММ, регистр – Pг, сумматор порядка – СМП, регистр переносов – PгП и т.д.
На рис. 1 представлены условные обозначения функциональных блоков. Каждому блоку алгоритма присваивается номер, который записывается слева в разрыве линии обвода блока. Описание последовательности выполнения действий ведётся с использованием номеров блоков. Блоки в алгоритме соединяются линиями связи. Как правило, линия связи входит в блок сверху и выходит снизу. Линия связи даётся без стрелок, если она идёт сверху вниз и слева направо. Во всех других случаях ставятся стрелки. Толщина линий связи в два раза меньше, чем толщина обводки блоков. Линии связи проводятся параллельно внешним краям рамки листа. Допускается пересечение их или изгиб под углом 90°. Расстояние между параллельными линиями должно быть не менее 8 мм. Размеры блоков выбираются из ряда: а =10, 15, 20, 30, … мм, b =1,5а. Расстояние между параллельными линиями должно быть не менее 10 мм.
Рис.1. Условные обозначения функционального и условного блоков.
В каждый блок может войти и выйти только по одной линии связи. Из условного блока выходят две связи: снизу и из правого угла. Над связями, выходящими из условного блока, пишут слова: «Да», «Нет».
Например, на рис. 2, а показан блок, который осуществляет проверку выполнения условия и разветвление алгоритма по двум направлениям. На рис. 2, б представлен условный блок-переключатель, употребляемый в случае большого количества разветвлений (для этого блока условия ветвления записываются на каждом из выходов).
Рис.2. Блоки разветвлений.
Линии связи проводятся в горизонтальном, либо в вертикальном направлении. Несколько логических связей могут объединиться в одну линию (рис. 3, а) или пересекаться под углом . Для записи действий, протекающих параллельно во времени, используют условное обозначение параллельного процесса (рис. 3, б). Это означает, что несколько процессов начинаются и заканчиваются одновременно. Линии связи можно разрывать, обозначив точки разрыва одинаковыми символами внутри соединителя (рис. 3, в, г). Около места разрыва связи допускается в скобках запись комментария, определяющего, куда направляется связь и откуда приходит.
Рис.3. Логические связи (а, б) и разрыв соединительных линий (в, г).
Для описания проходящих процессов кроме условных обозначений используется оператор присваивания «:=». Например, действие «передать в регистр А изображение числа В в обратном коде» запишется в виде PrA := [B]об. Запись PrA := 0 означает установку регистра в нулевое положение.
Оператор присваивания указывает и устройство, на котором производится действие. Так, запись СМА := [СМА] + [PrB] означает, что действие осуществляется на сумматоре А. Запись СМА := [СМВ] + [PrD] недопустима, так как неизвестно, где производится действие.
Выполнение сдвигов обозначается следующим образом: сдвиги сумматора вправо на k разрядов – R (k, СМ): сдвиги регистра А влево на n разрядов – L (n, PrA).
Поэтому запись вида СМА: = R (2, СМА) означает, что в сумматоре А осуществляется сдвиг вправо на два разряда и сдвинутое число остаётся в сумматоре А. Модификационный сдвиг обозначается следующим образом Pr2 = Rм (2Pr2)
Операции преобразования в обратный и дополнительный коды можно рассматривать как самостоятельные микрооперации и для их записи использовать свои обозначения. Например, содержимое регистра А преобразуется в дополнительный код – ДК (PrA) или содержимое сумматора А преобразуется в обратный код – ОК (СМА). Операция инвертирования - , что означает инвертирование содержимого регистра А во всех разрядах.
Двоичные разряды во всех блоках устройства нумеруются слева направо. Номер разряда какого-то блока указывается в квадратных скобках после назначения блока: Pr1 [5] – 5-й разряд регистра 1; Pr2 [15 2] – совокупность разрядов со 2-го по 15-й регистра 2.
Ниже представлены основные обозначения, используемые для записи алгоритмов:
Установка в нулевое положение…………. |
Pr1: = 0 СМ: = 0 |
Инвертирование кода …………………….. |
Pr1: =Pr1 |
Передача информации из отдельного блока в другой: а) из Pr1 в Pr2 прямым кодом …………… б) из Pr1 в СМ обратным кодом…………. в) из сумматора в регистр 2 дополнительным кодом ………………………… |
Pr2: = [Pr1]пр СМ: = [Pr1]ок
Pr2: = [СМ]дк |
Сдвиг регистра Pr1 на n разрядов: а) влево …………………………………….. б) вправо (модифицированный)…………. |
Pr1: = L (n, Pr1) Pr1: = Rм (n, Pr1) |
Операция последовательного счёта…….. |
СЧ: = СЧ + 1 |
Операция сложения кодов: содержимое СМ сложить с содержанием Pr1 ……………………… |
СМ: = [СМ] + [Pr1] |
Частичная передача информации из Pr2 с 3-го по 15-й в Pr1 с 1-го по 13-й разряды |
Pr1 [13+1] :=Pr2 [15+3] |
Правила, по которым осуществляется модифицированный сдвиг чисел со знаком, представлены в следующей таблице:
Исходная комбинация |
Сдвинутая влево на один разряд |
Сдвинутая вправо на один разряд |
00,а1а2…аn |
0а1,а2…аn0 |
00,0а1а2…аn-1 |
01,а1а2…аn |
1а1,а2…аn0 |
00,1а1а2…аn-1 |
10,а1а2…аn |
0а1,а2…аnα |
11,0а1а2…аn-1 |
11,а1а2…аn |
1а1,а2…аnα |
11,1а1а2…аn-1 |
Величина α зависит от кода: для дополнительного кода α=0, для обратного кода α=1.
Любой алгоритм начинается с блока комментария «Начало» и заканчивается блоком комментария «Конец». Внутри функциональных и вспомогательных блоков записывается содержательная часть процессов, которая выполняется данным блоком алгоритма.
Для описания повторяющихся действий можно ввести процедуры. Процедура оформляется в виде отдельного алгоритма, которому присваивается имя. Кроме того, могут быть даны наборы формальных параметров, заменяемых на фактические при обращении к данной процедуре. Имя процедуры и перечень формальных параметров указываются в блоке «Начало» алгоритма процедуры. Обращение к процедуре осуществляется из общего алгоритма с помощью блока обращения, в котором указываются имя процедуры и в круглых скобках фактические параметры, соответствующие данной процедуре.
Правила выполнения схем определяются следующими документами:
ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.
ГОСТ 19.002-80. Схемы алгоритмов и программ. Правила выполнения.
ГОСТ 19.003-80. Схемы алгоритмов и программ. Обозначения условные графические.