- Был «РАДИО-86РКилобайт»…
- Стал «РАДИО-86РМегабайт»…
Как известно, в схеме РЛК дешифратор ИД7 играет практически основную роль и определяет всё адресное пространтство. В публикациях журнала «РАДИО» предлагались некоторые доработки на эту тему…
Но, в конкретной теме - речь совсем о другом…
Если в оригинальной схеме РЛК заблокировать ИМС ИД7 (не важно как: разрешающих входа у неё три), то процессор окажется «в вакууме». То есть, конкретная архитектура самого РАДИО-86РК отключится. Это понятно любому…
В который раз наткнувшись (ссылка) на заметку о наличии бессмысленных команд («В системе команд несколько раздражает наличие 6 бессмысленных инструкций типа MOV A,A – их могли бы не документировать»), подумал в очередной раз, как бы эти команды можно было бы использовать…
Аппаратно, используя ИМС К155СП1, очень легко в цикле выборке инструкции M1 отловить эти коды и защёлкнуть их в особом регистре, типа К155ИР1.
Оглядываясь на соседние архитектуры, типа К1810ВМ86 с набором префиксов сегментных регистров CS/DS/ES/FS/GS/SS, напрашивается мысль реализовать нечто похожее (аналогично как К1821ВМ85 с его 128 Кб через H1L1).
Получается как бы следующее:(Так как код 76 (HLT) как префикс не используется, он должен означать префикс #0 по умолчанию, потому биты кодов необходимо инвертировать.)
- код 40 (MOV B,B) - префикс #6
- код 49 (MOV C,C) - префикс #7
- код 52 (MOV D,D) - префикс #4
- код 5B (MOV E,E) - префикс #5
- код 64 (MOV H,H) - префикс #2
- код 6D (MOV L,L) - префикс #3
- код 7F (MOV A,A) - префикс #1
Для доступа к памяти через такие мнимые префиксы получаем набор виртуальных инструкций:(Здесь «M1» просто означает ячейку памяти «M» по «HL», но с префиксом #1; и т.д.)
- код «7F 7E» - инструкция «MOV A,M1»
- код «5B 71» - инструкция «MOV M5,C»
- код «64 12» - инструкция «STAX D2»
- код «49 E5» - инструкция «PUSH H7»
Таким образом, бесполезные команды MOV аппаратно относительно легко отлавливаются и запоминаются, предоставляя дополнительные 3 бита к адресации, что уже даёт возможность доступа к 512 Кб адресного пространства.
В рамках онлайн-эмулятора https://rk86.ru/ разработал небольшое расширение для браузера Chrome, которое реализует эту идею без написания эмулятора с нуля.
В архиве имеется и RKR-файл с маленькой графической демонстрацией через дополнительный "сегмент" префикса.
(Естественно, это ещё не всё, так как три бита префиксов должны не сами участвовать в непосредственной адресации, а выбирать один из регистров, где будет храниться конкретная страница памяти, что даст до 16 Мб адресации и "защищённый режим"…)
Или просто - можно посмотреть видео:




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
