Вход

Просмотр полной версии : Изучаем архитектуру "Радио-86РК"



IREK
17.02.2021, 11:13
Всем доброго! У меня пока нет такого железа (думаю скоро будет), но хочется разобраться как работает РК86, нашел сайт http://www.danbigras.ru/RK86/CPU/CPU.html#_Toc502338213 там все хорошо написано, но я не смог до конца понять как работает ОЗУ на 8ми КР565РУ5.
Понял что 14ти битный адрес заносится на все РУ5 по 7 бит через мультиплексоры D18Б, D19 с помощью упр. ножек RAS и CAS. Адресные и управляющие ножки всех РУ5 соединены параллельно, каждая микросхема работает только с 1 бит данных, например D24 отвечает за самый младший бит данных и т.д. Если один из МС выйдет из строя память не будет работать должным образом. Правильно? Прошу кто разбирается откликнуться.

IgorR76
17.02.2021, 11:50
ОЗУ на 8ми КР565РУ5.
В РК86 — 565ру3, или ру6.


Правильно?
Да,всё так.

Это оригинал статьи из журнала "Радио". В детстве тоже это читал, до того, как появился компьютер. Ностальгия!

Vital72
17.02.2021, 12:18
RAS и CAS тут невпопад, они не управляют мультиплексорами.
Не совсем понятно, в чём вопрос. Как работает динамическая память РУ5? Лучше это искать в справочниках. Как это реализовано в РК? Убого. Это самый глючный узел всего компьютера. Вообще, весь компьютер Радио-86РК -- это одно сплошное недоразумение и концентрация неудачных технических решений, но именно этот узел самый неудачный.
РУ5 - одноразрядные микросхемы динамической памяти, для компьютерной системы необходимо использовать такое количество РУ-шек, какова разрядность компьютера, в данном случае 8. Все микросхемы работают впараллель, поэтому все их входы запараллелены, а выводы данных (вход+выход) подключается к шине данных компьютера. И да, сдохнет одна микросхема -- компьютер перестанет работать.
Работой ОЗУ управляет сдвиговый регистр D16, который тактируется от 16МГц (далее OSC). Эта частота задаёт временные интервалы для управляющих сигналов ОЗУ. Т.к. этот узел реализован неудачно, я распишу, как должно быть и как это обычно делают в других компьютерах. Кстати, рекомендую сделать доработку этого узла в первую очередь, описание доработки в ж. "Радио" 1989 № 11 с.41, автор А.Сапронов.
При активации микропроцессором сигнала чтения или записи (лог. 0), логический нолик начнёт последовательно поступать на все выходы регистра D16. На первом такте OSC будет установлен сигнал /RAS в ноль, это заставит ОЗУ запомнить первую половину адреса. На следующем такте OSC нолик будет подан на мультиплексоры и те выдадут в ОЗУ вторую половину адреса. На третьем такте OSC (будем считать, что микропроцессор обращается к ОЗУ) активируется сигнал /CAS, память запоминает вторую половину адреса и выдаёт или записывает данные в зависимости от сигнала на входе /WE.
По ссылке перепечатка статьи из журнала Радио.

IREK
17.02.2021, 12:48
Вопрос был: Как работает ОЗУ РК86? Теперь более или менее понятно.
Несмотря на критические взгляды схема очень популярна и многие интересуются.

Vital72
17.02.2021, 13:45
Радио-86РК, несомненно, был популярный в своё время компьютер. Также, именно из-за своей кривизны имеет наибольшее количество доработок и не даёт паяльнику остыть. Был бы идеальным -- нечего было бы дорабатывать. Только в журнале Радио печаталось немало статей: "как увеличить память до 60 килобайт", "как увеличить частоту процессора", "как добавить цвет" и т.д. Правда, все эти доработки из журналов были такие же кривые, как и сам компьютер. Так статьи для увеличения памяти (я видел как минимум два варианта) требовали использование ПЗУ с пережигаемыми перемычками, что в то время было дичайшим дефицитом, хотя можно было обойтись просто логикой. Я в своём варианте использовал дополнительно только одну микросхему 555ЛИ6 для увеличения памяти. Доработка для добавления цвета совсем какая то кривая. А если вспомнить статью "Таймер КР580ВИ53 в Радио-86РК" (1987г №11 с. 35), непонятно вообще, как она попала в журнал -- это самое бесполезное использование таймера. Два канала таймера ухайдохано только чтобы отмерить длительность тона, но т.к. компьютер не имеет аппаратных прерываний, то он никогда не узнает, что нота кончилась и для того, чтобы начать играть вторую ноту, автор предлагает нагрузить процессор пустыми циклами в ожидании конца предыдущей ноты. Т.е и сам таймер отмеряет длительность, и ещё и процессор! Видимо, чтоб не скучно ему было.
Когда-нибудь я здесь выложу свой проект, моё видение, как бы должен был выглядеть Радио-86РК.

