Структура электронных вычислительных машин

Описание принципа Фон Неймана и структурная схема ЭВМ. Общие сведения о специализированном вычислителе БВЦ ТАКТ51. Формы представления чисел в ЭВМ. Выполнение арифметических операций над двоичными числами. Программное управление вычислительным процессом.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 11.12.2014
Размер файла 34,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

1. Структура электронных вычислительных машин

Все современные вычислительные машины построены по принципам и имеют структуру, предложенную еще в 40-х годах академиком Джоном Фон Нейманом. программный вычислительный двоичный нейман

Принципы Фон Неймана:

· вычислительная машина конструктивно делится на ряд устройств: процессор, запоминающее устройство (для хранения программ и данных), устройство ввода-вывода и т.д.;

· наличие хранимой в памяти программы;

· одинаковое представление чисел и команд в виде двоичных кодов;

· принцип микропрограммного управления процессом вычислений;

· естественный порядок выборки команд (команды выполняются последовательно, так как они хранятся в памяти; изменение порядка выполнения команд, при необходимости, осуществляется специальными командами перехода).

Согласно первому принципу ЭВМ состоит из ряда устройств, взаимодействующих друг с другом в процессе решения задачи. Рассмотрим кратко основные устройства и их функции.

Арифметико-логическое устройство (АЛУ) предназначено для выполнения предусмотренных в ЭВМ арифметических и логических операций. Участвующие в операциях данные выбираются из ОЗУ, результаты операций отсылаются в ОЗУ. Для ускорения выборки операндов (данных, участвующих в операциях) АЛУ может снабжаться собственной местной памятью (сверхоперативным запоминающим устройством - СОЗУ) на небольшое число данных (в сравнении с ОЗУ), но обладающей быстродействием, превышающим быстродействие ОЗУ. При этом результаты операций, если они участвуют в последующих операциях, могут не отсылаться в ОЗУ, а храниться в СОЗУ. Оперативная память вместе с СОЗУ представляет собой единый массив памяти, непосредственно доступный процессору для записи и чтения данных, а также считывания программного кода. К настоящему времени для оптимизации работы созданы процессоры с несколькими уровнями (от одного до трех) кэширования ОЗУ (несколькими СОЗУ).

Устройство управления (УУ) - координирует работу процессора, посылая в определенной временной последовательности управляющие сигналы в устройства ЭВМ, обеспечивая их соответствующее функционирование и взаимодействие друг с другом.

Оперативная память (ОЗУ) - реализуется, как правило, на модулях (микросхемах) динамической памяти. ОЗУ служит для хранения программы, исходных данных задачи, промежуточных и конечных результатов решения задачи.

Память ЭВМ к настоящему времени приобрела довольно сложную структуру и "расползлась" по многим компонентам. Кроме оперативной, память включает также и постоянную (ПЗУ), из которой можно только считывать команды и данные, и некоторые виды специальной памяти (например видеопамять графического адаптера). Вся эта память вместе с оперативной располагается в едином пространстве с линейной адресацией. В любом компьютере обязательно есть постоянная память, в которой хранится программа начального запуска компьютера и минимальный необходимый набор сервисов (например: ROM BIOS).

Все узлы ЭВМ не входящие в ядро называются периферийными. Они обеспечивают расширение возможностей ЭВМ, облегчают пользование ими. В состав периферийных (внешних) устройств могут входить следующие узлы.

Внешняя память (устройства хранения данных, например, дисковые) - память, имеющая относительно невысокое быстродействие, но по сравнению с ОЗУ существенно более высокую емкость. Внешняя память предназначена для записи данных с целью последующего считывания (возможно, и на другом компьютере). От рассмотренной выше памяти, называемой также внутренней, устройства хранения отличаются тем, что процессор не имеет непосредственного доступа к данным по линейному адресу. Доступ к данным на устройствах хранения выполняется с помощью специальных программ, обращающихся к контроллерам этих устройств. В силу того что быстродействие внешней памяти значительно ниже быстродействия АЛУ, последнее в процессе работы взаимодействует лишь с ОЗУ, получая из него команды и данные, отсылая в эту память результаты операций. Часто при решении сложных задач емкость ОЗУ оказывается недостаточной. В этих случаях в процессе решения задач данные определенными порциями могут пересылаться из внешней памяти в ОЗУ, откуда они затем выбираются для обработки в АЛУ.

Устройства ввода/вывода (УВВ) служат для преобразования информации из внутреннего представления в компьютере (биты и байты) в форму, доступную окружающим, и обратно. Под окружающими понимаем как людей, так и другие машины (например технологическое оборудование, которым управляет компьютер). К устройствам ввода относятся клавиатура, мышь, джойстик, микрофон, сканер, видеокамера, различные датчики; к устройствам вывода - дисплей, принтер, плоттер, акустические системы (наушники), исполнительные механизмы. Список устройств ввода/вывода безграничен - благодаря фантазии и техническому прогрессу в него входят все новые и новые устройства; так, например, шлем виртуальной реальности из области фантастики вышел в производственно-коммерческую. Устройства хранения к УВВ относить некорректно, поскольку здесь преобразования информации ради доступности внешнему миру не происходит. Устройства хранения вместе с УВВ можно объединить общим понятием периферийные устройства.Существует еще большой класс коммуникационных устройств, предназначенных для передачи информации между компьютерами и (или) их частями. Эти устройства обеспечивают, например, соединение компьютеров в локальные сети или подключение терминала (это УВВ) к компьютеру через пару модемов. Периферийные и коммуникационные устройства снабжаются контроллерами или адаптерами, которые доступны процессору.

2. Общие сведения о специализированном вычислителе БВЦ ТАКТ51

