Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Отладочный пульт и устройства ввода-вывода базовой ЭВМ

ОРГАНИЗАЦИЯ ВВОДА-ВЫВОДА ИНФОРМАЦИИ В ЭВМ НА ПРИМЕРЕ БАЗОВОЙ ЭВМ

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

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

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

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

Ручные операции. Все ручные операции выполняются только тогда, когда тумблер РАБОТА/ОСТАНОВ находится в положении ОСТАНОВ.

Ввод программы и (или) данных. При этом осуществляются следующие шаги:

1) набрать на клавишном регистре (АДРЕС/ДАННЫЕ) адрес ячейки, в которую надо занести команду или число (для набора единицы тумблер должен быть установлен в положение от себя, а для набора нуля — в противоположное положение);

2) нажать кнопку ВВОД АДРЕСА (это приведет к переписи содержимого клавишного регистра в счетчик команд);

3) набрать на клавишном регистре код команды или числа;

4) нажать кнопку ЗАПИСЬ (это приведет к переписи содержимого счетчика команд в регистр адреса, а содержимого клавишного регистра — в регистр данных и далее в ячейку памяти, на которую указывает регистр адреса).

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

Чтение программы и (или)данных. Два первых шага такие же, как при вводе команд (данных). Затем нажимается кнопка ЧТЕНИЕ, что приводит к переписи в регистр данных содержимого ячейки, на которую указывает регистр адреса, и к наращиванию на единицу содержимого счетчика команд. Таким образом, для просмотра содержимого следующей по порядку ячейки достаточно лишь снова нажать кнопку ЧТЕНИЕ.

Подготовка к исполнению программы. Перед подачей приказа на выполнение программы, введенной в память ЭВМ, в счетчик команд должен быть занесен адрес первой исполняемой команды этой программы (пусковой адрес). Для этого тумблер РАБОТА/ОСТАНОВ переводится в положение ОСТАНОВ, на клавишном регистре набирается пусковой адрес программы и нажимается кнопка ВВОД АДРЕСА.

Затем производится операция по установке требуемого режима выполнения программы: автоматического (команда за командой с остановом после выполнения команды HLT или по приказу с отладочного пульта) или пошагового (по отдельным командам, машинным циклам или тактам). Автоматический режим подготавливается переводом тумблера РАБОТА/ОСТАНОВ в положение РАБОТА. Для подготовки пошагового режима надо перевести этот тумблер в положение ОСТАНОВ и установить должным образом тумблеры ЦИКЛ и (или) ТАКТ. Выключение тумблеров (на себя) подготавливает режим работы по командам, включение тумблера ЦИКЛ — по машинным циклам, включение тумблера ТАКТ — по тактам, одновременное включение тумблеров ЦИКЛ и ТАКТ — по тактам.

Рис. 1. Отладочный пульт базовой ЭВМ


Исполнение программы. Исполнение всей программы (подготовлен автоматический режим) можно инициировать двумя способами: нажатием кнопки ПУСК или кнопки ПРОДОЛЖЕНИЕ.

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

При нажатии кнопки ПРОДОЛЖЕНИЕ устанавливается режим ПРОГРАММА и начинается выполнение программы с той команды (того машинного цикла и его такта), накоторой было прервано ее выполнение. Если до этого осуществлялись операции по занесению пускового адреса программы, то выполнение начнется с выборки команды, расположенной по этому адресу, при использовании «старых» (не равных нулю) содержимых основных регистров ЭВМ.

Так как пусковая команда (CLA) обнуляет аккумулятор, то выполнение этих программ можно с равным успехом инициировать как кнопкой ПУСК, так и кнопкой ПРОДОЛЖЕНИЕ.

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

Последовательное выполнение отдельных команд или машинных циклов (в зависимости от подготовленного ранее режима) инициируется нажатием кнопки ПРОДОЛЖЕНИЕ.


Таблица 1 Программа умножения двух чисел

Если установлен режим ТАКТ, то нажатие кнопки ПРОДОЛЖЕНИЕ приводит к выполнению лишь первого такта по переходу к выборке команды, после чего ЭВМ не реагирует на нажатие этой кнопки, но зато реагирует на нажатие кнопки ВВОД N. С помощью последней можно исполнить все микрокоманды реализуемой команды, и когда будет исполнена последняя, ЭВМ перестанет реагировать на нажатие кнопки ВВОД N. Для выполнения по тактам следующей команды программы надо опять нажать один раз кнопку ПРОДОЛЖЕНИЕ, а затем нажимать кнопку ВВОД N до тех пор, пока ЭВМ не перестанет реагировать на эти приказы.

