Электроника Д3-28 | это... Что такое Электроника Д3-28? (original) (raw)
Электроника Д3-28
Электроника Д3-28 — настольная вычислительная система, занимающая промежуточное положение между персональными компьютерами и программируемыми калькуляторами. Создан на основе программируемого калькулятора Wang 700[1].Имела встроенную клавиатуру (цифровые и функциональные клавиши), двухстрочный дисплей на семисегментных индикаторах (12 цифр мантиссы, две цифры степени и два индикатора знака в каждой строке) и накопитель на стандартных аудиокассетах. Также оснащалась интерфейсами ИРПР и ИРПС, к которым обычно подключался принтер и алфавитно-цифровой терминал (как правило, 15ИЭ-00-013).
Содержание
- 1 Варианты исполнения
- 2 Архитектура и система команд
- 3 На основе КОИ-7 Н2 в виде русских команд и машинного 4-х значного-шестнадцатеричного кода для электроники ЭВМ дз-28
- 4 Сетевая структура
- 5 Программное обеспечение
- 6 См. также
- 7 Примечания
- 8 Ссылки
Варианты исполнения
ПЗУ на однократно программируемых микросхемах. В некоторых тестовых экземплярах ПЗУ с микропрограммами устанавливались в панельки; существовали специальные прошивки для использования машин в составе специализированных вычислительных комплексов. В некоторых вариантах ПЗУ прошивалось вручную тонким многожильным проводом на матрице из ферритовых колец.
В процессе производства Д3-28 внутреннее программное обеспечение совершенствовалось с добавлением новых команд. Поколения Д3-28 (в соответствии с инструкцией по эксплуатации) делятся на «выпущенные до октября 1979 года», после этой даты и «после 1983 года».
Д3-28 16К
16 килобайт ОЗУ (микросхемы в первых выпусках — К565РУ1, в последующих — К565РУ3 и К565РУ6) Внешне отличалась также красным цветом индикаторов и закрывающего их оргстекла (последующие модели — оранжевые цифры под зелёным стеклом).
Д3-28 32К
Наиболее массовое исполнение. 32 килобайта ОЗУ (микросхемы 565РУ6)
Д3-28 128К
128 килобайт ОЗУ (микросхемы 565РУ5)
В зависимости от исполнения Д3-28 имел возможность подключения к фотосчитывающим устройствам (СП-3 и FS-1501), перфораторам магнитных лент (ПЛ-150М), печатающим машинкам (Consul 256, Consul 260), специальные блоки для подключения терминалов типа 15ИЭ-00-013, а также возможность подключения удаленных устройств дистанционного управления Д3-28. Подключение машинок Consul и терминала превращала Д3-28 в персональный компьютер.
Архитектура и система команд
Система команд У Электроники Д3-28 с объёмом ОЗУ 32К Команды машинно-ориентированного языка Д3-28 кодируются двумя или четырьмя шестнадцатиричными цифрами: на основе КОИ-7(набор2) c командами на русском языке:
На основе КОИ-7 Н2 в виде русских команд и машинного 4-х значного-шестнадцатеричного кода для электроники ЭВМ дз-28
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0. | ПУС 00 00 | НЗ 00 01 | НТ 00 02 | КТ 00 03 | КП 00 04 | КТМ 00 05 | ДА 00 06 | ЗВ 00 07 | ВШ 00 08 | ГТ 00 09 | ПС 00 10 | ВТ 00 11 | ПФ 00 12 | ВК 00 13 | ВЫХ 00 14 | ВХ 00 15 |
1. | АР1 01 00 | (СУ1) 01 01 | (СУ2) 01 02 | (СУ3) 01 03 | СТП 01 04 | НЕТ 01 05 | СИН 01 06 | КБ 01 07 | АН 01 08 | КН 01 09 | ЗМ 01 10 | АР2 01 11 | РФ 01 12 | РГ 01 13 | РЗ 01 14 | РЭ 01 15 |
2. | ПРОБЕЛ 02 00 | ! 02 01 | ” 02 02 | # 02 03 | ¤ 02 04 | % 02 05 | & 02 06 | ′ 02 07 | ( 02 08 | ) 02 09 | * 02 10 | + 02 11 | ’ 02 12 | - 02 13 | . 02 14 | / 02 15 |
3. | 0 03 00 | 1 03 01 | 2 03 02 | 3 03 03 | 4 03 04 | 5 03 05 | 6 03 06 | 7 03 07 | 8 03 08 | 9 03 09 | : 03 10 | ; 03 11 | < 03 12 | {{{2}}} 03 13 | > 03 14 | ? 03 15 |
4. | @ 04 00 | A 04 01 | B 04 02 | C 04 03 | D 04 04 | E 04 05 | F 04 06 | G 04 07 | H 04 08 | I 04 09 | J 04 10 | K 04 11 | L 04 12 | M 04 13 | N 04 14 | O 04 15 |
5. | P 05 00 | Q 05 01 | R 05 02 | S 05 03 | T 05 04 | U 05 05 | V 05 06 | W 05 07 | X 05 08 | Y 05 09 | Z 05 10 | [ 05 11 | \ 05 12 | ] 05 13 | ¬ 05 14 | _ 05 15 |
6. | Ю 06 00 | А 06 01 | Б 06 02 | Ц 06 03 | Д 06 04 | Е 06 05 | Ф 06 06 | Г 06 07 | Х 06 08 | И 06 09 | Й 06 10 | К 06 11 | Л 06 12 | М 06 13 | Н 06 14 | О 06 15 |
7. | П 07 00 | Я 07 01 | Р 07 02 | С 07 03 | Т 07 04 | У 07 05 | Ж 07 06 | В 07 07 | Ь 07 08 | Ы 07 09 | З 07 10 | Ш 07 11 | Э 07 12 | Щ 07 13 | Ч 07 14 | ЗБ 07 15 |
- ПУС (NUL)-пусто,НЗ (SON)-начало заголовка,НТ (STX)-начало текста,КТ (ETX)-конец текста,КП (EOT)-конец передачи,КТМ (ENQ)-кто там?,НЕТ(NAK)-отрицание
- отрицательный ответ,СИН (SIN)-синхронизация,КБ (ETB)-конец блока блока данных,ЗБ (DEL)-забой,АН (CAN)-анулирование,КН (EM)-конец носителя,ЗМ (SUB)-
- замена, позваляет заменить символ,ВХ ,(S1)-вход, работа с одной половиной таблицы,ВЫХ (S0)-выход, работа с символами
Для облегчения восприятия команд используется Мнемокод в ассемблированном виде
- ABGE-прибавление единицы и ветвление, если больше или равно
- ADD-сложение
- AND-логическое умножение
- ANS-анализ
- GO-пуск
- LOAD-загрузка
- LOADP-считывание с МЛ
- DIV-деление
- SUB-вычитание
- RTSI-псевдовозврат из подрограммы
- INP-ввод
- SOB-вычитание единицы и ветвление
- MARK-метка
- MUL-умножение
- BBIS-ветвление, если бит установлен(=1)
- WAIT-ожидание
- SWA-обмен
- CLR-очистка(обнуление)
- NEG-отрицание
- INT-целое
- VER-контроль
- DIG-цифра(десятичная)
- SQR-квадратный корень
- INV-обратная величина
- JMM-передача управления метки
- XOR-исключающее или
- BMER-ветвление, если машинная ошибка
- BEV-ветвление, если чётно
- BBIC-ветвление, если бит очищен(= 0)
- BEQ-ветвление, если равно
- E-экспонента(показатель степени)
- BLT-ветвление, если меньше чем
- OR-логическое сложение
- BKEY-ветвление, если клавиша
- BGE-ветвление, если больше или равно
- BHIS-ветвление, если больше или тождественно
- MOV-пересылка
- CAP-декартовы в полярные
- PRINT-вывод на печать
- POC-полярные в декартовы (преобр.координат)
- SAVE-запись
- OUT-вывод
- ATOI-преобрразование в целочисленное
- POINT-точка
- CMD-команда
- DEG-градус
- COM-инвертирование
- BR-ветвление безусловное
- RTII-псевдовозврат из прерывания
- BSA-ветвление или тождество
- RTS-возврат из подпрограммы
- RES-остаток
- QRT-квадрат
- BPER-ветвление, если программная ошибка
- BNE-ветвление, если не равно
- BPL-ветвление, если плюс
- BMI-ветвление, если минус
- END-конец
Работа с клавиатуры Д3-28
- Возможна работа в одном из 4-х режимах *Р*,*В*,*ПВ*,*П*,задаётся нажатием клавиши и горит рядом с ней индикатор.
- Р* является основным, производится выполнение всех программ и команд записанных в ОЗУ вводимых с клавиатуры Д3-28,с НМЛ.
- В*Ввод программ в ОЗУ проверка и изменение текстов программ, команда невыполняется а только записывается в ОЗУ в шестнадцатеричном виде по адресу *индицируемому в регистре Y.
- ПВ*Печать и ввод
- Символ на клавише-----Название команды------------Мнемокод----------------Код команды
- ------М----------------Метка----------------------------------MARK---------------------04 80
- ------CЛ---------------Считывание с МЛ--------------LOADP--------------------05 13
- ------S----------------Пуск-------------------------------------GO-----------------------05 14
- ------ВП---------------Вызов из памяти--------------MOV C,X------------------04 05
- ------ЗП---------------Запись в память--------------MOV X,C-------------------04 04
Организация памяти
- В ЭВМ Д3-28 две зоны, рабочая и служебная.ячейки служебной зоны именуются регистрами.
- Рабочая зона занимает адреса с 0.00.00.00 (00000 дес.)по 7.14.15.15 (32511 дес.) в этой зоне размещаются данные и программы пользователя.
- служебная зона занимет последние 256 байтов ОЗУ с 7.15.00.00 (32512 дес.) по7.15.15.15 (32767 дес) в некоторых регистрах хранится информация
- для нормальной работы Д3-28,часть свободных может быть использованна для команд.
- Структура служебной зоны ОЗУ с адреса 7.15.00.00 по 7.15.01.15 расположены шестнадцать двухбайтовых регистров R00,RO1…R15,каждый R-регистр состоит из
- двух байтов ОЗУ с соседними адресами, байт с меньшим адресом является старшим. Регистры R08…R15 состоят из шестнадцати однобайтных регистров S00…S15.
- Четыре регистра R04,R05,R06,R07 образуют восьмибайтный регистр RR который используется в командах 12 06 (MOV X,RR) и 12 07 (MOV RR,X).
Вся память адресовалась независимо двумя основными способами:
- Для команд работы с числами с плавающей запятой память представляла из себя набор последовательно расположенных 16-байтовых чисел (12 байт — десятичная мантисса, 2 бита — знак числа и знак порядка, три тетрады — три десятичных цифры степени). Адресом ячейки служил условный номер такого числа от 0 до (размер памяти / 16).
- Плавающие числа хранились в двух разных форматах. В одном, когда адресом был номер ячейки, число занимало или старшие, или младшие полубайты в 16 байтах, расположенных подряд и выровненных на адрес, кратный 16. В другом число занимало целиком 8 байтов в памяти подряд. При этом разрядность и прочие характеристики чисел совпадали. Первая форма была унаследована от калькулятора и допускала только команды с прямой адресацией (0-255?, поскольку адрес был байтовый), вторая — только команды с косвенной адресацией, зато адресовалась вся память.
- Для команд целочисленной арифметики и логики с байтами, 16-ти и 32-битными словами адресом служил физический адрес первого, самого старшего байта слова.
- Порядок следования байтов в словах — от старшего к младшему.
- Архитектура была эклектичная. Для безусловного перехода использовалось не менее 4 способов: по поиску «метки» в теле программы — последовательным просмотром (явное наследие калькулятора), с относительной адресацией, по адресу в регистре, по таблице переходов.
В 128-килобайтной версии наличествовала страничная организация памяти с мгновенно переключаемыми (по изменению состояния соответствующих ячеек) страницами по 16 килобайт размером. Адресное пространство без переключений составляло 64 килобайта.
Регистры и индикаторы
Регистры адресовались как ячейки памяти по некоторым фиксированным адресам. При этом регистры X и Y арифметики плавающей запятой отображаются на индикаторах.
В режиме останова большинство клавиш на панели совершало арифметические и функциональные действия с числами в регистрах X и Y.
При работе программы на индикаторах отображались состояния регистров X и Y, однако существовало несколько команд, позволявших изменить способ отображения соответствующей им области памяти на один из нескольких служебных.
При отладке и запуске пошагового исполнения на индикаторах отображались адрес исполняемой команды, код и три последующих в памяти байта команд.
Регистров работы с байтами, 16-разрядными словами было по 16, при этом 16 байтовых регистров физически совпадали с первыми восемью 16-битовыми регистрами.
Порты ввода-вывода
Машина стандартно имела устройство чтения/записи на магнитной ленте. Интерфейс ввода-вывода позволял подключать перфоратор и считыватель с перфоленты, а также привод гибких восьмидюймовых дисков
Сообщения об ошибках ЭВМ Д3-28
0-переполнение памяти отведённонй пользователю 1-недопустимый оператор 2-переполнение строки ввода 3-недопустимый ограничитель в строке 4-недопустимый номер строки 5-несоответствие ковычек в предложении 6-отсутствие открывающей скобки перед аргументом функции 7-недопустимый оператор LET 10-неправелная запись индексов 11-неправильная размерность индекса 12-несоответствие скобок в выражении 13-недопустимый элемент выражения 14-функция пользователя не определена 15-неправильное имя переменной 20-неправильная операция отношения 21-недопустимый оператор IF 22-недопустимый оператор COM или DIM 23-недостаточно места для массива DIM 24-неправильный оператор DEF 25-нет данных для оператора READ 26-недопустимый оператор DATA 27-неправвильный формат команд CMD 30-неправильный формат в операторе FOR-NEXT 31-отсутствие NEXT 32-не было FOR 33-переполнение стека FOR-NEXT 34-нулевой шаг FOR 35-неверный формат оператора PRINT 36-неверно задан формат печати 37-недопустимое выражение в операторе TAB 38-отсутствие открывающей записи в МЛ 43-нет строки для перехода по операторам GOSUB или GOTO 44-нет внешней подпрограммы с указанным именем 50-неправильное предложение с оператором обслуживания МЛ 52-сбой структуры файла 53-отсутствие в запоминающем устройстве массива при приёме с МЛ 54-не считан очередной блок данных с МЛ в ОЗУ 55-считанный блок не помещается в ОЗУ 123-несуществующая переменная 128-некорректная операция в процессе вычисления
Сетевая структура
Была разработана и реализована спецификация локальной сети размером до 255 устройств (машин или внешних устройств, например — принтеров) построенная на параллельном интерфейсе ИРПР. Топология — общая шина. Число соединительных проводников — 34. В компьютерном зале МФТИ было соединено от 5 до 18 машин.
Программное обеспечение
Бейсик
На ЭВМ Электроника Д3-28 реализован БЭЙСИК (вариант 3А)
«Тужилкинский Бейсик»
Назван по фамилии автора — Владимира Алексеевича Тужилкина, распространён был, главным образом, в МФТИ, где и был написан. Достоинства — большая функциональность и меньший объём занимаемой памяти, чем у «официальной» версии (8 кбайт против 10,5 кбайт). Недостаток — был рассчитан на нестандартное подключение дисплея 15ИЭ-00-013, что ограничивало его распространение. Использовал формат хранения программ и данных, также несовместимый с исходной версией, однако, благодаря доступу большого количества студентов МФТИ к этим машинам, объём «софта», написанного под этот диалект, далеко превышает объём других программ для Д3-28.
См. также
- Электроника 15ВСМ-5 — устройство, внешне и по основным органам управления, устройствам и логической организации памяти очень похожее на Д3-28, однако имевшее 1 килобайт ОЗУ на ферритовых колечках, 256 слов ПЗУ микропрограмм, исполненном в виде ферритовых колечек с пропущенными через них проводниками.
Примечания
- ↑ Rick Bensene Wang 720C Advanced Programming Calculator (англ.). The Old Calculator Web Museum (3 September 2008). Архивировано из первоисточника 7 июня 2012. Проверено 12 сентября 2010.
Ссылки
- Фотогалерея: Cергей Фролов Электроника Д3-28 15ВМ128-019 (рус.). Коллекция советской цифровой электроники Сергея Фролова (28 августа 2010). Архивировано из первоисточника 19 мая 2012. Проверено 12 сентября 2010.