Ядром автоматизированного средства контроля является специализированный вычислитель - блок вычислителя цифрового (БВЦ ТАКТ51.51.000). Блок вычислителя цифрового предназначен для управления системой ТАКТ51, а также для обработки информации при проверке изделия и самопроверке работоспособности ТАКТ51. БВЦ относится к классу малых одноадресных управляющих специализированных цифровых вычислительных машин.

БВЦ реализует следующие функции:

· ввод программы с 8-дорожечной перфоленты в оперативное запоминающее устройство и хранение программы в ОЗУ;

· обмен данными с периферийными блоками;

· математическую обработку результатов измерений, полученных с периферийных блоков;

· выявление и обработку неисправностей, возникающих в системе;

· взаимодействие оператора с БВЦ путем операций ручного управления и наблюдения посредством ПУ и ПО;

· отсчет текущего времени работы БВЦ.

По существу блок вычислителя цифрового - это электронная вычислительная машина, автоматически выполняющая интерпретацию программы (алгоритма) в виде физических процессов, назначением которых является реализация арифметических и логических операций над информацией, представленной в цифровой форме.

Для того чтобы любая ЭВМ, в том числе и БВЦ, могла автоматически решать задачи, она должна обеспечивать выполнение следующих функций:

· восприятие вводимой в машину информации - исходных данных и программы решения задач;

· хранение введенной информации и выдачу ее в требуемые моменты времени, обусловленные программой;

· выполнение арифметических и логических операций;

· выдачу по программе результатов вычислений в удобной для восприятия форме;

· автоматическое управление вычислительным процессом в соответствии с введенной программой.

Для выполнения перечисленных функций в состав БВЦ входят: устройство ввода, запоминающее устройство (память), процессор, устройства вывода (являются периферийными по отношению к БВЦ и, по существу, не входят непосредственно в состав БВЦ).

Устройство ввода (ПБВД-5) обеспечивает фотоэлектрическое считывание информации с восьмидорожечной перфоленты и представление считанной информации в двоичной форме в виде электрических сигналов, воспринимаемых оперативной памятью.

Запоминающее устройство (платы ОЗУ и ПЗУ) служит для хранения информации, необходимой для производства вычислений. В памяти размещаются программы, задающие порядок вычислений, и данные, представляющие исходные значения, промежуточные и конечные результаты вычислений.

Процессор - это центральное устройство БВЦ. Процессор "воспринимает" программу и на ее основе управляет работой всех устройств БВЦ, инициируя выполнение действий в памяти и устройствах ввода-вывода. Функцией процессора является выборка команд из памяти и их выполнение.

Периферийными устройствами вывода (цифропечатающее устройство ПЦПУ-6, устройство вывода перфоленточное ПУВЛ-1) обеспечивается вывод информации из памяти для ее последующего использования (печать цифр и символов, пробивка отверстий на ленте).

Работа БВЦ протекает следующим образом. Программа и исходные данные, представленные на носителе информации (перфоленте), считываются устройством ввода ПБВД-5 и загружаются в память, в адреса, указанные на перфоленте. Выполнение программы сводится к последовательной выборке команд из памяти и их выполнению средствами процессора и устройств ввода-вывода.

Программа проверки изделия или самопроверки системы ТАКТ51 определяет объем и последовательность операций, выполняемых ТАКТ51. БВЦ вводит программу проверки с перфоленты в оперативную память и в соответствии с программой выдает команды на управляющие и измерительные блоки системы, принимает и обрабатывает информацию с измерительных блоков, а результаты проверки выводит на печать на ЦПУ и/или перфорацию на УВЛ.

Команда представляет собой цифровой код, преобразующийся в БВЦ в управляющие сигналы. Для БВЦ определен 13-разрядный двоичный формат команды.

Команда состоит:

· из кода команды (с 0-го по 2-й разряд), определяющего тип команды;

· из кодированной информации (с 3-го по 11-й разряды), определяющей информацию: действие, предписанное командой, или адрес (номер) ячейки памяти;

· из контрольного разряда (12-й разряд), обеспечивающего контроль правильности команды и ее неискажения при передаче в устройствах БВЦ. Это достигается записью, при необходимости, единицы в контрольном разряде (дополнение до нечетного количества единиц в команде). Все команды программы располагаются в ячейках памяти запоминающего устройства. Для удобства обращения к памяти ячейки пронумерованы последовательно от 0 до 409510. Адреса (номера) представляются или в двоичном виде (в БВЦ) от 000 000 000 0002 до 111 111 111 1112, или в восьмеричном виде (при программировании) от 00008 до 77778.

3. Формы представления чисел в электронных вычислительных машинах

ЭВМ оперирует с числами, содержащими конечное число разрядов. Количество разрядов ограничено длиной разрядной сетки машины. Под разрядной сеткой понимается совокупность двоичных разрядов, предназначенных для хранения и обработки машинных слов (двоичных кодов).

Для представления чисел в ЭВМ используются две формы: естественная (с фиксированной запятой) и нормальная с (плавающей запятой).

Естественная (с фиксированной запятой) (FIXED - POINT REPRESENTATION) форма представления чисел предполагает, что положение запятой, отделяющей целую часть от дробной, фиксировано в разрядной сетке машины. Для представления знака выделяется специальный разряд - знаковый. Обычно это крайний левый разряд. Для положительных чисел в знаковом разряде записывается 0, а для отрицательных 1.

Количество двоичных разрядов и положение запятой в разрядной сетке машины определяют такие важные характеристики ЭВМ, как точность и диапазон представляемых чисел. Так, например, для n-разрядной сетки точность (дискретность) равна 2-n, а диапазон 0?|N|?2-1-1. Рассмотрим это более подробно.

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

а) запятая перед старшим разрядом

б) запятая после младшего разряда

