CARDboard Иллюстративное пособие для вычислений

редактировать

CARDIAC (CARDIAC) - это учебное пособие, разработанное Bell Telephone Laboratories и для него в 1968 году, чтобы научить старшеклассников, как работают компьютеры. В комплект входит инструкция по эксплуатации и высеченный из картона «компьютер».

Компьютер «работает» с помощью карандаша и скользящих карточек. Любая арифметика производится в голове человека, работающего на компьютере. Компьютер работает с базой 10 и имеет 100 ячеек памяти, которые могут содержать числа со знаком от 0 до ± 999. Он имеет набор из 10 инструкций, который позволяет CARDIAC складывать, вычитать, тестировать, сдвигать, вводить, выводить и переходить.

Содержание
  • 1 Аппаратное обеспечение
  • 2 Программирование
  • 3 Набор команд
  • 4 Работа
  • 5 См. Также
  • 6 Внешние ссылки
Аппаратное обеспечение
Передняя панель устройства CARDIAC

«ЦП » компьютера состоит из 4 слайдов, на которых перемещаются различные числа и стрелки, чтобы поток реального ЦП (мозг пользователя) двигался в правильном направлении. У них есть один флаг (+/-), на который влияет результат в аккумуляторе.

Память состоит из второй половины картонного выреза. Есть 100 ячеек. Ячейка 0 - это «ROM », всегда содержащая числовую «1»; ячейки с 1 по 98 - «RAM »; доступны для инструкций и данных; а ячейку 99 лучше всего описать как «EEPROM ».

Ячейки памяти содержат знаковые десятичные числа от 0 до ± 999 и записываются карандашом. Клетки стираются ластиком. Предусмотрен «жучок», который действует как счетчик программы, и помещается в отверстие рядом с текущей ячейкой памяти.

Программирование

CARDIAC имеет 10 инструкций машинного языка. Инструкция состоит из трех десятичных цифр (знак игнорируется) в форме OAA. Первая цифра - это код операции (O); вторая и третья цифры - это адрес (AA). Адресация представляет собой одно из: абсолютная память - абсолютная память, абсолютная память - аккумулятор, ввод - абсолютная память и абсолютная память - вывод.

Языки высокого уровня никогда не разрабатывались для CARDIAC, поскольку они нарушили бы одну из целей устройства: представить концепции программирования на языке ассемблера.

Программы собираются вручную, а затем заносятся в соответствующие ячейки памяти.

Набор команд
CARDIAC Instruction Set
OpcodeMnemonicInstructionОписание
0INPВходвзять номер с карты ввода и поместить его в указанную ячейку памяти.
1CLAОчистить и добавитьочистить аккумулятор и добавить содержимое ячейки памяти в аккумулятор.
2ADDДобавитьдобавить содержимое ячейки памяти в аккумулятор.
3TACПроверка содержимого аккумуляторавыполняет проверку знака содержимого аккумулятора; если минус, переход к указанной ячейке памяти.
4SFTShiftсдвигает аккумулятор на x позиций влево, затем на y позиций вправо, где x - это верхняя цифра адреса, а y - нижняя.
5OUTВыходберет число из указанной ячейки памяти и записывает его на карту вывода.
6STOStoreкопирует содержимое аккумулятора в указанную ячейку памяти.
7SUBSubtractвычитает содержимое указанной ячейки памяти из аккумулятора.
8JMPПерейтиперейти к указанной ячейке памяти. Текущий номер ячейки записывается в ячейку 99. Это позволяет использовать один уровень подпрограмм, имея в качестве возврата инструкцию в ячейке 99 (первая цифра которой жестко запрограммирована как «8».
9HRSHalt и сброситьпереместить ошибку в указанную ячейку, затем остановить выполнение программы.
Операция

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

См. Также
Внешние ссылки
Последняя правка сделана 2021-05-13 10:04:29
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте