Электроника Д3-28

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Электроника Д3-28

Электроника Д3-28 — настольная вычислительная система, занимающая промежуточное положение между персональными компьютерами и программируемыми калькуляторами. Создана на основе программируемого калькулятора Wang 700[1].Имела встроенную клавиатуру (цифровые и функциональные клавиши), двухстрочный дисплей на семисегментных индикаторах (12 цифр мантиссы, две цифры степени и два индикатора знака в каждой строке) и накопитель на стандартных аудиокассетах. Также оснащалась интерфейсами ИРПР и ИРПС, к которым обычно подключался принтер и алфавитно-цифровой терминал (как правило, 15ИЭ-00-013).

Варианты исполнения[править | править исходный текст]

ПЗУ на однократно программируемых микросхемах. В некоторых тестовых экземплярах ПЗУ с микропрограммами устанавливались в панельки; существовали специальные прошивки для использования машин в составе специализированных вычислительных комплексов. В некоторых вариантах ПЗУ прошивалось вручную тонким многожильным проводом на матрице из ферритовых колец.

В процессе производства Д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
  • ------СЛ---------------Считывание с МЛ--------------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 слов ПЗУ микропрограмм, исполненном в виде ферритовых колечек с пропущенными через них проводниками.

Примечания[править | править исходный текст]

  1. Rick Bensene. Wang 720C Advanced Programming Calculator (англ.). The Old Calculator Web Museum (3 September 2008). Проверено 12 сентября 2010. Архивировано из первоисточника 7 июня 2012.

Ссылки[править | править исходный текст]