Длину разрядной сетки с фиксированной запятой в современных универсальных ЭВМ принято выбирать кратной байту (8 бит или 8 двоичных разрядов). В персональных ЭВМ используется разрядная сетка длиной 8, 16, 32 или 64 разряда. Для специализированных вычислителей возможны другая кратность и длина разрядной сетки.

Одним из важных преимуществ данной формы представления числа является возможность построения сравнительно несложных операционных устройств ЭВМ с высоким быстродействием, а недостатком - малый диапазон представления числа.

Нормальная (с плавающей запятой) (FLOATION - POINT REPRESENTATION) форма представления чисел позволяет значительно увеличить диапазон представления чисел.

Представление числа в форме с плавающей запятой в общем виде определяется выражением

N=±M*2±p

где М - мантисса числа, р - порядок, 2рхарактеристика числа. Знак числа совпадает со знаком мантиссы. Говорят, что число представлено в нормальной форме. Однако такое представление приводит к неоднозначности, поэтому мантисса М обычно представляется правильной дробью в нормализованном виде (первая цифра справа от запятой в числе должна быть отличной от нуля). Таким образом, значение нормализованной мантиссы должно удовлетворять неравенству 2-1?|М|<1. Для кодирования отрицательных чисел в ЭВМ применяют прямой, обратный и дополнительный коды. Обратный код числа получают инвертированием всех разрядов, а дополнительный код получают инвертированием всех разрядов и дальнейшим суммированием единицы с младшим разрядом.

Иногда для кодирования отрицательных чисел в ЭВМ применяют модифицированные прямой, обратный и дополнительный коды. В модифицированных кодах для кодирования числа отводят два разряда, причем знак плюс кодируется сочетанием 00, а знак минус - 11. Два разряда под знак позволяют контролировать переполнение разрядной сетки отведенной под мантиссу числа при выполнении арифметических операций. В остальном модифицированные коды аналогичны обычным.

Числа в специализированном вычислителе БВЦ ТАКТ51 представлены в немодифицированном дополнительном коде с фиксированной запятой.

Нулевой разряд отведен для записи знака числа, причем плюс соответствует 0, а минус 1. Запятая считается фиксированной после знакового разряда.

Дробная двоичная мантисса представляется 11-ю разрядами, причем старший разряд первый. Отрицательные числа хранятся в памяти и участвуют в операциях в дополнительном коде. Применение этого кода позволяет свести операцию вычитания к операции сложения, а операции умножения и деления к сериям сложений и сдвигов. В результате для выполнения всех арифметических операций оказывается возможным использовать одно суммирующее устройство, в котором знаковые разряды складываются так же, как и разряды значащих частей чисел, в результате чего знак суммы получается автоматически.

4. Выполнение арифметических операций над двоичными числами

Основной операцией, которая используется в цифровых устройствах при различных вычислениях, является операция алгебраического сложения чисел (сложения, в котором могут участвовать как положительные, так и отрицательные числа). Вычитание легко сводится к сложению путем изменения на обратный знака вычитаемого. Операции умножения и деления также выполняются с помощью операции сложения и некоторых логических действий. Поэтому именно с операции сложения начнем рассмотрение способов выполнения арифметических операций.

Принципы выполнения арифметических операций в различных процессорах сходны, но отличаются лишь конкретным исполнением. Порядок выполнения ряда арифметических операций рассмотрим на примере работы специализированного вычислителя БВЦ ТАКТ51.

Сложение.

При выполнении операции сложения по команде СЛ число из запоминающего устройства считывается в регистр числа РЧ и посылается на один вход сумматора. На другой вход сумматора передается число из регистра сумматора РС. Сложение двух чисел в двоичной системе, как и в десятичной, начинается с младшего разряда по правилам, которые даются таблицей двоичного сложения:

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0 + единица переноса в старший разряд, т.е. 12+12=102.

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

Так как в цифровом вычислителе ТАКТ51 используется немодифицированный дополнительный код, то возможное переполнение, с одной стороны, исключается путем тщательного предварительного анализа решаемых задач, с другой стороны, используется триггер дополнительный ТД для получения суммы в модифицированном дополнительном коде. Перенос из нулевого разряда сумматора инвертирует содержимое триггера дополнительного ТД, что позволяет программным способом определить переполнение.

Сдвиги.

Из последующего описания будет ясно, как широко используются операции сдвига вправо (влево) при умножении и делении.

Ввиду особой важности операции сдвига рассмотрим ее подробно.

В цифровых машинах используются три разновидности сдвига, отличающиеся друг от друга следующими правилами:

· если при сдвиге вправо (влево) освобождающиеся старшие (младшие) разряды заполняются нулями, то сдвиг называется логическим;

· если при сдвиге вправо в освобождающиеся старшие разряды записываются значения, совпадающие с теми, которые до сдвига были записаны в старшем знаковом разряде, то сдвиг называется арифметическим или модифицированным. При сдвиге влево младшие разряды заполняются нулями (в случае применения дополнительного кода).

· если при сдвиге вправо освобождающиеся старшие разряды принимают значения выдвигаемых младших разрядов, или если при сдвиге влево освобождающиеся младшие разряды принимают значения выдвигаемых старших разрядов, сдвиг называется циклическим.

В БВЦ используются все три разновидности сдвигов.

При циклическом сдвиге участвуют два регистра:

· триггер дополнительный ТД

· регистр сумматора РС.

Причем при выполнении циклического сдвига вправо содержимое регистра ТД передается в нулевой разряд регистра РС, содержимое нулевого разряда РС передается в первый разряд, содержимое первого разряда - во второй и т.д. Содержимое 11 разряда РС передается в ТД.

При циклическом сдвиге влево содержимое ТД передается во 11-й разряд РС, 11-й разряд РС - в 10-й и т.д. Содержимое нулевого разряда РС передается в ТД.