IREK
17.02.2021, 14:48
Может дело в простоте, в минимализме? это привлекает многих, сам многократно сталкивался когда собирал небольшие самоделки: знаешь что будет лучше если сделать по сложной схеме, но нет есть же схема по проще, давайка попробую. В итоге как вы писали простая схема не даст остыть паяльнику и нервам.

Сейчас судить легко, интернет, какой только программы нет для РЛ, большой выбор комплектухи, не нужно даже выходить из дома.

Vital72
17.02.2021, 15:25
В том то и дело, что совсем небольшие доработки позволили бы РК-шке стать на порядок лучше своей оригинальной конструкции.
Так в 90-х годах когда я только вступал на путь цифрового электронщика и собрал свой Радио-86РК я добавлением __всего одной__ микросхемы 555ЛИ6 и ещё пары мелких деталей и кварца (ну и замены ОЗУ на РУ5) доработал компьютер до следующего состояния: ОЗУ 60 килобайт, тактовая частота 2,5 МГц, знакогенератор со строчными и прописными символами, использование атрибутов контроллера ЭЛТ (инверсия, мерцание, повышенная яркость). И это не требовало каких то уж серьёзных затрат, не считая РУ5, но что РУ5, что РУ3 в то время было всё дефицитом. Есть известное высказывание А. Эйнштейна, вы его наверняка слышали, но разработчики РК-шки слишком всё упростили. Даже чересчур.
Вот фотография моего проекта. Сильно сложнее оригинала?

74737

IREK
17.02.2021, 16:24
По описанию нет. На фотке мне кажется больше отличий. Можно посмотреть схему?

Vital72
17.02.2021, 17:21
Не хотел я раньше времени светить свой проект, но раз вы просите...
Начал я его в 2016 году, платы заказал в 2017, потом на три года всё забросил, сейчас опять занялся. Проект ещё не закончен, поэтому не выкладывал, можно сказать всё только начинается. Первоначально я хотел сделать РК-шу с минимальными доработками по мотивам своих же доработок из 90-х, только на переразведённой печатной плате, чтобы без соплей. Но получилось бы слишком просто, т.к. в моём первоначальном варианте цвета не было, а сейчас у всех цветные мониторы, поэтому я "наворотил" ещё чуть-чуть, а именно: звук+цвет+знакогенератор из Апогея, но самое интересное в этом проекте -- мне удалось подключить АТМегу к шине процессора, чтобы общаться с ним напрямую.
Схему выкладываю в архиве т.к. местный форум коверкает картинки.

74741

- - - Добавлено - - -

да... схема может местами не соответствовать действительности, т.к. я постоянно её перелопачиваю, в некоторых ключевых местах сильно поменялась от первоначального варианта, потому как приходится решать некоторые проблемы из-за чего сейчас на плате полностью порезаны дорожки у двух микросхем. как говорится, гладко было на бумаге, но микропроцессор выкинул кучу нежданчиков, а т.к. я схему не отлаживал на макетке, в производство ушла схема, которая работает "чисто теоретически".

IgorR76
17.02.2021, 17:24
Vital72, то есть программной совместимости с рк86 у Вас нет? Все программы придется адаптировать? Тогда это не рк86...

Vital72
17.02.2021, 18:01
Как я этого ждал ))
А теперь давайте рассуждать. Апогей совместим с РК? Микроша? Партнер? Какое у вас основание говорить, что моя разработка несовместима? То, что это изготовлено не промышленностью, а чувака с форума?
Давайте сформулируем критерий совместимости. Важным фактором совместимости является способ формирования изображения, именно это отличает РК от остальных компьютеров. Изменил я этот способ? Нет. На уровне вызовов подпрограмм Монитора также ничего не поменялось, т.е. любая программа от РК, которая использует только вызовы Монитора будет работать. Поменялись только адреса микросхем периферии, но вы не можете увеличить память, не изменив эти адреса (пользуясь случаем, хочу "поблагодарить" разработчиков РК-шки за это). Изменить адреса в старых программах достаточно просто, раз уж на то пошло, а компьютер разрабатывался в первую очередь для создания нового ПО, используя расширенные возможности. Да даже просто поменяв прошивку Монитора на собственную вы можете нарваться на неработающую программу, т.к. у некоторых чесалось в одном месте и лезли в недокументированные вызовы. Обратимся к журналу Радио. А сколько там-то печаталось доработок! И память увеличивали и чего только не делали (дисковод подключали, но тогда я уже не выписывал журнал) и что? Компьютер по прежнему назывался "Радио-86РК". А теперь ответе, после этих журнальных доработок это РК или не РК?

