-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathindex.html
More file actions
68 lines (60 loc) · 6.47 KB
/
index.html
File metadata and controls
68 lines (60 loc) · 6.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Эмулятор БЭВМ</title>
<!-- $Id: index.html 421 2014-02-14 21:01:52Z MATPOCKuH $ -->
</head>
<body>
<h1>Эмулятор БЭВМ</h1>
<h3 id="a1">Содержание</h3>
<ol>
<li><a href="#a2">Существующие пользовательские интерфейсы</a></li>
<li><a href="#a3">Существующие микропрограммы</a></li>
<li><a href="#a4">Существующие наборы команд</a></li>
<li><a href="#a5">Ассемблер</a></li>
<li><a href="#a6">Отличия реализованной модели от оригинальной</a></li>
<li><a href="#a7">Интерпретация недокументированных особенностей БЭВМ</a></li>
</ol>
<h3 id="a2">Существующие пользовательские интерфейсы</h3>
<ol>
<li><a href="cli.html">Эмулятор БЭВМ для командной строки</a></li>
<li><a href="gui.html">Графический интерфейс эмулятора</a></li>
<li><a href="decoder.html">Декомпилятор микропрограммы</a></li>
<li><a href="nightmare.html">Альтернативный графический интерфейс эмулятора</a></li>
</ol>
<h3 id="a3">Существующие микропрограммы</h3>
<ol>
<li><a href="BaseMicroProgram.html">Исходная микропрограмма</a></li>
<li><a href="OptimizedMicroProgram.html">Оптимизированная микропрограмма</a></li>
<li><a href="ExtendedMicroProgram.html">Расширенная микропрограмма</a></li>
</ol>
<h3 id="a4">Существующие наборы команд</h3>
Набор команд определяется используемой микропрограммой.
На данный момент реализованы:
<ol>
<li><a href="BaseInstrSet.html">Оригинальный набор команд</a></li>
<li><a href="ExtendedInstrSet.html">Расширенный набор команд</a></li>
</ol>
<h3 id="a5">Ассемблер</h3>
Разработан согласованный с используемыми в учебных пособиях обозначениями диалект <a href="asm.html">ассемблера</a>.
<h3 id="a6">Отличия реализованной модели от оригинальной</h3>
<ol>
<li>Для безадресных команд и команд ввода-вывода исполнение происходит на цикле исполнения.</li>
<li>Регистр состояния является полноценным регистром, а не объединением однобитовых регистров.</li>
<li>Из РС удалены 4 старших бита, отвечавших за отображение выполняемых циклов и выполнение операции ввода-вывода. РС, соответственно, теперь представляет собой 9-ти битный регистр.</li>
<li>При выполнении команды TSF проверка состояния 6-ого бита РС и пропуск следующей команды реализованы на <a href="BaseMicroProgram.html#a3">микропрограммном уровне</a>, из-за чего во всех реализованных микропрограммах отличается адрес начала цикла прерывания.</li>
<li>При выполнении любой операции ввода-вывода в 6-й бит РС записывается значение с шины состояние флага ВУ. Если выполнялась команда TSF, то будет открыт вентиль опроса флага соответствующего ВУ, и состояние этого флага по шине опроса флага попадёт в 6-й бит РС. Если выполнялась другая команда ввода-вывода, то все вентили опроса флага будут закрыты, и, следовательно, в 6-й бит РС будет записан 0. Таким образом, после выполнения любой команды ввода-вывода достаточно проверить 6-ой бит РС для определения необходимости пропуска следующей команды.</li>
<li>Установка 5-ого бита РС использует состояние 4-ого бита РС и шины запрос прерывания. Состояние 6-ого бита РС при этом не используется.</li>
<li>Для ОМК1 убрана возможность одновременной записи содержимого БР в А, РД, РА, РК.</li>
<li>"Тактовый генератор" запускает операцию чтения из памяти микрокоманд в регистр микрокоманд.</li>
<li>Увеличение содержимого СчМК на 1 инициируется при записи в него нулевого значения.</li>
<li>Добавлены <a href="io.html">новые внешние устройства</a>.</li>
</ol>
<h3 id="a7">Интерпретация недокументированных особенностей БЭВМ</h3>
<ol>
<li>Выполнение пультовых операций записывает в СчМК соответствующий адрес и, если не установлен режим потактового выполнения, записывает 1 в 8-й бит РС (Программа), запуская микропрограмму на выполнение. В противном случае выполняется один такт.</li>
<li>У0 (HLT) подаётся на В0, который записывает 0 в 8-й бит РС. Также 8-й бит РС сбрасывается при включении потактового режима выполнения.</li>
<li>Микропрограмма выполняется до тех пор, пока 8-й бит РС равен 1, т.е. пока не будет выполнена микрокоманда HLT или установлен режим потактового выполнения.</li>
</ol>
</body></html>