При логическом или арифметическом сдвиге вправо (влево) участвуют три регистра:

· триггер дополнительный ТД;

· регистр сумматора РС;

· регистр дополнительный РД.

Причем при арифметическом сдвиге вправо (перед началом операции) триггеру дополнительному ТД присваивается значение нулевого разряда регистра РС и далее содержимое ТД не изменяется и передается в нулевой разряд РС, нулевой разряд РС - в первый и т.д. Содержимое 11 разряда РС передается в 0 - разряд РД, 0 - разряд РД - в первый и т.д. Содержимое 11-го разряда РД выходит за пределы регистра и теряется.

При логическом сдвиге вправо (перед началом операции) триггеру дополнительному ТД присваивается нулевое значение и далее сдвиг имеет место как описано выше. При сдвиге влево (арифметическом или логическом) в 11-й разряд регистра РД записывается нуль, а его содержимое передается в 10-й разряд РД и т.п. Содержимое 0-го разряда РД передается в 11-й разряд РС, 11-й разряд РС - в 10-й и т.д. Содержимое нулевого разряда РС передается в ТД, а содержимое ТД выходит за пределы регистра и теряется.

В БВЦ предусмотрены цепи сдвига вправо (влево) на один разряд. Сдвиг на несколько разрядов осуществляется путем последовательного повторения сдвигов на один разряд.

Если количество сдвигов задано, то учет выполненного количества сдвигов ведется счетчиком сдвига.

Нормализация.

Операция нормализации - это сдвиг влево до тех пор, пока не выполнится условие окончания нормализации.

Число называется нормализованным, если выполняются следующие условия:

· сочетание "01" в нулевом и первом разрядах для положительного числа;

· сочетание "10" в нулевом и первом разрядах для отрицательного числа;

· если появляется код 60008 в регистре РС и нули во всех разрядах РД;

· если присутствуют нули во всех разрядах регистров РС и РД.

Количество сдвигов, которое требуется для того чтобы нормализовать 24-х-разрядное число, фиксируется в счетчике сдвигов.

Умножение.

Умножение в вычислительной машине может быть реализовано путем выполнения некоторого циклического процесса, который сводится к последовательности операций прибавления множимого к сумме уже ранее вычисленных частных произведений и сдвига получаемых сумм.

В БВЦ реализован метод умножения младшими разрядами множителя вперед со сдвигом частных произведений и множителя вправо на один разряд.

В каждом цикле множимое либо передается в сумматор, если младший разряд регистра множителя равен 1, либо не передается, если он равен 0, после чего содержимое сумматора и регистра множителя сдвигается вправо на один разряд. После окончания n-го цикла (где n - количество разрядов множителя) в сумматоре образуется произведение. Реализация умножения указанным методом требует сдвига вправо в регистре множителя и в сумматоре и дополнения сумматора n разрядами для заполнения их младшими разрядами произведения.

Вычисление произведения с полным количеством разрядов может быть выполнено без добавления к сумматору n разрядов. Для этого можно, связав младший разряд сумматора со старшим разрядом регистра множителя, объединить их в общий сдвиговый регистр (рис.2.9). Освобождающиеся при сдвиге старшие разряды регистра множителя заполняются младшими разрядами произведения. После окончания умножения сумматор заполняется старшими разрядами произведения, а весь регистр множителя - младшими его разрядами.

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

Рассмотрим примеры умножения с поразрядным анализом младшего разряда множителя, представленного в дополнительном коде.

Если множимое А>0 и множитель В>0, представленные n-разрядными прямыми кодами [A]пр и [Впр], то положительное произведение [С] получается в прямом коде просто как

[С]пр.=[А]пр?[B]пр

Прямой код множимого [А]пр умножается на каждую цифру прямого кода [В]пр. Если младший разряд множителя равен 1, то частное произведение, равное множимому, прибавляется к накопленной сумме частных произведений. Полученная новая сумма и множитель сдвигаются на разряд вправо и освобождающие при сдвиге старшие разряды регистра множителя заполняются младшими разрядами произведения. Если младший разряд множителя равен 0, то и очередное частное произведение равно 0. При этом этап суммирования пропускается, а происходит только сдвиг на разряд вправо множителя и суммы частных произведений, накопленной к данному шагу умножения.

Если множимое А>0 и множитель В<0, то в результате перемножения должно получиться отрицательное произведение в дополнительном коде, однако непосредственное умножение [А]пр.? [В]доп. без специальной коррекции приводит к псевдопроизведению. Для того чтобы получить точное произведение, необходимо алгоритм умножения, если множитель отрицательный, строить в соответствии с формулой:

[C]доп.=[А]пр?[В]доп+[-А]доп.

5. Программное управление вычислительным процессом