- - - Добавлено - - -

Да, вот ещё что. Пока я ещё не написал микрокод для АТмеги и загрузка с SD-карт у меня не работает, я использую широко известный в узких кругах SD-адаптер для загрузки программ. И, надо же! И оболочка работает, и музыка играет, и даже Апогеевские игры запускаются. Ну ничего себе!

gdv2002
17.02.2021, 18:14
Vital72, не заводись ты так!
Ты создал хороший клон РК, создал его так, как видел его, и это очень здорово!
Я могу понять IgorR76 в том плане, что сам программить нифига не могу, за 30 лет мне это не далось, как ни старался, вроде вижу всё, а сделать что-то серьёзное не получается!
Поэтому программная совместимость для некоторых важна в первую очередь.
Все клоны и сам Рк преждевременно умер именно из-за этого, что распылили силы и возможности на десятки клонов, не совместимых друг с другом, а программеров на всё это разнообразие не хватало!
Уверен, что твой комп войдет в историю, как минимум форума, если будет софт, и кто-то ещё заинтересуется им, и будет адаптировать и писать программы - совсем супер!!!
От себя, от всей души, желаю довести задуманное до желаемого результата и не забрасывать эту интересную разработку!

IgorR76
17.02.2021, 18:16
От себя, от всей души, желаю довести задуманное до желаемого результата и не забрасывать эту интересную разработку!
Аналогично! Присоединяюсь.

r3d
17.02.2021, 21:51
Может дело в простоте, в минимализме?
Да нет, просто все сильны задним умом.


Также, именно из-за своей кривизны имеет наибольшее количество доработок и не даёт паяльнику остыть. Был бы идеальным -- нечего было бы дорабатывать.
Радио-86РК был опубликован в 1986 году. Пожалуйста, покажите нам свои разработки 86 года, ну ладно 90-го, в области компьютеров. Т.е. что Вы лично разработали и сделали лучше, чем Радио-86РК в 90х?

Vital72
17.02.2021, 22:11
r3d, ну 86 год и что? в 1986 году нельзя было сделать нормальный компьютер? Специалист? Не, не слышал.
Что вы от меня хотите увидеть? Полностью оригинальную конструкцию или доработку РК?
На секундочку, разработчики РК -- это не вчерашние студенты, они как минимум в НИИ работали и, вообще говоря, их было 4 человека. Т.е. 4 человека создали вот ЭТО.
А теперь нокаутирующий удар. Вам словосочетание "компьютер Микро-80" что-нибудь говорит? Двое из 4-х (Геннадий Зеленко и Сергей Попов) были разработчиками Микро-80, который печатался за три года до Радио-86РК.

r3d
17.02.2021, 22:55
А теперь нокаутирующий удар. Вам словосочетание "компьютер Микро-80" что-нибудь говорит?
Ну да, что-то припоминаю, он у меня в 84-м "жил" в ящике из-под посылки.


Двое из 4-х (Геннадий Зеленко и Сергей Попов) были разработчиками Микро-80, который печатался за три года до Радио-86РК.
Я с ними встречался в 84-м или 85-м, не помню. Реально все это делал один - самый молодой, второй был на подхвате, а третий "автор", был завлаб и своим именем просто вез весь этот проект, его интересовала только программистка Марина :) И открою Вам большую тайну - Микро-80 у авторов никогда не существовал в реальности, был только в головах, его повторяли только радиолюбители по журнальным статьям.


Что вы от меня хотите увидеть? Полностью оригинальную конструкцию или доработку РК?
Всего лишь удивить меня Вашим "специалистом" из 90-х, ИМЕННО ВАШИМ, который хотя бы в два раза был лучше Радио-86РК. А так еще раз повторю – все мы сильны задним умом, с интернетами, кучей литературы, осциллографами и разными паяльными станциями.

Vital72
17.02.2021, 23:01
что я делал в 90-е я написал несколькими постами выше.
в 80-х не было ни осциллографов, ни датабуков, особенно в НИИ... ну ок.
---------
http://zxbyte.ru/micro80.htm
без комментариев