Из пошагового режима выполнения программы в любой момент можно перейти к ее автоматическому выполнению. Для этого тумблер РАБОТА/ОСТАНОВ переводится в положение РАБОТА и нажимается кнопка ПРОДОЛЖЕНИЕ.

Переход из автоматического режима в пошаговый осуществляется с помощью переключения тумблера РАБОТА/ОСТАНОВ в положение ОСТАНОВ. При этом ЭВМ заканчивает выполнение всех циклов текущей команды и останавливается. Теперь после просмотра на индикаторах пульта состояния основных устройств ЭВМ можно продолжить выполнение программы либо в автоматическом режиме (вернуть тумблер РАБОТА/ОСТАНОВ в положение РАБОТА и нажать кнопку ПРОДОЛЖЕНИЕ), либо по командам, машинным циклам или тактам.

Отладка программ. Ранее отмечалось, что возможность пошагового выполнения программы позволяет ускорить процесс ее отладки. Для иллюстрации этого утверждения рассмотрим отладку программы на ранее рассмотренном примере. Эта программа предназначена для умножения двух чисел (в примере сомножители равны 5 и 120= (78)16). В табл. 1 программа представлена в символической (как в примере), шестнадцатеричной и двоичной формах, причем последние две — правильная и ошибочная (вместо команды BR 1 записана команда BR 0 и вместо числа —5 — число —3).

После выполнения программы в автоматическом режиме аккумулятор (в котором должно располагаться произведение 120×5 = 600= (258)16) содержал число (0000 0000 0111 1000)2= (78)16= (120)10. Создалось впечатление, что в ячейке 11 вместо числа —5 записано число —1. Однако в процессе выполнения программы к содержимому этой ячейки последовательно добавлялись единицы, и в конце ее содержимое стало равно нулю. Следовательно, теперь уже не установить первоначального содержимого ячейки 11.

Повторное выполнение программы (после восстановления содержимого ячейки 11) дало тот же результат, и было принято решение выполнять программу по командам, занося результаты ее выполнения в табл. 2.

В процессе выполнения команд выясняется, что в ячейку 11 было занесено число —3 вместо числа —5. Однако это не могло дать результата, равного (78)16, так как (78)16×3≠(78)16. Поэтому продолжаем поиск ошибки.

Таблица 2.Выполнение команд программы умножения двух чисел


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

Могут возникнуть вопросы: «Надо ли было проверять программу путем последовательного выполнения команд? Не лучше ли просто внимательно проверить коды этих команд?» Если пользователь имеет правильный вариант кодировки, то тщательная проверка содержимого памяти помогает нахождению ошибок. Однако при большом объеме программы, когда приходится проверять сотни и тысячи 0 и 1, довольно быстро притупляется внимание и ошибки пропускаются. Кроме того, есть еще ошибки, которые возникли на этапе программирования: коды команд в памяти ЭВМ и на бумаге совпадают, но не соответствуют заданному алгоритму. Эта ситуация обнаруживается лишь при выполнении программы на ЭВМ.

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

В базовой ЭВМ, которая создавалась для обучения принципам функционирования ЭВМ, используются простейшие ВУ: два устройства ввода (ВУ-1и ВУ-2) и одно устройство вывода (ВУ-3), размещенные на отладочном пульте (рис. 1). Устройство ввода представляет собой 8-разрядный тумблерный регистр и кнопку (ГОТОВ) для выдачи сигнала о том, что информация, набранная с помощью тумблеров, может быть считана в ЭВМ. Устройство вывода представлено 8-разрядным регистром, состояние которого высвечивается на отладочном пульте, и кнопкой (ВВОД N) для выдачи сигнала о том, что информация может быть принята в этот регистр.

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

Контроллеры связаны с процессором шинами ввода и вывода информации, шиной адреса и шиной управления, по которой передаются приказы от процессора в контроллеры ВУ и сведения о состоянии ВУ в процессор.

 

<== предыдущая лекция | следующая лекция ==>
Изменение условий Договора, его продление и прекращение возможно по соглашению сторон в любое время | Организация ввода-вывода. Устройства ввода-вывода передают в ЭВМ и получают из нее, как правило, большой объем информации, который не может быть размещен только в регистрах процессора
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 431; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.