Один из принципов построения ЭВМ, предложенных Дж. фон Нейманом - наличие хранимой в памяти программы. Процессор исполняет программный код, находящийся к моменту исполнения в пространстве памяти. Программный код - это последовательность команд, или инструкций,каждая из которых определенным образом закодирована и расположена в целом числе смежных байт памяти. Каждая инструкция обязательно имеетоперационную часть, несущую процессору информацию о требуемых действиях. Операндная часть, указывающая процессору, где находится его "предмет труда" - операнды, может присутствовать в явном или неявном виде и даже отсутствовать. Операндная часть может описывать от нуля до двух операндов, участвующих в данной инструкции (есть инструкции, в которые кроме двух операндов задается еще и параметр инструкции). Здесь могут быть сами значения операндов (непосредственные операнды); явные или неявные указания на регистры процессора, в которых находятся операнды; адрес ячейки памяти (или его составная часть); регистры процессора, участвующие в формировании адреса, и разные комбинации этих компонент. Длина инструкции в семействе x86 может быть от одного до 12 байт и определяется типом инструкции. Исторически сложившийся формат инструкций х86 довольно сложен, и "понять", сколько байт занимает конкретная инструкция, процессор может, лишь декодировав ее первые 1-3 байт. Инструкции могут предшествовать префиксы (к счастью, всегда однобайтные), указывающие на изменение способа адресации, размера операнда или (и) необходимость многократного (по счетчику и условию) повторения данной инструкции. Адрес (логический) текущей исполняемой инструкций хранится в специальном регистре - указателе инструкций (Instruction Pointer, IP), который соответствует счетчику команд фон-неймановской машины. После исполнения так называемой линейной инструкции этот указатель увеличивает свое значение на ее длину, то есть указывает на начало следующей инструкции. Линейная инструкция не нарушает порядок выполнения, определяемый последовательностью расположения инструкций в памяти (по нарастанию адреса). Кроме линейных инструкций, существуют инструкции передачи управления, среди которых различают инструкции переходов и вызовов процедур. Эти инструкции в явном или неявном виде содержат информацию об адресе следующей выполняемой инструкции, который может указывать на относительно произвольную ячейку памяти. Инструкции переходов и вызовов могут быть безусловными (ни от чего не зависящими) и условными. Произойдет условный переход (вызов) или нет, зависит от состояния флагов (признаков) на момент исполнения данной инструкции. Если переход (вызов) не состоится, то исполняется инструкция, расположенная в памяти следом за текущей. Вызов процедуры характерен тем, что перед ним процессор сохраняет в стеке (стек - это область ОЗУ) адрес следующей инструкции, и на этот адрес передается управление после завершения исполнения процедуры (этот адрес извлекается из стека при выполнении инструкции возврата). При переходе в стеке ничего не сохраняется, то есть переход выполняется безвозвратно.

Последовательность исполнения инструкций, предписанная программным кодом, может быть нарушена под воздействием внутренних или внешних (относительно процессора) причин. К внутренним причинам относятся исключения (exceptions) - особые ситуации, возникающие при выполнении инструкций. Наглядным примером исключений является попытка деления на ноль. При возникновении условия исключения процессор автоматически выполняет вызов процедуры обработки исключения, после которой он может вернуться к повторному исполнению инструкции, породившей исключение или следующей за ней. Вариант поведения зависит от типа произошедшего исключения. Исключения широко используются современными операционными системами, на основе обработки исключений строится система виртуальной памяти и реализуются многие функции многозадачных операционных систем. Внешними причинами изменения нормальной последовательности инструкций являются аппаратные прерывания - вызовы процедур под воздействием электрических сигналов, поступающих на специальные выводы процессора. Эти сигналы могут подаваться совершенно неожиданно для исполняемой программы, правда, у программиста есть возможность заставить процессор (компьютер) игнорировать все прерывания или их часть. Злоупотреблять этой возможностью нельзя (да и не всегда она есть), поскольку на аппаратных прерываниях строится, например, отсчет времени и другие системные и прикладные функции компьютера. Источниками аппаратных прерываний являются контроллеры и адаптеры периферийных устройств, генераторы меток времени, системы управления питанием и другие подсистемы.

Есть еще так называемые программные прерывания, но они отнюдь не нарушают последовательность инструкций, предписанную программистом. Поэтому прерываниями они по сути не являются - это всего лишь особый способ вызова процедур, широко используемый для вызова системных сервисов BIOS и операционной системы. И наконец, последовательность инструкций может изменяться по сигналу аппаратного сброса или инициализации процессора. С этого, собственно, и начинается функционирование компьютера: процессор переводится в исходное состояние и запускается. При этом указатель инструкций совместно с другими регистрами, участвующими в формировании адреса инструкции, генерирует адрес "начального пуска". По этому адресу должна располагаться инструкция, с которой начинается инициализация компьютера.

В процессоре предусматривается возможность выполнения большого числа различных операций. Несмотря на то что число таких операций может быть более 100, каждая из них представляет собой простейшие арифметические либо логические действия, такие, например, как сложение, вычитание, умножение и деление чисел, пересылка кодов и т.п. При этом в каждой операции участвует не более двух операндов. В связи с этим решаемая задача должна быть предварительно представлена последовательностью таких операций, которые способна выполнять ЭВМ. Затем на каждую из этих операций должна быть составлена так называемая команда. Совокупность команд, образующая программу решения задачи, должна быть помещена в ОЗУ.

Команда должна содержать все необходимые для выполнения операции указания: вид операции, место, где хранятся операнды данной операции и куда должен быть помещен результат операции. Такая команда имеет следующий формат:

Здесь КОп -- код операции. В каждой ЭВМ предусматривается определенная система кодирования операций. Например, может быть принят следующий способ записи вида операции: 01 -- сложение, 02 -- вычитание, 03 -- умножение и т.д.; А1 -- первый адрес -- адрес ячейки оперативной памяти, в которой хранится первый операнд; А2 -- второй адрес -- адрес второго операнда; А3 -- третий адрес -- адрес ячейки оперативной памяти, в которую должен помещаться результат операции. Команда с таким содержанием называется трехадресной.

Результат операции в этом случае помещается в ячейку одного из операндов либо остается в АЛУ.

При таком формате для выполнения одного арифметического действия над двумя числами от машины может потребоваться исполнение нескольких команд. Например, для сложения двух чисел необходимо выполнить три команды:

· ввести в АЛУ число, хранящееся в оперативной памяти (ОЗУ) по приведенному в команде адресу;

· прибавить к принятому числу число, хранящееся в памяти по указанному в команде адресу;

· поместить полученный в АЛУ результат в память по адресу, указанному в данной команде.

Широкое распространение получили машины с переменной адресностью. В них при выполнении операций операнды (один либо оба) могут выбираться не из оперативной памяти, а из местной (СОЗУ). Команды этих машин по существу являются двухадресными, но оба адреса либо один из них могут быть адресами не оперативной памяти, а регистров местной памяти АЛУ.