r3d
17.02.2021, 23:29
Vital72, какие же все были дурачки, один я был умный. И когда эти дурачки делали свой никчемный Радио-86РК, я силы попусту не распылял, а копил их на супер-пупер компьютер. Ладно, раз Вы не можете удивить своими разработками из 90-х, дальнейший диалог на эту тему считаю бессмысленным. И пожалуйста, не нужно хаять то, что делали другие.


без комментариев
:), что там про сарай и дрова говорится? И кстати, а Вы у самого Попова и спросите – а был ли Микро-80 в реальности и что на этом фото изображено :) Ох, как же Вы будете разочарованы.

aahzma
18.02.2021, 01:37
Буду краток.
Автору разработки респект и уважуха +500. Адептам нативности напомню про пентеву и НЕХт - они тоже не спектрумы, и не имеют права на жизнь?

И не Спектрумы, и не имеют, но - автор так видит развитие идеи! Значит - имеют.

Да, формально были и ЮТ-88, и Специалист, и Орион-128 - вот, и цвет, и архитектура, но!
Не забывайте, други мои, о временах и нравах! В 1987 году собрать РК86 было равнозначно полёту в космос (для рядового радиолюбителя). После калькулятора это был фурор и прорыв - просто поверьте. Даже самая простая программа творила чудо.
Но...
В 1988 уже вовсю был спектрум. И РК86 быстро закончился. Интерес к нему полностью пропал. Потому и не было ни расширений, ни доработок, ни стимула к развитию. А тут ещё и Орион...

Самый цимес Радио-86рк - именно в его невозможности. Куча ошибок и упрощений, нарушающих все законы построения цифровых схем - но при этом реально работающая, без сбоев, при минимуме доработок. Моё мнение - его попросту надо ценить, как музейный экспонат, как самолёт братьев Райт, как паровоз Черепановых. И упаси Г-ди его дорабатывать!

Ну, вот только если ради познания истины - "как должен был быть правильно сделан РК86 в 1985 году". Есть ли в этом смысл? Не знаю. Автору видней. В конце концов, допишет он блок выбора совместимости, и будет что-то новое. И это тоже прекрасно, считаю.

IREK
18.02.2021, 09:35
Уважуха всем конструкторам и тем кто доработал схему! Не ошибается тот кто ничего не делает. Если бы в конце 90х у меня был РК86 я был бы счастливее:)
Хотелось бы еще уточнить один момент, после запуска ЦП начинает выполнять команды из ПЗУ. Чтобы выполнить подпрограмму МОНИТОРА например F803H ЦП обращается в адрес F803 а в ПЗУ адреса начинаются с 00H. Как это работает?

sd
18.02.2021, 09:39
А зачем его туда копировать? Там и так озу не густо.

IREK
18.02.2021, 09:54
Думал что после запуска ЦП работает только с ОЗУ.

Vital72
18.02.2021, 10:34
Вы же сами привели ссылку на описание, там этот момент расписывается.


Так как после сброса микропроцессор начинает выполнять программу с команды, расположенной по адресу 0000Н, а ПЗУ, хранящему управляющую программу МОНИТОР, отведены адреса начиная с F800H, в компьютер введен блок начального запуска. На выходе триггера D13.2 в момент прихода сигнала СБРОС появляется уровень логического 0, который запрещает работу дешифратора D11 и через элемент D4.3 поступает на вход CS микросхемы ПЗУ D17, что и обеспечивает чтение первой команды из ПЗУ — команды безусловного перехода на начало МОНИТОРА. После выполнения этой команды на шине адресов появляется код адреса следующей команды, старший разряд которого равен 1. Появление высокого уровня на линии А15 переводит триггер D13.2 в исходное состояние, в результате чего в дальнейшем дешифрация адресов происходит обычным образом.