Рассмотрим взаимодействие устройств ЭВМ в процессе решения задачи. Для определенности примем, что рассматриваемая ЭВМ является трехадресной. Перед решением задачи набор команд, образующий программу решения, помещается в последовательные ячейки оперативной памяти так, что адрес ячейки, содержащей следующую команду, на единицу больше адреса ячейки, в которую помещена предыдущая команда.

Процесс реализации программы состоит в последовательной выборке из ОЗУ команд и их исполнении. Вызванная из ОЗУ в устройство управления (УУ) очередная команда хранится в нем все время исполнения операции. УУ выбирает из команды первый адрес А1, пересылает его в ОЗУ и подает сигнал считывания. Из ОЗУ выдается первый операнд. УУ подает в АЛУ сигнал отпирания входов регистра, в который должен быть принят этот операнд. Аналогично по второму адресу А2 производится передача из ОЗУ в АЛУ второго операнда. Затем УУ подает в АЛУ управляющие сигналы, под действием которых выполняется предусмотренная командой операция. После получения результата операции УУ передает в ОЗУ третий адрес А3, подает сигнал записи и открывает выход регистра АЛУ, хранящего результат операции.

Далее в ОЗУ передается адрес очередной команды, сформированной в УУ (например, путем увеличения на единицу адреса предыдущей команды), в УУ поступает следующая команда и т.д.

6. Система команд специализированного вычислителя БВЦ ТАКТ51

Состав системы команд и структура команд неразрывно связаны с архитектурой вычислительной системы.

В блоке цифрового вычислителя ТАКТ.51.51.000, как и во всех цифровых машинах с программным управлением, процесс переработки информации в итоге слагается из выполнения последовательности арифметических, логических и других операций. Тип каждой исполняемой операции, местоположение операндов, указание, куда поместить результат, и другая необходимая управляющая информация определяются командой, представленной в виде условного двоичного кода.

Система команд блока цифрового вычислителя - одноадресная. Для выполнения каждой операции требуется отдельная команда. При работе вычислителя команды исполняются одна за другой, так как они расположены в последовательных ячейках памяти, за исключением команд передачи управления, пропуска и обработки прерывания.

Текущий адрес команды находится в счетчике команд (СК). При естественном порядке выполнения команд из последовательных ячеек памяти СК увеличивается на единицу после выборки однословной команды и на два после выборки двухсловной команды.

Виды адресации в БВЦ:

· абсолютная и относительная (страничная);

· прямая и косвенная.

Адресация ячеек памяти в ОЗУ и ПЗУ БВЦ сквозная, начиная с ОЗУ. Диапазон адресов ОЗУ 00008-07778, диапазон адресов ПЗУ 10008-77778. Для обеспечения возможности обращения в любую ячейку памяти с помощью 12-разрядной команды в БВЦ используется страничная организация памяти. С этой целью вся память делится на страницы. Так как общий объем памяти 4096 ЯП (5I2 - ОЗУ, 3584 - ПЗУ), то память имеет всего 32 страницы. Нумерация страниц проводится в двоичном коде, начиная с нулевой страницы ОЗУ. Длина страницы памяти составляет 128 (2008) ЯП, поэтому в ОЗУ располагаются только четыре первые страницы, начиная с нулевой. Таким образом, максимальный относительный адрес равен 01778, т.е. в пределах текущей страницы, а максимальный абсолютный - 77778.

Адресные команды обращения к памяти могут непосредственно адресовать одно из 256 слов: 128 слов в нулевой странице и 128 слов в текущей странице. Текущей страницей называется страница памяти, в которой хранится выполняемая команда.

В адресной команде выделен один разряд (4-й разряд - признак страницы ПСТ), указывающий, к какой странице производится обращение - к нулевой (если 4-й разряд содержит 0) или текущей (если 4-й разряд содержит 1). Для обращения к любой другой странице введено понятие косвенной адресации.

При косвенной адресации в адресной части команды указывается адрес ЯП, в который записан 12-разрядный адрес слова. При непосредственной (прямой) адресации, в отличие от косвенной, в адресной части команды указывается адрес ЯП, в который записано само слово. Для записи признака прямой или косвенной адресации в команде также выделен один разряд (3-й разряд - признак адресации ПКА). При наличии 1 в 3-м разряде выполняется косвенная адресация, а, при 0 - прямая.

На нулевой странице находятся модифицируемые ячейки памяти (в диапазоне 00108-00178). При обращении к ячейкам памяти из этого диапазона их содержимое сначала увеличивается на единицу, а уже затем выполняется предписанное действие.

Система команд вычислителя имеет обширный набор команд, обеспечивающий выполнение более 260 видов операций. По назначению команды вычислителя можно сгруппировать в следующие классы:

· адресуемые команды или команды обращения к памяти;

· безадресные команды;

· специальные команды;

· арифметические команды;

· команды управления дополнительной памятью;

· команды обмена с внешними устройствами.

Рассмотрим каждый класс команд отдельно.

1. Адресные (адресуемые) команды.

В адресных (адресуемых) командах кроме КОДа указывается адрес ЯП ЗУ, к которой необходимо обратиться за очередным адресом, операндом или для записи результата выполнения действия. Адресных команд шесть.

Это команды:

· Логическое умножение (КОД 0002) - И;

· Сложение (КОД 0012) - СЛ;

· Конец цикла (КОД 0102) - КЦ;

· Запись (КОД 0112) - ЗРС;

· Безусловная передача управления с возвратом (КОД 1002) - БВП;

· Безусловная передача управления (КОД 1012) - БП.

Логическое умножение.

Код команды 000 показывает, что это команда "Логическое умножение", которая определяет операцию конъюнкций

РС:=РС? П[А]

Регистру сумматора присваивается значение регистра сумматора, поразрядно логически умноженное на содержимое ЯП по адресу "А" согласно правилу логического умножения. Разряд знака умножается на общих основаниях. После выполнения операции содержимое ЯП с адресом "А" не изменяется.

Сложение.

Код команды 0012 показывает, что это адресная команда "Сложение", которая определяет операцию:

РС:=РС+П[А]

В РС после выполнения данной команды будет занесено значение бывшего в РС операнда, суммированное со значением операнда, взятым из памяти по адресу "А" (адресу слова).

Конец цикла.

Код команды 0102 показывает, что это команда "конец цикла", которая определяет операцию

П[А]:=П[А]+1

По этой команде производится алгебраическое сложение содержимого ЯП с адресом "А" с единицей. Результат снова заносится в ЯП с адресом "А" и анализируется. Если содержимое ЯП не равно нулю, то выполняется очередная команда, обеспечивающая возврат к началу цикла. Адрес этой команды формируется в счетчике команд в результате операции

СК:=СК+1

Как только в ЯП появится ноль, содержимое СК увеличится на два

СК:=СК+2

и следующая команда (команда зацикливания "БП") пропускается. Таким образом, прекращается выполнение цикла и идет продолжение программы.

Запись.

Код команды 0112 показывает, что это команда "Запись", которая определяет операции

П[А]:=РС; РС:=0.

В ЯП по адресу "А" записывается содержимое РС, после чего РС обнуляется. Предыдущее значение ЯП стирается.

Безусловная передача управления с возвратом.

Код команды 1002 показывает, что эта команда "Безусловная передача управления возвратом", которая определяет операции:

П[А]:=СК+1; СК:=П[А+1].

В ЯП по адресу "А" записывается содержимое СК, увеличенное на единицу (сформированный адрес возврата на продолжение программы). Управление передается команде, адрес которой находится в ЯП "А+1". В конце подпрограммы выполняется команда БП на ЯП с адресом "А".

Безусловная передача управления.

Код команды 1012 показывает, что эта команда "Безусловная передача управления", которая определяет операцию

СК:=П[А]

Управление передается команде, адрес которой находится в ЯП с адресом "А", для чего содержимое ЯП записывается в СК. Таким образом, обеспечивается безусловный переход на другие участки программы.

Команды обмена с внешними устройствами

Команды обмена с внешними устройствами имеют КОД 68. С помощью команд обмена осуществляется обмен информацией между ВЧУ и периферийными блоками (устройствами) по интерфейсному каналу и прием информации от блока ввода данных БВД. К этой же группе команд относятся команды управления режимом обмена и обработки прерывания интерфейса, а также команды управления дополнительной памятью.

Безадресные команды.

Безадресные команды имеют КОД 78 (1112). Команды этого типа не требуют обращения к памяти. В них 3...11-й разряды используются под код операции. Все безадресные команды делятся на две основные группы. Первая группа характеризуется наличием 0 в 3-м разряде. Вторая группа безадресных команд характеризуется единицей в 3-м разряде и нулем в 11-м разряде.

Команды этой группы служат для кодирования операций обнуления и инвертирования регистра сумматора и дополнительного триггера, циклического сдвига РС в ТД вправо (влево) на один (два) разряда и увеличения на "1" содержимого РС.

Команды этой группы служат для кодирования операций обнуления РС, останова программы и операций, осуществляющих различного рода пропуски следующей команды по условию.

Специальные команды имеют код 78 и характеризуются наличием 1 в 8-м и 9-м разрядах. Специальные команды служат для кодирования операций: записи в РС содержимого регистров маски, ошибок, состояния программы и счетчика времени, установки и сброса регистров маски и маски контроля, записи содержимого счетчика команд в память, выдачи требуемой последовательности импульсов, проверки схем контроля. Для кодирования этих операций служат 4, 5, 10 и 11-й разряды. Специальные команды бывают одно- и двухсловные.

Однословные специальные команды.

Количество однословных специальных команд - восемь. Однословные команды не требуют обращения к памяти (за исключением команды "ЗСК").

Двухсловные специальные команды.

К двухсловным специальным командам относятся: команды обращения к устройству выдачи последовательностей и команда проверки контроля (идентификатор - ПК). Команда ПК используется для проверки исправности следующих схем контроля: тактового генератора, блока местного управления ОЗУ, на четность СК, РА, РЧ, РК и др. Проверка осуществляется путем имитации неисправности отдельно в каждом из контролируемых устройств. Если проверяемая схема контроля исправна, то возникает прерывание по аппаратному контролю. Если схема контроля неисправна, то управление передается следующей команде. Команда ПК занимает две расположенные друг за другом ячейки памяти. В первой ячейке записывается сама команда, во второй - слово, где в соответствующих разрядах указывается проверяемая схема контроля.

Арифметические команды.

Арифметические команды имеют код 78 и характеризуются наличием "1" в 3-м и 11-м разрядах. Команды этого типа имеют идентификатор "АК" и делятся на две группы. К первой группе относятся однословные команды, не требующие обращения к памяти. Арифметические команды второй группы являются двухсловными и требуют обращения к памяти.

Однословные арифметические команды.

Разряды 4, 5, 6, 7 и 10 в командном слове используются для кодирования операций обмена между регистрами РС, РД (регистр дополнительный) и СС (счетчик сдвигов). Однословные арифметические команды микропрограммируются для выполнения непротиворечивых логических операций.

Двухсловные арифметические команды.