Eltaron
18.02.2021, 13:30
Вы у самого Попова и спросите
Говорят, что уже не выйдет :(
https://zx-pk.ru/threads/12611-redkie-pk-na-kr580vm80.html?p=1100962&viewfull=1#post1100962

IgorR76
18.02.2021, 14:24
Говорят, что уже не выйдет :(
Ого, ничего себе... Не знал. Мы так прекрасно пообщались на встрече с ними в офисе Яндекса, осенью 2019.
Хорошо, что осталось видео. (где-то в закромах яндекса, и на форуме была ссылка).

IREK
18.02.2021, 15:23
Вы же сами привели ссылку на описание, там этот момент расписывается.
Не могу понять адресацию, ведь ни в ПЗУ ни в ОЗУ нет адресов F800-FFFF.

- - - Добавлено - - -

Если я правильно понял пока в адресной шине самый старший разряд 1 то ЦП выполняет команды из ПЗУ?

Vital72
18.02.2021, 15:27
Адресация -- это немного другое, это способ получения микропроцессором данных.
В компьютерах есть понятие "распределение памяти" или "распределение адресов".
Вот тут наглядно расписано распределение памяти в Радио-86РК -- http://archive.radio.ru/web/1988/04/035/
Как видно, ПЗУ сидит по адресам F800-FFFF. А вы где смотрите, что у вас их нет?
Именно в адресах F800-FFFF находится управляющая программа "Монитор" и именно эти адреса находятся по всему коду Монитора. И при компиляции из исходников начальный адрес указывается как F800.
Т.к. микропроцессор после сброса начинает исполнять код с нулевого адреса, чтобы ему попасть в Монитор в компьютере при сбросе отключается дешифратор адреса и ПЗУ подставляется в нулевой адрес. При исполнении первой команды, снова включается дешифратор и код уже исполняется по адресам F800-FFFF.

IREK
18.02.2021, 16:07
Спасибо, картинку с дисплеем не видел! Как раз хотел спросить на счет экранной области ОЗУ. Верхняя часть была.
ПЗУ на 16кБ, самый старший адрес 3FFF, а МОНИТОР на F800-FFFF, вот то что не "стыкуется" у меня в голове.

Vital72
18.02.2021, 16:33
ПЗУ имеет объем 2 килобайта. F800-FFFF -- это два килобайта.
Ещё раз:
0000 ||<-- ОЗУ 32к -->|<-- порт1 8к -->|<-- порт2 8к -->|<-- контроллер ЭЛТ 8к -->|<-- контроллер ПДП 6к -->|<-- ПЗУ 2к -->|| FFFF

На самом деле контроллер ПДП и ПЗУ делят одно адресное пространство, поэтому при чтении по адресам E000-FFFF будет читаться ПЗУ, а при записи по этим же адресам запись производится в контроллер.

sd
18.02.2021, 16:34
У процессора всего 64 кб адресного пространста 0000-FFFF, а чего куда там вставленно ему впринципе ве равно. в 16 к экран был в адресах по 3fff, а в 32 кб в адресах по 7fff. Адресное пространство процессора в обоих случаях одинаковое 64к

Oleg N. Cher
19.02.2021, 05:42
А уточните: как именно устроена экранная память в Радио-86РК? Просто 64x25=1600 байтов, в которых 7 значащих бит, где хранятся ASCII-коды символов? С какого адреса размещена экранная память в 16К-модели и в 32К-модели? (сколько остаётся памяти для программы?)

Есть ли простой способ узнать адрес экрана для всей линейки РК-совместимых? (Апогей, Микроша, Партнёр, ЮТ-88 (Монитор-F), Микро-80 и т.д.).

Vital72
19.02.2021, 09:13
вот жеж --> http://archive.radio.ru/web/1988/04/035/
важно также учитывать, что в РК нет аппаратного формирования гасящих синхроимпульсов, их заменяют бланкирующие поля всё в той же видеопамяти (см. картинку), от чего видеосигнал, строго говоря, не является стандартным, а весь размер видеопамяти равен 78x30 символов и только в поле 64x25 разрешено писать.
Аски-коды не могут нигде храниться. Аски -- это соответствие кода какому-то определенному символу. Это всё равно, что спросить "где хранится зеленый?".
Вопрос, видимо, про знакогенератор. Он хранится в отдельном ПЗУ (см. схему).

- - - Добавлено - - -

Косвенно адрес видеопамяти можно определить из п/п Монитора F830 (Определение адреса верхней границы свободной памяти). Но это метод весьма условный, т.к. любая программа может установить свою границу. Другой способ -- обратиться к рабочим ячейкам Монитора. Но тут нет никакого стандарта и разные Мониторы могут хранить информацию в разных ячейках.

- - - Добавлено - - -

И вот тут возникает мысль. А не выработать ли стандарт, по которому любая программа могла бы получать необходимые адреса, а именно: адрес видеопамяти и адреса микросхем периферии. Если была бы такая п/п Монитора, которая выдавала эту информацию, по сути конфигурацию компьютера, это бы позволило писать универсальные программы, которые работали бы на всём зоопарке РК-совместимых компьютерах без переделок. Неплохо бы призвать разработчиков своих 8-и разрядок, РК-совместимых, добавить такую п/п в свои изделия. В своём проекте "МЕГА-86РК" я добавлю этот вызов так уж точно. Заодно ещё модифицировать и Мониторы промышленных компьютеров (Апегей, Микроша и т.д.), чтоб и на них можно было запускать новые программы.