Команды инвертирования, умножения и деления, сдвиги влево и вправо. Команды этого типа занимают две расположенные друг за другом ячейки памяти. В первой ячейке записывается собственно команда, во второй - операнд или адрес ячейки, в которой находится операнд. В арифметическом регистре команд (РКА) устройства управления записываются 6, 8, 9 и 10-й разряды командного слова, которые определяют код арифметической операции. Тип информации (операнд или адрес операнда), расположенной во втором слове арифметической команды, определяется специальным триггером модификации ТМ.

Размещено на Allbest.ru

...

Подобные документы

  • Понятие и функции комплексных чисел. Правила выполнения арифметических операций с комплексными числами. Действия с комплексными числами: сложение, вычитание, произведение, деление. Программная реализация решения задачи. Пример выполнения программы.

    курсовая работа [398,8 K], добавлен 01.02.2010

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

    контрольная работа [824,4 K], добавлен 17.11.2010

  • Преимущества позиционных систем счисления: наглядность представления чисел и простота выполнения вычислений. Правила выполнения арифметических действий над двоичными числами в прямом, обратном и дополнительном кодах. Перевод в другие системы счисления.

    курсовая работа [59,9 K], добавлен 31.05.2009

  • Теоретическое изучение системы проведения арифметических операций над двоичными числами. Создание описания операций умножения и блок-схемы алгоритма её выполнения. Определение набора управляющих сигналов и синтез схемы арифметико-логического устройства.

    курсовая работа [169,3 K], добавлен 25.12.2012

  • Арифметические операции с целыми числами. Сложение и вычитание в дополнительном коде. Представление чисел в формате с плавающей точкой. Особенности выполнения арифметических операций в соответствии с IEEE. Точность выполнения арифметических операций.

    контрольная работа [5,6 M], добавлен 19.05.2010

  • Создание программы ввода с клавиатуры двух чисел в 9-ричной системе счисления размером с слово, выполнение над ними деления и вывода результата в исходной системе счисления. Программа предусматривает контроль вводимой информации и результат операции.

    лабораторная работа [11,3 K], добавлен 13.02.2009

  • Периодизация развития электронных вычислительных машин. Счетные машины Паскаля и Лейбница. Описаний эволюционного развития отечественных и зарубежных пяти поколений электронных вычислительных машин. Сущность внедрения виртуальных средств мультимедиа.

    доклад [23,6 K], добавлен 20.12.2008

  • Проведение четырех основных арифметических операций над целыми числами – подзадача, реализованная в большинстве пользовательских программ. Реализация многоэтапных алгоритмов вычисления. Список макросов, процедур и описание их функциональной нагрузки.

    курсовая работа [25,9 K], добавлен 17.05.2013

  • Принципы, которые положены в основу построения большинства электронных вычислительных машин. Сущность принципа двоичного кодирования и программного управления. Структурный состав основной памяти. Основные блоки ЭВМ по Джону фон Нейману: память, процессор.

    презентация [96,2 K], добавлен 01.04.2010

  • Понятие и классификация систем счисления. Перевод чисел из одной системы счисления в другую. Перевод правильных и неправильных дробей. Выбор системы счисления для применения в ЭВМ. Навыки обращения с двоичными числами. Точность представления чисел в ЭВМ.

    реферат [62,0 K], добавлен 13.01.2011

  • Изучение структуры компьютера и принципов его функционирования. Центральный процессор и основной цикл его работы. Выполнение арифметических операций в ЭВМ. Разработка программы реализации арифметического выражения и отладка ее с помощью отладчика TD.

    контрольная работа [87,3 K], добавлен 12.03.2011

  • Разработка программы для выполнения арифметических операций с комплексными числами. Разработка эскизного проекта. Диаграмма последовательностей и классов. Разработка и описание программы. Разработка программного кода и руководства пользователя.

    курсовая работа [1,2 M], добавлен 25.11.2011

  • Ранние приспособления и устройства для счета. Появление перфокарт, первые программируемые машины, настольные калькуляторы. Работы Джона Фон Неймана по теории вычислительных машин. История создания и развития, поколения электронно-вычислительных машин.

    реферат [37,7 K], добавлен 01.04.2014

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

    реферат [29,2 K], добавлен 10.12.2012

  • Арифметические операции над числами, представленными в различных системах счисления. Представление чисел в компьютере. Элементы вычислительных машин. Информационная и аналитическая модели решения задачи. Работа с MS Excel и текстовым редактором MS Word.

    курсовая работа [1,0 M], добавлен 25.04.2013

  • Двоично-десятичный формат (BCD - Binary Coded Decimal). Преобразование ASCII формата в двоичный формат. Арифметические инструкции и флаги. Форматы арифметических данных. Выполнение арифметических операции. Сложение. Вычитание. Умножение. Деление.

    доклад [16,2 K], добавлен 22.09.2008

  • Проектирование блоков устройства контроля по модулю три матричного умножителя с сокращением вычислений для обработки мантисс чисел с плавающей точкой. Методика выполнения арифметических операций, порядок обработки мантисс по n-разрядным операндам.

    курсовая работа [125,2 K], добавлен 24.09.2010

  • Выбор принципов проектирования устройства записи, хранения и передачи чисел. Разработка алгоритма выполнения операций, необходимых для обработки информации. Структурная схема устройства. Элементарная база, необходимая для разработки принципиальной схемы.

    курсовая работа [1,3 M], добавлен 16.08.2012

  • Изучение принципа работы цифрового автомата для сложения двоичных чисел, представленных в форме с фиксированной запятой, на базисе алгебры Буля. Правила построения операционных и функциональных схем отдельных устройств, логических систем и функций.

    курсовая работа [1,2 M], добавлен 24.01.2014

  • Создание приложения, обеспечивающего ввод двух целых чисел и выполнение над ними арифметических операций сложения, умножения и вещественного деления. Разработка приложения, предлагающего ввести текст, а затем заменить символы "а" на "б" в тексте.

    лабораторная работа [21,4 K], добавлен 15.07.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.