PDA

Просмотр полной версии : Цифровая археология: 1801 и все-все-все



Страницы : 1 2 3 4 5 6 7 8 9 [10] 11

svinka
18.12.2020, 14:01
Встречал терминологию что ODT в микрокоде называется microODT а написанный для исполнения как обычные инструкции например для "хальтрежима" T-11 - MacroODT

И похоже что идея macroODT c T-11 и позаимствована зеленоградцами

Hunta
18.12.2020, 14:21
по этому J-11 в качестве памяти пользует
И даже стека, но вполне определённые. В каком то документе мне попадались рекомендации-правила при написании подгружаемых в EEPROM аппаратных загрузчиков - в том числе, говорилось прo то, какие PAR-ы и как можно использовать. Не помню насчёт PDR-ов, но с ними возможны нюансы - не все биты доступны для записи. Какие - надо смотреть описание :)


По поводу ODT от J11, а в документации от DEC что про эти команды пишут? Сходится ли с реальностью?
Да, описание есть и вроде как сходится с реальностью. Досконально я не проверял, ибо список команд очень небольшой (см выше) и на беглый взляд всё вроде совпадает.

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

Кстати - одно из существенных отличий ПЗУ MXV11-B и KDJ11-B от 134-ого ПЗУ - это не ПЗУ проверки-отладки, они не заботятся не только о сохранении-восстановлении регистров, они вообще проводят полную реинициализацию комп при выходе в них, в том числе, можно сразу забыть и о настройках ДП :) В этом плане они ближе к BIOS-ам на IBM PC.

Ну и, опять же - в отличии от 134-ого, ПЗУ от KDJ11-B не предполагает наличие оперативки :) А вот (более ранний?) вариант ПЗУ MXV11-B использует примерно килобайт ОЗУ в район 2xxx-3xxx адресов (не помню точно).

Я долго не мог понять, как ПЗУ от KDJ11-B обходится без оперативки - вектора типа 4 и 10, а так же BPT, TRAP и EMT он вполне активно использует :) Только потом дошло, что с ДП они (вектора) могут располагаться где угодно - хоть в области ПЗУ :)

Alex
18.12.2020, 15:46
В принципе всё логично, аж три группы регистров для трёх мод, а занята одна группа :)
Для тестов и загрузки более чем достаточно ...

Hunta
18.12.2020, 15:58
три группы регистров для трёх мод
По две группы для каждых из трёх режимов работы проца - PDR не в счёт, ЕМНИП, то есть всего шесть.

Но.

Часть из них используется по прямому назначений - для режима ядра.

Осталось четыре.

Ещё одна группа - под стек.

Осталось три - или 18 слов :)

Максимальная глубина стека - 8 слов - и они будут использоваться как при вызове процедур (одно слово), так и при прерывания (аппаратных и программных), о чём нельзя забывать, особенно учитывая, что активно используются BPT, TRAP и EMT - а у них два слова, то есть максимальная глубина вложенных вызовов - порядка 6-ёх, но легко добраться и до 4-ёх. В общем - код ещё тот у ПЗУ.

svinka
18.12.2020, 16:05
MMU в архитектуре PDP-11 отключаемый
А вот без MMU интересно режимы пользователя-ядра в psw устанавливаются-хранятся?

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

и еще вопрос
у ВМ3 инструкция MFPT по документации отсутствует
Мож есть? что возвращает?

hobot
18.12.2020, 22:02
XM1 некритично для реплики.

https://youtu.be/VGfGxqHPF0s

Vslav
19.12.2020, 02:42
М4 прошел тесты расширенной арифметики и прерываний.
Также выяснилось что команды расширенной арифметики не прекращаются при запросе на прерывание - обрабатываются полностью, прерывание происходит после окончания обработки команды EIS. Это затрудняет прохождение теста, так как используются прерывания от терминала и сложно попасть прерыванием в фазу до начала длинной команды EIS (она занимает по времени процентов 90 тестового цикла).
Пока не проходит тест FIS, надо разбираться.

Vslav
19.12.2020, 17:32
Тесты FIS не проходит потому что M4 в плавающих инструкциях четко сохраняет биты PSW[6:5], а вот настоящий LSI-11 там всегда хранит нули.
С фильтрацией этих битов PSW - тесты OK.

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

Итак, под марш "Са-а-а-ав-е-е-е-ецкий ц-и-и-ирк" выкатывается рабочая асинхронная модель M4 (https://github.com/1801BM1/cpu11/tree/master/am4).

Hunta
19.12.2020, 17:44
Хм.. Типа - приоритет 4 и больше не фига? :)

Vslav
19.12.2020, 17:53
Хм.. Типа - приоритет 4 и больше не фига? :)
Ну биты 6 и 5 у М4 есть, но они ничего не делают. Можно установить, можно прочитать установленное, и на этом усе.

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

Кстати, загадка почему выход предекодера инструкций надо xor-ить с 0x11 осталась нераскрытой.
Это может быть и сбой PLM 556РТ2, а может и левые инверторы на переходной плате, которых у нас нет. В-общем, работает оно с ^0x11, а без него, естественно - нет.

Vslav
19.12.2020, 21:26
Кстати, если кто не знает, то я стараюсь писать подробные commit messages, можно все увидеть по "git log --full-history", там больше интимных подробностей.

Vslav
21.12.2020, 15:23
Запустил синхронную модель:
- переделан секвенсор на современный лад, вместо кучки Am2909, Am2911 и Am29811 один модуль am4_seq
- переделано ALU, также один модуль, выкинут демонстрационный мусор типа схемы ускоренного переноса и упрощены флаги переноса и арифметического переполнения, теперь они поддерживаются только в операциях, которые реально использует микрокод
- переделан блок ввода-вывода Q-bus на синхронный, переделан таймер транзакции
- теперь рабочая частота равна pin_clk, а не делится на 18 для оригинального симуляции тактового генератора на линии задержки

Все заводские тесты проходит, перехожу на Wishbone и готовлюсь к запуску на реальном железе, репка на github обновлена.
Пока синтезатор показывает частоту проекта 65МГц, маловато, будем бороться.

Vslav
22.12.2020, 01:48
M4 заработал на реальной FPGA - на DE0, пока на 50МГц, есть кое-какие идеи по улучшению Fmax, буду завтра пробовать.
Предварительно прогнал тесты вычисления Пи, без EIS M4 процентов на 10 обходит 1801ВМ1, с EIS (MUL/DIV) почти догоняет 1801ВМ2. Вообще М4 процессор древний, нет предвыборки следующей команды и на шина не очень удачно сделана, так что результаты очень даже ничего.

hobot
22.12.2020, 05:47
Вообще М4 процессор древний
тема по процессору и весьма познавательная \ интересная
https://zx-pk.ru/threads/27751-protsessor-m4-skhemy-proshivki-modeli.html
пусть тут ссылка будет - не помешает ведь в данной теме?

Vslav
22.12.2020, 13:11
тема по процессору и весьма познавательная \ интересная
https://zx-pk.ru/threads/27751-protsessor-m4-skhemy-proshivki-modeli.html
пусть тут ссылка будет - не помешает ведь в данной теме?
Да, я про ту тему помню, обновил там ссылки тоже.
В-общем, не нашел я способов оптимизировать М4, там вообще нет конвейера, просто тупо все в один цикл сделано изначально. Пытался разнести выборку микрокоманды и исполнение на АЛУ, но там есть хитрый флажок PSW_XC, он влияет на адрес следующей микрокоманды в секвенсоре. И этот флажок не находится в регистре, а сложно-комбинационно вычисляется как выдвигаемый бит при сдвигах, то есть - тупо результат всей огромной и длинной функции АЛУ. И от него зависит следующий адрес инструкции, пока бит не вычислен - выбирать следующую микроинструкцию нельзя. Вероятно можно было бы частоту немного поднять, если бы эту длинную цепочку заметили в свое время, а может быть и нет - это снижает количество микрокоманд в циклах умножения/деления. А так - надо переписывать микрокод, чтобы оно этот флаг защелкивало и проверяло уже в следующей микроинструкции. Но может упасть скорость деления и умножения, потому что удлиняться циклы. Переписывать микрокод не буду, это уже очень глубокая модификация, не хочется влазить в разработку. Сейчас модель работает согласно оригиналу, отличная демонстрация проекта на секционном комплекте, пусть уже живет на 50 МГц (66МГц на более быстром C3-6).

ra3qdp
22.12.2020, 15:36
Но переход в пульт - он сделан как прерывание, а значит - нужен стек
у DEC пультовый режим микропрограммный - только в микропроцессорах, а в машинах "на рассыпухе" - в виде программы в ПЗУ(в области адресов ввода-вывода). Кому интересно - можно посмотреть как у DEC это реализовано. Кстати, нужно для одного проекта "вытащить" от туда эту программку - кто бы взялся сделать ?
(листинги с комментариями есть и DEC и от 100/25).

Hunta
22.12.2020, 15:43
у DEC пультовый режим
Я про DEC говорил??


нужно для одного проекта "вытащить" от туда эту программку - кто бы взялся сделать ?
Тот, кому нужно

ra3qdp
22.12.2020, 16:01
И похоже что идея macroODT c T-11 и позаимствована зеленоградцами
Т11 - единственный микропроцессор DEC, в котором нет микропрограммного OTD, и если в каком-то изделии на этом процессоре он нужен, то его надо реализовывать как программу в ПЗУ, занимающую какую-то область в адресах памяти, а в Зеленоградских придумали "теневую" область. Зеленоградский OTD повторяет по синтаксису DEC_овский микропрограмный, а он значительно более "дружественный" для ползователя по сравнению с тем, что в "больших" машинах и, соответственно, требует бОльшего количества ячеек памяти для реализации. И, если маленькая програмка в "больших" машинах занимала немного ячеек в области ввода-вывода" и с этим можно было мириться, то копия микропрограммного получалась слишком объемной и пришлось ее аппаратно "прятать".

Vslav
22.12.2020, 16:07
М4 запустился на Lichee Tang. Круто, кетайцы обновили среду разработки "Tang Dynasty" до 5-ой версии. Меня и 4.6 устраивала, все интуитивно понятно, компилирует и прошивает вообще без проблем. Осталось проверить только больной на голову Xilinx с его вечно падающей ПISE. Надо доставать ноутбук и собирать проект на нем.
В среднем, на всех платах проверял на 50МГц, но при большом желании и тьюнинге можно выжать и 60. Циклон 5 неожиданно оказался эффективен на М4 - до 80МГц.

ra3qdp
22.12.2020, 16:10
без EIS M4 процентов на 10 обходит 1801ВМ1, с EIS (MUL/DIV) почти догоняет 1801ВМ2
про М5 пишут 800 000 рег-рег, а что в паспорте про М4 ?

Vslav
22.12.2020, 16:23
про М5 пишут 800 000 рег-рег, а что в паспорте про М4 ?
Не задавайте, пожалуйста, риторических вопроcов. Откройте страничку проекта (https://github.com/1801BM1/cpu11/tree/master/am4), там есть все ссылки на использованные материалы, в том числе - на русскоязычную документацию на М4/MC1280. Скачайте, прочтите - и получите ответ на свой вопрос. Заодно, может быть, с нами полученными знаниями потом поделитесь.

Vslav
22.12.2020, 19:18
Прогнал М4 на всех имеющихся у меня отладочных платах с FPGA, обновил репку. Начал использовать механизм релизов. Первый - сегодня, [20.12] (https://github.com/1801BM1/cpu11/releases/tag/20.12), там сразу архив со снапшотом всех исходников.

Hunta
22.12.2020, 19:25
Ну скажи, скажи - дальше ВМ3?? :v2_dizzy_step: :)

Vslav
22.12.2020, 19:27
Ну скажи, скажи - дальше ВМ3?? :v2_dizzy_step: :)
Хотел бы - но нет. Дальше - отпуск. А потом уже ВМ3 :)

Hunta
22.12.2020, 19:28
А, ну не - отпуск - это святое! Это даже без вариантов :):)

Vslav
22.12.2020, 19:30
Ну год был неплохой. Два процессора было выкачено, нормально, можно и отдохнуть :)

Hunta
22.12.2020, 19:32
Тяжеловато идёт Verilog... Чуйствую, что бы ускорить процесс, надо, как с программирование - начать писать на нём. Хотя в VHDL есть некоторые плюшки, которые мне нравятся и которых нет в Verilog. И скорее всего всё кончится тем, что я буду использовать чьи-то модули, написанные на Verilog, а сам по прежнему буду на VHDL... :)

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


Два процессора было выкачено, нормально, можно и отдохнуть
Я так подозреваю, что помимо процов, была ещё и работа, так что по любому НУЖНО отдохнуть. Всё таки от хобби не так устаёшь, как от работы...

hobot
23.12.2020, 03:05
Ну год был неплохой. Два процессора было выкачено, нормально, можно и отдохнуть
переоценить ваше участие НЕ ВОЗМОЖНО, от себя лично - очень благодарю вас за всю проделанную работу, отрадно, что Зеленоградские процессоры интересны таким специалистам как вы, с наступающими и здоровья вам и всем вашим близким!!! Берегите себя, новых успехов вам по всем направлениям вашей деятельности !!! )

Спасибо.

Vslav
28.12.2020, 23:40
Дед Мороз мимо пробегал:


https://www.1801bm1.com/files/retro/1806/images/1806vm2-low.jpg


1806ВМ2 (https://www.1801bm1.com/files/retro/1806/images/1806vm2.jpg) (257MB)
580ВН59 (https://www.1801bm1.com/files/retro/580/images/580vn59.jpg) (61MB)
1811ВМ1 (https://www.1801bm1.com/files/retro/1811/images/1811vm1.jpg) (105MB)
1811ВУ1 (https://www.1801bm1.com/files/retro/1811/images/1811vu1.jpg) (100MB)
1811ВT1 (https://www.1801bm1.com/files/retro/1811/images/1811vt1.jpg) (122MB)

Titus
29.12.2020, 00:49
1806ВМ2 (257MB)
На первый взгляд сильно отличается от 1801?

Хорошо бы Дед Мороз еще ХМ-ки принес)

ra3qdp
29.12.2020, 09:51
580ВН59 (61MB)

580 - плохо к теме относится, лучше - 1818ВН59

Vslav
29.12.2020, 10:38
На первый взгляд сильно отличается от 1801?
По моему мнению - несильно :). Просто перевели на КМОП, топологические нормы такие же. Но кристалл здоровый, наверное по размеру больше чем 1801ВМ3. Я начал его на x20 снимать, вышло 600 снимков, задолбался - и снимать и клеить, четверть сделал и бросил. Тем более, multiblend максимум 255 снимков жрет, а enblend такое неделю собирал бы. А смысла так заморачиваться нет, и так все отлично видно. Но если кто хочет, может поклеить - могу временно выложить 12 гигабайт, 600 снимков на x20 и проект в Hugin.



Хорошо бы Дед Мороз еще ХМ-ки принес)
Тот Дед Мороз занят, но отписался что скоро займется вопросом :)

Vslav
29.12.2020, 12:40
https://www.1801bm1.com/files/retro/1807/images/1807vm1-low.jpg

1807ВМ1 (110MB) (https://www.1801bm1.com/files/retro/1807/images/1807vm1.jpg)

Этот кристалл вскрывался в кислоте, поэтому не очень чистый. Интересно, что было открыто два кристалла, они совершенно разного цвета - этот зеленый, а второй фиолетово-розовый. Все сильнее склоняюсь к мысли что это цвет фоторезиста.

Titus
29.12.2020, 12:50
580ВН59 (61MB)
Хорошо бы ВГ75 и ВТ57, тогда можно будет отреверсить Радио-86РК и всякие Апогеи.
А еще ВВ55 и ВИ53.

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


По моему мнению - несильно . Просто перевели на КМОП, топологические нормы такие же. Но кристалл здоровый, наверное по размеру больше чем 1801ВМ3.
За счет чего он больше, чем 1801ВМ2? Чисто из-за перехода на КМОП, или что-то новое добавилось?

Vslav
29.12.2020, 12:57
Еще есть такое:

https://www.1801bm1.com/files/images/vm86m_logo.jpg


Открыто два кристалла ВМ86М, но грязно, много повреждений стекла, нормы мелкие, при реверсе будет сплошное мучение.
Я бы прикупил пару (ну или один хотя бы) 1810ВМ86М для будущего реверса В КЕРАМИКЕ, чтобы чисто открыть и работать по нормальной фотографии.
Иначе, наверное, поищу обычные 1810ВМ86 в керамике и буду реверсить их.



А еще ВВ55 и ВИ53.

ВИ53 уже есть: https://www.1801bm1.com/files/retro/580/images/580vi53m.jpg
Остальное - если будет возможность.



За счет чего он больше, чем 1801ВМ2? Чисто из-за перехода на КМОП, или что-то новое добавилось?
Точно никто не скажет насчет нового - надо реверсить. И это буду точно не я :)

Titus
29.12.2020, 13:01
И это буду точно не я
Мне тоже не надо особо)

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


Иначе, наверное, поищу обычные 1810ВМ86 в керамике и буду реверсить их.
Чем с буквой М отличался?
В каких клонах PC стоял этот процессор?

Vslav
29.12.2020, 13:05
Чем с буквой М отличался?
В каких клонах PC стоял этот процессор?
Там тема с ВМ86М интересная, гуглится несколько обсуждений. Там немножко другой микрокод, поддерживает некоторые инструкции 186-го, имеет исключение по неопределенному опкоду и поддерживает дополнительные флаги для эмуляции защищенного режима 286-го. 86M было бы интереснее пореверсить, чем обычный 86-ой.
Кстати, на гитхабе интерес к 8080А выше чем к серии PDP-11, так что 8086 имеет смысл отреверсить.

Titus
29.12.2020, 13:29
Кстати, на гитхабе интерес к 8080А выше чем к серии PDP-11, так что 8086 имеет смысл отреверсить.
А как коррелируется 8080 и 8086?

dk_spb
29.12.2020, 13:33
Там тема с ВМ86М интересная, гуглится несколько обсуждений
А разве они были в керамике?

Vslav
29.12.2020, 14:19
А как коррелируется 8080 и 8086?
Интеловская техника, можно предположить что к 8086 интерес тоже будет высокий. Возможно больше чем к 8080. К PDP-11 интерес очень умеренный.

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


А разве они были в керамике?
Не знаю, "военные" ВМ86 вроде иногда умели PUSHA/POPA, кристалл 86М вероятен.
Квазар-МС вроде продает 86М, надо им звонить и спрашивать, может быть продадут некорпусированные кристаллы.

xolod
29.12.2020, 16:05
Интеловская техника, можно предположить что к 8086 интерес тоже будет высокий.
Ну не XT единым 8086 интересен. Intel SBC и его всякие клоны СМ1810, Robotron , LABTAM и т.д.

hobot
29.12.2020, 16:30
В каких клонах PC стоял этот процессор?

Радио-86РК и всякие Апогеи


Интеловская техника

Может быть всё таки тут, в ветке ДВК\УК-НЦ и PDP - всё это не совсем уместно?
Особенно так рьяно и в таком количестве? Есть же темы в зарубежных компьютера и отечественных по выше перечисленным платформам или (всё не относящееся к УК-НЦ\ДВК и PDP-пишкам) где нибудь в Разном обсуждать.
Честно считаю, что это даже в плане поиска информации в дальнейшем - только пользу принесёт и не будет информационного мусора здесь )

Может к PDP и умеренный интерес, но не в этом разделе.
А вот сторонние всякие кристаллы обсуждают 3-ое "увлечённых фанатиков" (в хорошем смысле), но, господа,
где ваш здравый смысл и самоконтроль? Неужели тут место говорить про всякое левое железо ?

Vslav
01.01.2021, 15:15
Всех с Новым Годом!

Вопрос такой - чем тестировать 1801ВМ3? Есть где "заводские тесты" по типу 791401 для ВМ2,

Hunta
01.01.2021, 15:32
С Новым годом :)
Насколько я помню, с Квантом-4С шли дискеты, на одной из них вроде были тесты.. Щас гляну...

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

Дискеты из поставка c Квант-4С (http://www.KpXX.Ru/KBAHT4C/Софт/Поставка)
МД21 - диск (в том числе) с тестами

Vslav
01.01.2021, 18:32
Дискеты из поставка c Квант-4С (http://www.KpXX.Ru/KBAHT4C/Софт/Поставка)
МД21 - диск (в том числе) с тестами
Пока не найдено:
CPCBA0 - тест базовых команд процессора
CPCCA0 - тест арифметических команд
CDMAA1 - тест диспетчера памяти

XXDP про эти индексы ничего не знает.

Alex_K
01.01.2021, 18:44
Пока не найдено:
CPCBA0 - тест базовых команд процессора
CPCCA0 - тест арифметических команд
А что CPCAA0 не всё тестирует?

Vslav
01.01.2021, 18:51
А что CPCAA0 не всё тестирует?
Маловат он как-то, 8КБ всего. Еще бы листинги найти.

Alex_K
01.01.2021, 20:43
Маловат он как-то, 8КБ всего. Еще бы листинги найти.
Посмотрел. Тестирует только основной набор команд, аналог 791401. EIS (MUL, DIV, ASH, ASHC) нет. MTPI, MTPD, MFPI, MFPD тоже нет. Листингов нигде не видел.

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

Да и 791401 и CPCAA0 почти идентичны:


BINCOM comparing/ MZ2:CPCAA0.TMS -- MZ2:791401.TMS


000000 030/ 153520 000032 153512
032/ 000340 000000 000340
456/ 007040 065416 062456
460/ 071160 070040 001120
462/ 064157 067562 003435
464/ 062157 067550 005407
466/ 000017 000144 000153
000007 406/ 111011 112021 003030
724/ 121267 021267 100000
764/ 121067 021067 100000
000017 376/ 000060 000000 000060
400/ 110067 000000 110067
402/ 000012 000000 000012
404/ 010700 000000 010700
406/ 062700 000000 062700
410/ 000006 000000 000006
412/ 000207 000000 000207
414/ 054515 000000 054515
416/ 001000 000000 001000
420/ 004767 000000 004767
422/ 000024 000000 000024
424/ 010103 000000 010103
426/ 010502 000000 010502
430/ 062702 000000 062702
432/ 177756 000000 177756
434/ 012322 000000 012322
436/ 012322 000000 012322
440/ 012322 000000 012322
442/ 016312 000000 016312
444/ 000004 000000 000004
446/ 000207 000000 000207
450/ 105065 000000 105065
452/ 177777 000000 177777
454/ 017565 000000 017565
456/ 000010 000000 000010
460/ 000006 000000 000006
462/ 005003 000000 005003
464/ 104021 000000 104021
466/ 005065 000000 005065
470/ 177754 000000 177754
472/ 016504 000000 016504
474/ 177752 000000 177752
476/ 005724 000000 005724
500/ 062703 000000 062703
502/ 000034 000000 000034
504/ 005265 000000 005265
506/ 177754 000000 177754
510/ 026503 000000 026503
512/ 177754 000000 177754
514/ 101405 000000 101405
516/ 005365 000000 005365
520/ 177754 000000 177754
522/ 104020 000000 104020
524/ 000423 000000 000423
526/ 000761 000000 000761
530/ 005714 000000 005714
532/ 001413 000000 001413
534/ 010702 000000 010702
536/ 062702 000000 062702
540/ 177122 000000 177122
542/ 010401 000000 010401
544/ 104025 000000 104025
546/ 010500 000000 010500
550/ 062700 000000 062700
552/ 000012 000000 000012
554/ 104024 000000 104024
556/ 000401 000000 000401
560/ 000403 000000 000403
562/ 062704 000000 062704
564/ 000022 000000 000022
566/ 000746 000000 000746
570/ 010401 000000 010401
572/ 000207 000000 000207
574/ 105265 000000 105265
576/ 177777 000000 177777
600/ 010700 000000 010700
602/ 162700 000000 162700
604/ 017602 000000 017602
606/ 062700 000000 062700
610/ 017644 000000 017644
612/ 104044 000000 104044
614/ 010500 000000 010500
616/ 062700 000000 062700
620/ 000012 000000 000012
622/ 104044 000000 104044
624/ 005000 000000 005000
626/ 104023 000000 104023
630/ 066765 000000 066765
632/ 177040 000000 177040
634/ 000006 000000 000006
636/ 004775 000000 004775
640/ 177772 000000 177772
642/ 000207 000000 000207
644/ 020077 000000 020077
646/ 047516 000000 047516
650/ 020124 000000 020124
652/ 047506 000000 047506
654/ 047125 000000 047125
656/ 035104 000000 035104
660/ 000040 000000 000040
662/ 020077 000000 020077
664/ 042122 000000 042122
666/ 042440 000000 042440
670/ 051122 000000 051122
672/ 005015 000000 005015
706/ 040100 000000 040100
710/ 040100 000000 040100
712/ 040100 000000 040100
714/ 040100 000000 040100
716/ 040100 000000 040100
720/ 040100 000000 040100
722/ 040100 000000 040100
724/ 040100 000000 040100
726/ 040100 000000 040100
730/ 040100 000000 040100
732/ 040100 000000 040100
734/ 040100 000000 040100
736/ 040100 000000 040100
740/ 040100 000000 040100
742/ 040100 000000 040100
744/ 040100 000000 040100
746/ 040100 000000 040100
750/ 040100 000000 040100
752/ 040100 000000 040100
754/ 040100 000000 040100
756/ 040100 000000 040100
760/ 040100 000000 040100
762/ 040100 000000 040100
764/ 040100 000000 040100
766/ 040100 000000 040100
770/ 040100 000000 040100
772/ 040100 000000 040100
774/ 040100 000000 040100
776/ 040100 000000 040100




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

И да, начиная с адреса 017376 идёт мусор, такое же содержимое есть в тесте CINAA0.

svinka
02.01.2021, 04:43
Дед Мороз мимо пробегал:

1806ВМ2 (257MB)

А диффузия будет?

Vslav
02.01.2021, 13:51
А диффузия будет?
Шлифовка - это достаточно сложно. Но, если интерес не праздный, можно обдумать.

forth32
07.01.2021, 13:17
Опять прошу помощи у специалистов. Тут в свое время обсуждался глюк процессора при использовании режимов адресации @PC. Я нарвался на похожую проблему, и хотел уточнить, это проявление данного глюка, или же нет.
Я занимаюсь сейчас подготовкой к публикации моего FPGA-варианта платы МС1201.02, поскольку здесь нашлись интересующиеся данной разработкой. Я доделал контроллер RX11/RX01, и в процессе тестов оказалось, что RT-11 ни в какую не хочет грузиться с дисковода по команде монитора B DX. Из-под системы командой BOOT грузится, а из-под монитора никак не хочет. Трассировка процесса загрузки из-под SignalTap показала, что процессор ведет себя неадекватно. Вот тестовый фрагмент, являющийся составной частью первичного загрузчика DX:

3 000000 START:
4 000000 011706 MOV @PC,SP
5 000002 012702 000200 MOV #200,R2
6 000006 005000 CLR R0
7 000010 000000 HALT
8 000000 .END START

Здесь в первой инструкции используется код следующей команды в качестве нового указателя стека. Конечно, так писать могут только больные на голову люди, но тем не менее это кусок официального дековского драйвера. Очевидно, что после выполнения данного кода должно получиться R2=200, R0=0. Попробуем запустить этот код из монитора:

@0/000000 11706
000002/000000 12702
000004/000000 200
000006/000000 5000
000010/000000 0
@R0/140001
@R2/000000
@R6/000776
@
@0G 000012
@R0/140001
@R2/005000
@R6/012702
@

Как видим, первая команда отработала правильно, в SP записалось 12702. А дальше начались проблемы. Следующая команда свой аргумент взяла на слово дальше - не 200, а 5000. А команда CLR вообще не отработала, регистр R0 не изменился. Естественно, что в этой ситуации загрузка с дискеты невозможна:

@B
$DX 000204
@

Поскольку выше в качестве адреса буфера установилось не 200, а 5000, то по адресу 200 остались нули, и при передаче туда управления получаем вылет в монитор.
Что странно, загрузка по команде BOOT/FOREIGN работает правильно:

RT-11SJ (S) V05.04 D

.SET TT QUIET

.BOO/FOR DX:

DW Handler V6.5, (c) D.S.C., 1992-2016


RT-11SJ (S) V05.04 D

.SET TT QUIET

.

Хотя, по идее, при этом происходит то же самое - с дискеты считывается сектор 1 дорожки 1 по адресу 0 и туда передается управление.

Странно, но мне помнится, что в начале 90-х годов у нас еще стояли ДВК с дисководами ГМД-70 и все прекрасно с них грузилось. Хотя, почти 30 лет прошло, возможно я что-то уже и забыл. Возможно, это были ДВК-1 на 1801ВМ1, или мы использовали не RT-11, а какой-нибудь советский суррогат вроде рафоса.

Titus
07.01.2021, 13:53
Опять прошу помощи у специалистов

Читать отсюда (https://zx-pk.ru/threads/30964-revers-inzhiniring-uknts-(1515khm1-amp-2-1801vp1-1801vm2).html?p=1094433&viewfull=1#post1094433).

forth32
07.01.2021, 15:36
Читать отсюда.
Спасибо, конечно. Но в мои планы пока не входило с нуля разбираться во внутреннем устройстве процессора. А без этого трудно понять смысл всех этих внутренних регистров - BRD, PC1, PC2, RA итд. И, соответственно, полный смысл вышеуказанной статьи тоже понятен только примерно. Но из того, что я примерно понял, мне показалось, что после начала сбоя процессор должен отстать на одну инструкцию, то есть выполнить одну и ту же команду дважды. У меня же, наоборот, процессор пропустил одно слово (200) и в качестве аргумента инструкции по адресу 2 взял слово по адресу 6, а не 4. Но, повторяю, я в потрохах процессора не разбираюсь, отсюда и попросил тех, кто в них разбирается, прокомментировать ситуацию - это тот самый сбой, или что-то другое.
Кроме того, VSLAV говорил, что он исправил в своей модели эту ошибку, для чего добавил параметр VM2_CORE_FIX_PREFETCH = 1. У меня он указан, но ошибка все равно проявляется.

Titus
07.01.2021, 16:01
Кроме того, VSLAV говорил, что он исправил в своей модели эту ошибку, для чего добавил параметр VM2_CORE_FIX_PREFETCH = 1. У меня он указан, но ошибка все равно проявляется.

В той же теме Vslav пояснял:

По ходу мой фикс с PC2 не работает как надо. Придется таки разбираться и патчить микрокод.

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

В принципе, я имею представление, как сделать фикс, чтобы ошибку кеша исправить, но фикс должен делать Vslav, т.к. я не Verilog'щик.

Vslav
07.01.2021, 16:54
3 000000 START:
4 000000 011706 MOV @PC,SP
5 000002 012702 000200 MOV #200,R2
6 000006 005000 CLR R0
7 000010 000000 HALT
8 000000 .END START


Это дековский драйвер? Не фрагмент реального кода из 1801РЕ2-055 ? То есть, на реальном процессоре ВМ2 такое никто еще не пытался запустить?
Попробуйте запретить мой фикс, установите в ноль: VM2_CORE_FIX_PREFETCH = 0.

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



В принципе, я имею представление, как сделать фикс, чтобы ошибку кеша исправить, но фикс должен делать Vslav, т.к. я не Verilog'щик.
Насколько я понимаю, надо пропатчить RI2, чтобы адресации (R7), -(R7), @-(Rn) принудительно уходили на 0x21.

Titus
07.01.2021, 17:18
Насколько я понимаю, надо пропатчить RI2, чтобы адресации (R7), -(R7), @-(Rn) принудительно уходили на 0x21.

Я думаю, можно по простому можно попробовать вот как сделать:

Если IA = 0x13 (завершающая микрокоманда для адресаций вида ALU ss,Rn), и при этом RI2 = 1 (ss использует R7), то для адреса NA принудительно устанавливать бит 5 (чтобы из адреса 0x01 всегда получалось 0x21).

В оригинале этот фрагмент выглядит так:

//---------------------------------------------------------------------- Приемник - регистр
0x13:
if (RI2=0) WAIT_BRD // Если ss не использует R7, то oжидание готовности чтения BRD
ALU BRD,Rd // Операции ALU из шага 0x3B, в качестве приемника Rd, в качестве источника BRD
else // Иначе ss использует R7
ALU RS,Rd // Операции ALU из шага 0x3B, в качестве приемника Rd, в качестве источника RS
endif
PLI_REQ // Запросить проверку запросов на прерывание
if (Rd=R7) // Если Rd=R7, то
GOTO 0x21 // Перейти на команду выборки следующей некэшированной инструкции
else // Иначе
GOTO 0x01 // Перейти на команду выборки следующей инстру

forth32
07.01.2021, 17:25
Это дековский драйвер? Не фрагмент реального кода из 1801РЕ2-055 ?
Да, это именно кусок из дековского DX.MAC. В оригинале это выглядит так:

.SBTTL BOOTSTRAP DRIVER

.DRBOT DX,BOOT1,READ

. = DXBOOT+14
.WORD READS-DXBOOT
.WORD 340
.WORD WAIT-DXBOOT
.WORD 340

. = DXBOOT+34 ;34-52 USEABLE
BOOT1: MOVB UNITRD-DXBOOT(R0),RDCMD ;SET READ FUNCTION FOR CORRECT UNIT
REETRY: MOV @PC,SP ;INIT SP WITH NEXT INSTRUCTION
MOV #200,R2 ;AREA TO READ IN NEXT PART OF BOOT
CLR R0 ;SET TRACK NUMBER
BR B2$ ;OUT OF ROOM HERE, GO TO CONTINUATION

Код, конечно, дурацкий, но я уже не первый раз обращаю внимание, что дековцы очень любят всякие программные извращения - самомодифицирующийся код, использование инструкций в качестве данных итд. Даже там, где от них никакой пользы, вот как здесь.
Загрузка у нас идет в несколько этапов. Вначале монитор 055 (у меня 279) читает с диска сектор 1 дорожки 1 по адресу 0 и передает туда управление. И этот код как раз работает правильно - сектор читается без ошибок.
Сектор у этих дисков маленький, 128 байт всего, много кода туда не запихаешь. Поэтому имеющийся там код дочитывает еще 2 сектора и размещает их по адресам 200 и 400, и передает туда управление. И вот в этом месте и возникает сбой.


То есть, на реальном процессоре ВМ2 такое никто еще не пытался запустить?
Попробуйте запретить мой фикс, установите в ноль: VM2_CORE_FIX_PREFETCH = 0.
Попробовал. И все заработало!!!!!! Команды отрабатываются правильно, загрузка из монитора командой B DX идет нормально. Получается, патч нарушал работу процессора.
Значит, на железном процессоре, где нет патча, все и раньше работало правильно. И я правильно помню, как грузил систему с ГМД-70.

Titus
07.01.2021, 17:28
Значит, на железном процессоре, где нет патча, все и раньше работало правильно. И я правильно помню, как грузил систему с ГМД-70.
Если память достаточно быстрая, то этот глюк проявляться и не должен.

forth32
07.01.2021, 17:34
Если память достаточно быстрая, то этот глюк проявляться и не должен.
У меня динамическая память DRAM, она не может быть быстрой, глюк обязательно проявится. На оригинальной МС1201 тоже ведь стоят 565РУ6 в качестве памяти.
В данном случае глюк оказался искусственно привнесенным. Реальный глюк поймать очень трудно - мало кто использует адресацию @PC, смысла в этом нет никакого.

Titus
07.01.2021, 18:42
У меня динамическая память DRAM, она не может быть быстрой, глюк обязательно проявится.
Быстрота - вещь относительная.
Если глюк не проявляется, значит память быстрее, чем тот порог, после которого глюк проявляется.

forth32
07.01.2021, 18:50
Быстрота - вещь относительная.
Если глюк не проявляется, значит память быстрее, чем тот порог, после которого глюк проявляется.
А сколько должно пройти тактов от начала транзакции до REPLY, чтобы глюк проявился?

Titus
07.01.2021, 19:30
А сколько должно пройти тактов от начала транзакции до REPLY, чтобы глюк проявился?
Сходу не скажу. Но прикинем. Предвыборка приводящая к ошибке запрашивается в микрокоманде 0x10, далее в микрокоманде 0x13 идет собственно вычисление ALU. И выборка следующей инструкции начинается в микрокоманде 0x01.
Значит получается, что предвыборка должна завершиться за 8 тактов, чтобы глюков не было. Но это такие общие прикидки, надо смотреть точнее.

forth32
07.01.2021, 20:25
В моей схеме при чтении DRAM от фронта wb_stb до фронта wb_ack (reply) проходит 12 тактов. Не самый лучший, конечно, DRAM-контроллер, но глюк по идее должен проявиться. Впрочем, я не знаю, должен ли он вообще в моем случае проявиться:

3 000000 START:
4 000000 011706 MOV @PC,SP
5 000002 012702 000200 MOV #200,R2
6 000006 005000 CLR R0
7 000010 000000 HALT
Команда, идущая вслед за проблемной mov @pc,sp, также использует адресацию от PC, только в форме (PC)+. Это может влиять на проявление глюка?

Titus
07.01.2021, 20:45
Команда, идущая вслед за проблемной mov @pc,sp, также использует адресацию от PC, только в форме (PC)+. Это может влиять на проявление глюка?
Может.
Подробно я это не разбирал, т.к. Alex_K наше на реале какие-то странные глюки, которые микропрограммой и сбоем в кэше пока не обьяснились. Хотя, все остальные глюки с предвыборкой обьяснились хорошо.

Кроме того, надо иметь ввиду, что синхронная модель это не асинхронная, и уж тем более не оригинал. И вполне могут быть отличия в таком специфическом деле.

Alex_K
07.01.2021, 22:14
В моей схеме при чтении DRAM от фронта wb_stb до фронта wb_ack (reply) проходит 12 тактов. Не самый лучший, конечно, DRAM-контроллер, но глюк по идее должен проявиться.
А чего так медленно? На оригинальной МС1201.02 контроллер на 1801ВП1-013 довольно резво читает память и глюк не проявляется.

Команда, идущая вслед за проблемной mov @pc,sp, также использует адресацию от PC, только в форме (PC)+. Это может влиять на проявление глюка?
Вот на оригинальном 1801ВМ2 представленный вами фрагмент работает идеально, без всяких глюков. Чтобы глюк проявился надо также, чтобы команда, идущая за командой с адресацией @PC, не нарушала предвыборку, т.е. состояла бы из одного слова. А команда MOV #200,R2 фактически состоит из двух слов и предвыборку нарушает.

Vslav
07.01.2021, 22:18
Я в выходные постараюсь заняться фиксом. Разберу кусочек микрокода и попробую разные варианты. Всем спасибо за помощь и информацию.

MiX
07.01.2021, 22:19
Alex_K, если ещё надо прогнать тест для 1806ВМ2 пишите в личку, я запущу машину.

Alex_K
07.01.2021, 22:35
Я в выходные постараюсь заняться фиксом. Разберу кусочек микрокода и попробую разные варианты. Всем спасибо за помощь и информацию.
Просто при адресациях @PC, -(PC) и @-(PC) надо делать недействительным кеш. Проблемы могут появится с декрементными адресациями, уж больно там интересные эффекты наблюдаются.

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


Разберу кусочек микрокода и попробую разные варианты.
Да, кстати, в 1806ВМ2 по некоторым сведениям, эта проблема решена.

Vslav
07.01.2021, 22:41
Да, кстати, в 1806ВМ2 по некоторым сведениям, эта проблема решена.
Не-не... Разобрать кусочек микрокода всяко проще чем реверсить 1806ВМ2 :)

Titus
07.01.2021, 22:47
Разберу кусочек микрокода и попробую разные варианты. Всем спасибо за помощь и информацию.
Микрокод менять нет смысла, ибо микрокоманда 0x13, в которой принимается решение о переходе на 0x01 или на 0x21, состоит из записей, применяемых и в других микрокомандах, в частности запись 11 (не микрокоманда) как раз отвечает за добавление 0x20 к адресу микрокоманды. При попытке это поменять, слетит весь микрокод. Лучше попробуй сделать, как я предложил выше.


11: .............111 .0..00 ... ... 1..... ............................... Если dd=R7, то следующий адрес + 0x20 (т.е. адреса 0x21 для простых операций)

Vslav
07.01.2021, 22:52
Микрокод менять нет смысла
Я сделаю дополнительный флажок из предекодера, что инструкция "в группе риска". И буду модифицировать Next-Address-Field только если флажок активен, все будет аккуратно.

Vslav
09.01.2021, 15:58
Большое спасибо Юре yu.zxpk за добавление поддержки отладочной платы на Artix7 - https://github.com/ChinaQMTECH/QM_XC7A35T_DDR3/
Сегодня его Pull Request, наконец, замерджен и выложен в репке.

Это хорошая иллюстрация как можно вкладываться в проект:

1. fork
2. update the code
3. pull request
4. review
5. Merge

И коммит с Вашим именем в качестве автора навсегда остается в проекте :)
Самое сложное - пройти пункт 4 :)

yu.zxpk
09.01.2021, 17:47
Больше гемора было с описанием top-модуля (сигналов) и сборкой ROM из MAC на Linux. Ну и с ROM на BRAM (не вошло в PR)

Hunta
09.01.2021, 19:09
Больше гемора было ... и сборкой ROM из MAC на Linux. Ну и с ROM на BRAM (не вошло в PR)
Когда меня это достало, написал скрипт на powershell-е, который берёт листинг MACRO и делает из него MIF

Hunta
11.01.2021, 12:27
Vslav, добрый день. Консультация нужна. Асинхронный сброс триггера - насколько это плохо, насколько хорошо? В варианте, когда триггер один и в варианте, когда из триггеров собран регистр на какое то количество разрядов?

Vslav
11.01.2021, 14:59
Vslav, добрый день. Консультация нужна. Асинхронный сброс триггера - насколько это плохо, насколько хорошо? В варианте, когда триггер один и в варианте, когда из триггеров собран регистр на какое то количество разрядов?
Да нормально, асинхронный сброс - это штатный режим в нонешних FPGA. Там важно чтобы "иголок" на этом асинхронном сбросе не формировалось, иногда бывает, поэтому лучше его формировать с выхода триггера.

Hunta
11.01.2021, 15:16
Спасибо!

ilynxy
13.01.2021, 11:11
Vslav, добрый день. Консультация нужна. Асинхронный сброс триггера - насколько это плохо, насколько хорошо? В варианте, когда триггер один и в варианте, когда из триггеров собран регистр на какое то количество разрядов?Ещё немаловажно время перехода в неактивное состояние асинхронного сброса по отношению к активному фронту тактирующего сигнала. В этом смысле он ведёт себя как обычный синхронный сигнал и должен соответствовать времянкам (у альтеры это называется release time). То есть устанавливаться он может асинхронно, а вот отпускать его нужно синхронно с тактовым. Собственно рекомендация формировать его с выхода триггера (или метастабильного триггера — цепочки из двух-трёх) решает эту проблему автоматом.

yu.zxpk
13.01.2021, 20:51
У Xilinx в доке есть описание макроса XPM_CDC_ASYNC_RST (Parameterized Macro: Asynchronous Reset Synchronizer)

This macro synchronizes an asynchronous reset signal to the destination clock domain. The resulting reset output will be guaranteed to assert asynchronously in relation to the input but the deassertion of the output will always be synchronous to the destination clock domain.https://www.dropbox.com/s/seyfmszxj2ns7y1/XPM_CDC_ASYNC_RST.png?dl=0

AlexG
13.01.2021, 22:44
Ещё немаловажно время перехода в неактивное состояние асинхронного сброса по отношению к активному фронту тактирующего сигнала. В этом смысле он ведёт себя как обычный синхронный сигнал и должен соответствовать времянкам (у альтеры это называется release time). То есть устанавливаться он может асинхронно, а вот отпускать его нужно синхронно с тактовым. Собственно рекомендация формировать его с выхода триггера (или метастабильного триггера — цепочки из двух-трёх) решает эту проблему автоматом.
это на тот случай когда сброс "ходит" по всей плисе и важно чтоб сброс деактивировался ДО прихода очередного такта. Блин. криво изясняюсь. Это типо как в левой половине схемы сброс уже не активный и схема уже тактируется клоком, а в правой части схемы сброс ещё активен.

Hunta
13.01.2021, 23:39
Я думаю, можно сделать проще. Активация сброса вырубает все клоки. А его деактивация врубает их, но не сразу, а с ощутимой задержкой. Это если глобальный сброс.

Если же это использование сброса как средство быстрого снятия сигнала с выхода триггера - тогда с учётом (локального) клока на спаде сигнала сброса

Кстати, я именно второй сценарий больше имел ввиду, когда задавал вопрос про использование входа сброса у триггера

Vslav
14.01.2021, 09:33
Я думаю, можно сделать проще. Активация сброса вырубает все клоки.
Нет, обычно это неправильный сценарий. Обычно есть много триггеров которые отрабатывают только синхронно, и нормальный порядок их приведения в исходное - подать сброс и подождать несколько тактов пока состояние распространится на все цепочки. Обычно в спецификациях еще указывают сколько тактов надо подождать в состоянии сброса. Даже синхронной модели 1801ВМ1 надо минимум два такта с активным сбросом чтобы прийти в исходное.

Hunta
14.01.2021, 09:42
Нет, обычно это неправильный сценарий.

Даже синхронной модели 1801ВМ1 надо минимум два такта с активным сбросом чтобы прийти в исходное.
Пояснение по моему сценарию. Имелся ввиду вариант именно глобального сброса. То есть когда сбрасывается именно ВСЁ. И я написал про поведение при снятии сигнала сброса, но ничего про то, сколько длится сам сигнал сброса - думал, понятно, что он не будет длиться 1 такт на 500-ах МГц. То есть такой глобальный сброс свой собственный клок, который и используется для того, что бы
а) определять продолжительность самого сброса
б) определять промежуток времени после окончания сброса для запуска остальных клоков

Vslav
14.01.2021, 14:17
Имелся ввиду вариант именно глобального сброса. То есть когда сбрасывается именно ВСЁ.
Что значит глобальный и что значит ВСЕ?
Заводить асинхронный сброс на все триггеры бессмысленно и иногда невозможно или нежелательно, а также тратит ресурсы. Бывает куча синхронных машин состояний когда переходить в исходное желательно по правильным графам, а не просто все одномоментно переустановить. Те же тестовые проекты из cpu11 - модели процессоров имеют глобальный клок, но не имеют глобального сброса. Чтобы привести это все в исходное - надо подать сигнал сброса и НЕ останавливать тактовую. Там же есть специальный сброс, он активируется однократно при включении питания или длительном нажатии на кнопку, он тактируется напрямую от внешнего генератора (в том числе и кнопка от него же, что вызвало изрядный геморрой с констрейнами), и ждет инициализации PLL для генерации основного сброса системы (общесистемного) ПРИ наличии основного устойчивого клока от готовой (locked) PLL. Но этот спецсброс скорее можно назвать Power-Up, а не Reset, и оно абсолютно не глобальное, маленький локальный блок, обеспечивающий старт "от печки" при включении питания.

Hunta
14.01.2021, 15:03
Что значит глобальный и что значит ВСЕ?
Это значит, что в моём случае есть несколько самостоятельных модулей - примерно как в случае железной PDP-11 и они соединены между собой примерно так же, как в случае железного компа, то есть есть аналог(!) QBus, есть протокол работы по нему, есть аналог корзины и модули "втыкаются" в неё. Соответственно, у каждого модуля может быть свой тактовый сигнал и есть глобальный сигнал RESET, который инициируется включением питания, кнопкой пульта или командой RESET процессора.

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

Вдогонку. Сейчас этот глобальный сброс в модуле синхронен с клоком этого модуля.

Но как я уже писал, меня больше интересовал вариант быстрого снятия сигнала с выхода триггера - через асинхронный reset-вход этого триггера, а не - сигнал в нуле на входе и клок. Насколько такой подход считается комильфо.

Vslav
14.01.2021, 21:48
железного компа, то есть есть аналог(!) QBus
К аналогу есть два вопроса:
- оно же без 3-его состояния? То есть, нету никаких "двунаправленных шин" внутри FPGA. Ну я думаю - да, но всяко бывает :)
- шина синхронная? То есть тактовый сигнал общий, и значения сигналов беруться только в момент клока?
Если на один из вопросов ответ - "нет", то беда :)


Соответственно, у каждого модуля может быть свой тактовый сигнал
Это архитектурно неправильно. Нет, проект может иметь несколько тактовых доменов, иногда без этого никуда. Какой-то отдельный блок может работать на собственной частоте, например PHY SATA, или VGA с перестраиваемым клоком. Но надо _очень_ хорошо понимать где проходят границы тактовых доменов и принимать меры для согласования.

Например, когда я делал SATA, то на 150MГц у меня работал только модуль PHY и потом оно через эластичные FIFO с двумя независимыми клоками цеплялось к остальной части на собственной отдельной 75MHz (не синхронной) где была сделана вся обработка и сопряжение с основной шиной SoC. Примерно также можно отвязать растровый домен VGA. Но иметь общую шину (да не дай Бог, еще и асинхронную) и вешать на нее модули с собственным тактированием в шинной части - это тоже беда. Не, ну можно мосты сделать на dual clock FIFO, да. Но тут достаточно погуглить как эти FIFO устроены, про код Грея и "вот это вот все", и желание отпадет. У нас ретро-системы простые, можно спокойно иметь единый клок и забыть все эти метастабильные ужасы и сопряжения тактовых доменов.

AlexG
14.01.2021, 22:50
К аналогу есть два вопроса:
- оно же без 3-его состояния? То есть, нету никаких "двунаправленных шин" внутри FPGA. Ну я думаю - да, но всяко бывает :)

современные xilinx не имеют внутренних (физической реализации) логических элементов с Z-состоянием. На внешние выводы микросхемы есть (и только в этом случае).
На Veriologe можно написать код схемы с шинами и "3-им состоянием", но он самым ужасным способом превращается в месиво логических элементов в плисе.
На Альтере судя по всему ровно также...

Vslav
14.01.2021, 22:58
но он самым ужасным способом превращается в месиво логических элементов в плисе.
Да, именно это я и подразумевал своим вопросом :)
Вот так проектировать низзя, но "умельцы" все равно периодически попадаются :)

Hunta
14.01.2021, 23:08
оно же без 3-его состояния? То есть, нету никаких "двунаправленных шин" внутри FPGA.
Да, без третьего и нет двунаправленных. Я очень быстро понял, что ни того ни другого внутри FPGA быть не должно.


шина синхронная?
Нет. Строго говоря, она и у автора не может считаться синхронной, но там ещё накладывается сильная асинхронность проекта. Собственно, почему я стал, тогда ещё не понимая всего до конца, переделывать проект.


Но надо _очень_ хорошо понимать где проходят границы тактовых доменов и принимать меры для согласования.
Да, я это уже давно знаю.


У нас ретро-системы простые
Учитывая, как это всё было сделано изначально в PDP2011 - что я сомневаюсь, что ЭТО можно назвать простой системой. И самое главное, если эти модули использовать более менее самостоятельно, а не в виде одной FPGA, в которой всё-всё-всё, да ещё и на шине QBus (а пока от неё не сильно куда), то, насколько я понимаю - всё равно все эти проблемы с асинхронностью шины и необходимость с этим что то делать - выползут. Так что я продолжу двигаться в выбранном направлении, но так же постараюсь сделать модули настраиваемыми на полностью синхронную внутреннюю шину. Особенно когда пойму временные констрейнты (на уровне посдсознания) и учитывая возможно генерации в VHDL :)


На Альтере судя по всему ровно также.
Ровно так же. Поэтому я очень рано отказался от полностью аналогичной QBus внутренней шине с ОК или Z-состояниями. Правда, тогда только из за того, что это крайне хорошо приводило к незапускаемому результату, ну а потом, почитав - понял и причины :)

Vslav
14.01.2021, 23:33
Нет. Строго говоря, она и у автора не может считаться синхронной, но там ещё накладывается сильная асинхронность проекта

И это печалька. Синтез и роутинг происходят автоматически, и синтезатору нельзя объяснить (ну теоретически можно с помощью кучи констрейнов, но это "закат солнца вручную") что вот этот сигнал должен срабатывать монотонно, без "иголок". Поэтому как оно там физически по ячейкам разложит, и сколько импульсов будет, скажем, у DOUT, никто сразу так не скажет. SoC должна иметь в основе синхронную шину, это базовый пункт, иначе время будет уходить на борьбу за стабильность. Мне вообще непонятно выражение - "проект стал более стабильным" :). Для цифры стабильность это как свежесть для осетрины :)



Учитывая, как это всё было сделано изначально в PDP2011 - что я сомневаюсь, что ЭТО можно назвать простой системой.

Бюджеты транзисторные тогда были скромные, ничего сложного по сегодняшним меркам априори построить не могли. Для примера смотрим на модели процессоров 1801 и видим их очень скромный размер. Поэтому это кажущаяся сложность, навороты именно из-за неверной архитектуры SoC.



И самое главное, если эти модули использовать более менее самостоятельно, а не в виде одной FPGA, в которой всё-всё-всё

Ну модули и используют в качестве IP-блоков - или в ASIC или в FPGA, как еще? Даже если взять какой внешний интерфейс - они сейчас все синхронные, и довольно давно, взять ту же PCI или SDRAM.

Hunta
15.01.2021, 08:42
Мне вообще непонятно выражение - "проект стал более стабильным"
Когда я только начинал возиться с PDP2011, я мог получить не взлетающий результат синтеза, просто поменяв местами две строчки кода, те, которые не в process.


Бюджеты транзисторные тогда были скромные, ничего сложного по сегодняшним меркам априори построить не могли. Для примера смотрим на модели процессоров 1801 и видим их очень скромный размер.
А ничего, что там не один процессор, а полные системы - то есть процесс, память, дисковая подсистема, терминал (со своим процессором, памятью - то есть полноценный комп), сетевуха (которая опять же - полноценный комп)? Ну как - какой транзисторный бюджет у PDP-11/70 (не процессора, а у компа)?

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


И это печалька.
Это не печалька, это ДАННОСТЬ. Ибо на тот, да и чувствую, на сегодняшний момент более законченного варианта PDP-11 в возможностями использования практически всех вариантов процессора PDP-11 (от DEC) - не было.

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


Даже если взять какой внешний интерфейс - они сейчас все синхронные, и довольно давно, взять ту же PCI или SDRAM.
То есть процессор, скажем в PC, память, видюха, диск - они все используют одну тактовую частоту? Или синхронность - речь идёт о том, что происходит внутри каждого модуля?

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


Даже если взять какой внешний интерфейс - они сейчас все синхронные
Речь идёт о том, что по шине передаётся тактовый сигнал? Тогда всё равно мы приходит к тому, что будет не один клоковый домен.

Vslav
15.01.2021, 11:17
А ничего, что там не один процессор, а полные системы - то есть процесс, память, дисковая подсистема, терминал

Ну как бы мы с недавних пор можем посмотреть на отличный проект ДВК (https://github.com/forth32/mc1201-02) от forth32, там тоже все это есть. И влазит в младший циклон 4. Человек подсмотрел мои тестовые проекты и прилично развил, мне понравилось два момента:
- SoC осталась архитектурно похожей, то есть были поняты и приняты мои основные положения (Wishbone, один тактовый домен, система сбросов и прочее). То есть, похоже, я не предложил ничего совсем уж ужасного и это как-то воспринимается другими разработчиками. Ну, в-общем-то, предложен был стандартный SoC подход.
- оно реально работает, combat-proven. То есть, не чисто академическая хрень в вакууме, а то что можно реально воплотить и использовать.



Ну как - какой транзисторный бюджет у PDP-11/70 (не процессора, а у компа)?

Масштаб транзисторного бюджета определялся (да и сейчас определяется) процессором. От добавления периферии масштаб никак не поменялся, сложность осталась того же порядка, ну как O(n) для алгоритмов. Добавление периферии не привнесло O(n2).



То есть процессор, скажем в PC, память, видюха, диск - они все используют одну тактовую частоту?

Да. Особенно на общей шине между ними. Внутри они могут использовать и другие частоты в своих изолированных доменах, как я написал ранее для примеров SATA или VGA, и для этого нужны серьезные обоснования, обычно относящиеся к физическим требованиям (частота SATA стандартизована, развертка VGA тоже имеет вполне конкретные требования).



Речь идёт о том, что по шине передаётся тактовый сигнал? Тогда всё равно мы приходит к тому, что будет не один клоковый домен.
Нет, это будет один домен, именно потому что передана тактовая частота. Например, все устройства PCI в одном сегменте работают в пределах одного тактового домена (в части обмена по шине).
Вот, например, Краткий курс HDL (https://kit-e.ru/circuit/kratkij-kurs-hdl-chast-11/). Там более-менее объяснено про домены и асинхронность.

Hunta
15.01.2021, 11:41
То есть, похоже, я не предложил ничего совсем уж ужасного
Я и не говорил, что ты предложил что то ужасное.


Внутри они могут использовать и другие частоты в своих изолированных доменах
Я и имел ввиду, что внутри может (и будет) своя частота. Опять - речь не про тактирование самого процесса передачи.


Нет, это будет один домен, именно потому что передана тактовая частота.
Это будет один домен процесса передачи на шине. А внутри процессора, памяти и т.д. - свои клоковые домены


Вот, например, Краткий курс HDL.
Я знаю эту статью.

Кстати, уточнение. Как то я не сразу подумал. Клоковый домен (пока) у меня по сути один - ибо нужные мне частоты получаются от базового клока делением его на два. Но разные модули используют разные частоты.

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

Ну и - этот проект - это и моя игрушка и мой способ изучения VHDL/FPGA. Конечно, хочется иметь и наши процессора в её составе, но а) поскольку я не гонюсь за тактовой идентичностью б) мне интерес вариант задания типа процессора, как параметр модуля, а не смена модуля и в) мне не нравится Verilog, то когда я буду добавлять реверсённые тобой процессоры в PDP2011, то буду отталкиваться от функционала, а не от реализации

Vslav
15.01.2021, 11:53
Я и не говорил, что ты предложил что то ужасное.
Разумеется. Я просто константировал факт что был предложен стандартный подход и он заработал в реале в разумные сроки.



Я и имел ввиду, что внутри может (и будет) своя частота

Зачем внутри своя частота? Если нет требований к физике, то все прекрасно работает на одной и той же частоте шины.
Смотрим на мой wb_uart. Казалось бы, набор baud rate требует своей несущей, чтобы точно попадать в полтора процента разброса по скорости, но все отлично решается фазовым аккумулятором тактируемым от частоты Wishbone. Нет никаких дополнительных тактовых внутри UART. Примерно так же построен мой модуль SATA, отдельный тактовый домен только для PHY, а все остальное питается от клока той же шины AXI. Простым процессорам типа 1801 тоже достаточно одного домена на все - и на внутренности ина шину. Зачем мультидоменность и все эти проблемы? Чтобы делать несколько доменом нужны очень серьезно обоснованные причины. К тому же, пересечение домена может сильно повышать latency, что нехорошо для быстродействия.



Это будет один домен процесса передачи на шине. А внутри процессора, памяти и т.д. - свои клоковые домены

Нет. Даже DDR3 память принимает с шины тактовый сигнал, потом использует DLL для дробления фаз внутри, но все это - шина памяти и сами микросхемы DDR3 работают в едином тактовом домене.



Кстати, уточнение. Как то я не сразу подумал. Клоковый домен (пока) у меня по сути один - ибо нужные мне частоты получаются от базового клока делением его на два. Но разные модули используют разные частоты.
Если у тебя есть несколько независимых PLL, или одна PLL генерирует несколько частот с высокой взаимной дробностью (типа 1/253 и 1/254, например, если бывает разница между фронтами сравнимая с временем переключения вентиля то такое надо анализировать как разные домены), то у тебя несколько доменов. Если частота одна и просто кратные (которые желательно взять с PLL) или с разной фазой - то домен один.

Hunta
15.01.2021, 12:11
то домен один.
Домен сейчас один


Зачем внутри своя частота?
Если каждый модуль делать как самостоятельное изделие, то при втыкании в корзину QBus а) никакого клока с шины б) каждый модуль может работать на своей частоте.

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

Vslav
15.01.2021, 12:24
Домен сейчас один
И это хорошо :)



Если каждый модуль делать как самостоятельное изделие

Извини, мне непонятно, что значит самостоятельное изделие.
uart_wb - это самостоятельное?
vm1_wb - это самостоятельное?
А кому оно вне SoC нужно? Как Wishbone модуль может существовать "самостоятельно" ?


, то при втыкании в корзину QBus

Мы же говорим же про SoC? Асинхронная шина в SoC - это зло. Под асинхронной шиной мы понимаем что используются фронты сигналов на ней, вместо фронтов единого тактового сигнала. И вообще-то такое надо рассматривать вкупе со всеми проблемами метастабильности. Хотя на FPGA скорее будет проблема "иголок" и прочего.


Именно поэтому я не ориентируюсь на синхронную шину

Ты можешь ориентироваться на что угодно, но стандартный подход при построении SoC на FPGA - это синхронные шины. Если ты относишься к тем для кого "лучше, конечно, помучиться" (c) то не вопрос :).
Стандартный подход вырабатывается не просто так, народ уже помучился, пострадал над проблемами и предложил решение. А дальше каждый решает сам, или повторно самостоятельно набить тех же самых шишек, или учесть чужой опыт.

Hunta
15.01.2021, 12:37
Извини, мне непонятно, что значит самостоятельное изделие.
Это значит, что делается отдельный проект, в который добавляется модуль, скажем RK2011, делается прошивка, прошивается в плату, плата вставляется в QBus


Мы же говорим же про SoC?
Я говорю про любой вариант PDP-11, в том числе - в старых системах. Я не зацикливаюсь на полностью самостоятельных SoC


Под асинхронной шиной мы понимаем
QBus с его SYNC - это синхронная или асинхронная шина?

Я под асинхронностью понимаю то, что операция начинается, когда прилетает SYNC (да, его можно засинхронизировать на clock, который использует модуль - прилетевший НЕ с шины), а завершается, когда SYNC снимается (см про засинхронизировать). Примерно как - есть синхронная последовательная передача (по линии передаётся клок, не помню, как называется), а есть асинхронная (выделенной линии под клок нет, RS232)

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

Ну или аналоги SYNC

Vslav
15.01.2021, 13:44
Это значит, что делается отдельный проект, в который добавляется модуль, скажем RK2011, делается прошивка, прошивается в плату, плата вставляется в QBus

Это немножко другое, это не отдельный модуль SoC, это вполне себе самостоятельный проект, который, кстати, может быть и не чистым SoC вообще, но принципы тактирования те же самые. Например, у меня был проект облачного шлюза - устройство подключалось по PATA-IDE к старым материнкам и прикидывалось жестким диском, а реальный сторадж находился в облаке, куда устройство по гигабитной сетке ходило. PATA вполне себе асинхронная шина, мне пришлось внутри FPGA ее синхронизировать и обрабатывать, реализовывать внутри все регистры, с другой стороны FPGA торчал PCI мастер на 66MHz. Так вот - этот весь IDE-device, включая поддержку UDMA133 получилось сделать на едином тактовом домене 66/133MHz.



Я под асинхронностью понимаю то, что операция начинается, когда прилетает SYNC (да, его можно засинхронизировать на clock, который использует модуль - прилетевший НЕ с шины)

Асинхронность будет если в тексте будет использоваться сам фронт SYNC:

always @(posedge SYNC)

Но этот фронт можно ловить и по-другому, базируясь на высокой (относительно QBus) основной тактовой:

always @(posedge wb_clk)
begin
sync0 <= SYNC;
if (SYNC & ~sync0)
begin
// handle SYNC rising edge synchronously
end
end

Вот второй вариант синхронный и будет работать без дополнительной головной боли (кстати, может быть и нет - зависит от того как SYNC внутрь if зайдет, лучше конечно еще один триггер поставить)

Hunta
15.01.2021, 15:10
, это не отдельный модуль SoC
Я и не говорил, что это модули - SoC. У меня модуль - то, что можно использовать повторно. В том числе - при создании какой то железки. С минимальной обвязкой вокруг (пример я уже приводил - RK2011). Под QBus. Именно поэтому единой тактовой и нет. Именно поэтому переделываю постепенно так, что бы работало и разными клоковыми доменами. В идеальном варианте - в возможностью конфигурирования параметром. Аналога generic и generate я в verilog так и не нашёл (правда, пока сильно и не искал), поэтому - vhdl. Ну а ещё потому, что недолюбливаю С.

Я уже писал, что посмотрев, что творится с созданием железок и софта для PDP-11 (и не только) я решил - чем ждать, когда кто-нибудь разродиться чем то, подходящим мне (и не сотне корпусов ретро-микросхем), проще научится делать самому. И модули с FPGA - просто то таки почти идеальный вариант. Поэтому PDP2011 - это ещё и способ научиться.

Но я хочу не просто использовать что то (типа синхронного дизайна), потому что ВЕЗДЕ об этом пишут и говорят, что ТОЛЬКО так правильно, но и понимать - ПОЧЕМУ так правильно, ЧТО БУДЕТ, если сделать НЕ ТАК, В КАКИХ случаях МОЖНО сделать НЕ ТАК, ЧТО за это будет и КАК решить ВОЗНИКАЮЩИЕ проблемы. Поэтому были и будут эксперименты.


Асинхронность будет если в тексте будет использоваться сам фронт SYNC:
Проходил


Но этот фронт можно ловить и по-другому
Проходил.


на высокой (относительно QBus) основной тактовой
На QBus нет тактовой. Условно тактовым клоком можно назвать SYNC, но только условно. И речь идёт о более высокой тактовой относительно усреднённой частоте SYNC-а

Vslav
15.01.2021, 18:00
Я и не говорил, что это модули - SoC. У меня модуль - то, что можно использовать повторно.
Мне непонятно почему требование сопряжения с внешней QBus приводит к появлению асинхронной шины внутри ПЛИС. У подключение физических процессоров 1801 к DE0 такой странности не вызывало. Давай так, у тебя есть пример модуля который ты можешь показать? Например, UART было бы неплохо увидеть с такой шиной.


потому что ВЕЗДЕ об этом пишут и говорят, что ТОЛЬКО так правильно, но и понимать - ПОЧЕМУ так правильно
Я понимаю почему и могу выстроить цепочку рассуждений, опирающуюся на опыт практической реализации. Давай свой модуль UART, посмотрим на реализацию и сравним с "правильной" моей :)

Hunta
15.01.2021, 18:23
Мне непонятно почему требование сопряжения с внешней QBus приводит к появлению асинхронной шины внутри ПЛИС
Ещё раз. У нас немного разные понятия асинхронности. У меня асинхронность (с прицелом на QBus) - nо, что по шине НЕ передаётся клоковый сигнал


UART было бы неплохо увидеть с такой шиной
Вот прям щас не могу - именно с ним и вожусь. Точнее, с частью, которая отвечает за интерфейс с шиной. Вторая часть - собственно приёмо-передатчк (не мой, но сильно перепиленный мною)

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

Но что в принципе ещё можешь сделать, если есть желание и время - возьми авторский вариант проекта PDP2011 и посмотри в нём - ну хотя бы тот же KL11 :)

Vslav
15.01.2021, 18:39
Ещё раз. У нас немного разные понятия асинхронности. У меня асинхронность (с прицелом на QBus) - nо, что по шине НЕ передаётся клоковый сигнал
И это принципиальный момент. На Q-Bus (да и на любой другой шине) есть мастер и ведомый. Если они тактируются по-разному, то надо бороться с метастабильностью, что влечет распухание кода, растрату ресурсов и снижение быстродействия. По-другому не бывает. Поэтому тут варианты - или ты это еще не увидел (модуля чтобы показать у тебя нет, значит весь путь не пройден) или этого у тебя нет архитектурно, тактовая одинаковая и мы говорим об одном и том же, но по-разному.

Hunta
15.01.2021, 18:48
модуля чтобы показать у тебя нет, значит весь путь не пройден
Модуль у меня есть, но он не проходит тест прерывания - тест предполагает, что, при готовности передатчика), выставление разрешения прерывания сразу приводит к прерыванию (следующая инструкция не успевает выполниться), у меня сейчас успевает.


тактовая одинаковая
У проца тактовая 100 МГц, у памяти на BRAM 200 МГц, у KL11 - 50 МГц. Клоковый домен, по идее, у всех одинаковый - 400 МГц генерирует PLL, дальше она делится на 2 для получения 200, 100 и 50 МГц.

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

Ну и если ты смотрел мою тему по FPGA, то должен знать, что сейчас проект доведён до состояния, что грузятся с RK XXDP (проходят два теста из трёх для PDP-11/34, тест памяти - 248 кб, тест ДП для PDP-11/34), RT-11 (SJ и XM, нормально работает VM и VRUN)

Vslav
15.01.2021, 19:29
Модуль у меня есть, но он не проходит тест прерывания
Ну чего ты как студент, мы говорим о принципиальном архитектурном вопросе - какая должна быть шина у библиотечного IP-модуля, а ты мне про тест прерываний и XXDP рассказываешь :). Хотелось бы увидеть ПОЛНЫЙ внешний интерфейс твоего модуля, то что у тебя в entity port() записано, возможно позже кусок architecture, а тест прерываний ты и сам отлично поборешь, чего о нем говорить?

Подытоживая,
ты утверждаешь что сделан какой-то аналог Q-bus, ну понятно, двунаправленный, без 3-их состояний, и при этом без клока, и при этом утверждается что все норм, учебники говорят непонятную ерунду, синхронные шины никому не нужны, и у тебя отличное независимое тактирование для каждого модуля. Теперь выясняется что есть частота у тебя базовая (и PLL в проекте только одна, верно?) и все остальные частоты кратные производные от нее. И модули внутри не используют фронты сигналов с шин напрямую. Тогда это просто один тактовый домен, и ВСЕ модули твоего дизайна на самом деле находятся в ОДНОМ домене. Cигнал clk_xxx: in на входе каждого модуля ты не соотнес с работой с шины, он же где-то там отдельно. И на грабли метастабильности ты просто еще не наступил :). Пока повезло, это как написать большой кусок софта и не прогнать его на big-endian архитектуре. На x86 работает, а на Power9 - оно неважно, никто не узнает :). Ну это я так полагаю с твоих слов, возможно я чего-то не так понял, покажешь дизайн - будет яснее.

Hunta
15.01.2021, 19:47
Описание корзины и описание одного из входных набора сигналов. Остальные принципиально не отличаются.


entity ChasisM is
port
(
FromPDP11ToSlot : in typeFromBus
; FromSlotToPDP11 : out typeToBus

; FromBusToSlot : out arrtypeFromBus
; FromSlotToBus : in arrtypeToBus

; FromSlotToMemory : out typeFromBusMaster
; FromMemoryToSlot : in typeToBusMaster

; FromBusMasterToSlot : in arrtypeFromBusMaster := zeroFromBusMaster
; FromSlotToBusMaster : out arrtypeToBusMaster
);
end ChasisM;


type typeFromBus is record

Reset : boolean;

Addr : typePDP11Addr13;
Common : typeFromBusCommon;
Interrupt : typeFromBusInterrupt;

end record typeFromBus;

type typeFromBusCommon is record

isBusCycle : boolean;

isPutData : boolean;
isByteAccess : boolean;

Data : typePDP11Word;

end record typeFromBusCommon;

type typeFromBusInterrupt is record

isInterrupt4Acknowledged : boolean;
isInterrupt5Acknowledged : boolean;
isInterrupt6Acknowledged : boolean;
isInterrupt7Acknowledged : boolean;

end record typeFromBusInterrupt;

type arrtypeFromBus is array (natural range <>) of typeFromBus;


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

Описание последовательного порта



entity KL11 is
generic
(
UartClockFrequency : integer := 24000000 -- set system clock frequency in Hz
; UartBaudRate : integer := 115200 -- baud rate value
; UartParityBit : string := "none" -- legal values: "none", "even", "odd", "mark", "space"
; BaseAddr : typePDP11Addr13
; BaseVec : typePDP11Vec
);
port
(
busClock : in std_logic

; FromBus : in typeFromBus
; ToBus : out typeToBus

; UartClock : in std_logic
; RXin : in std_logic
; TXout : out std_logic
);
end KL11;


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

Собранная корзина


XUChasis0: ChasisM
port map
(
FromPDP11ToSlot => xuPDP11_20_IOPBus.FromBus
, FromSlotToPDP11 => xuPDP11_20_IOPBus.ToBus

, FromBusToSlot(0) => xuSysRegs0.FromBus
, FromSlotToBus(0) => xuSysRegs0.ToBus

, FromBusToSlot(1) => xuRom0.FromBus
, FromSlotToBus(1) => xuRom0.ToBus

, FromBusToSlot(2) => xuRom1.FromBus
, FromSlotToBus(2) => xuRom1.ToBus

, FromBusToSlot(3) => Uart0.FromBus
, FromSlotToBus(3) => Uart0.ToBus

, FromBusToSlot(4) => KW11L0.FromBus
, FromSlotToBus(4) => KW11L0.ToBus

, FromBusToSlot(5) => RK0.FromBus
, FromSlotToBus(5) => RK0.ToBus

, FromBusToSlot(6) => SwitchesDisplay0.FromBus
, FromSlotToBus(6) => SwitchesDisplay0.ToBus

, FromSlotToMemory => xuMemory0.ToMemory
, FromMemoryToSlot => xuMemory0.FromMemory

, FromBusMasterToSlot(0) => xuPDP11_20_MemoryBus.FromBusMaster
, FromSlotToBusMaster(0) => xuPDP11_20_MemoryBus.ToBusMaster

, FromBusMasterToSlot(1) => RK0BusMaster22.FromBusMaster
, FromSlotToBusMaster(1) => RK0BusMaster22.ToBusMaster
);


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


синхронные шины никому не нужны
Ещё раз. У нас разные понятия синхронной шины, как выяснилось.

AlexG
15.01.2021, 20:05
для тех кто ленится читать и любит аудиокниги...


https://www.youtube.com/watch?v=Tsxl5dBz3qI

Hunta
15.01.2021, 20:10
У меня нет ничего от Xilinx и я не люблю аудио книги

Vslav
15.01.2021, 20:23
Описание корзины и описание одного из входных набора сигналов.

Понятно, мультиплексоры данных, адресов и ряда дополнительных сигналов. Тактовые у тебя тут не описаны, но это не значит что их нет, и твое заявление по сути обескураживает:

У меня асинхронность (с прицелом на QBus) - nо, что по шине НЕ передаётся клоковый сигнал
Тактирование всегда есть, просто оно в "шасси" не включено, "Ты суслика видишь? И я - нет. А он - есть!" (c)





entity KL11 is
...
port
(
busClock : in std_logic


О как. И даже называется busClock. "А как дысал, как дысал" (c) - "НЕ передаётся клоковый сигнал" :)





; UartClock : in std_logic


На UartClock что подается? 24МHz как бы из 400 не особо получаются?
Говоришь, библиотечные модули с независимым тактированием? А если завести два модуля UART, подключить к одной шине в рамках одного шасси, да подать busClock от разных генераторов, с разными частотами и дрейфующими фазами, то чего будет?
Для полноты надо бы посмотреть как там шина внутри KL11 обрабатывается, запись в регистр какой, но подозреваю что таки завязано на busClock. Если это так, то в твоем проекте я вижу вполне синхронную шину, изобретенную в виде велосипеда и сопровождающуюся отрицанием этого изобретения :)

yu.zxpk
15.01.2021, 20:25
Сходил на https://pdp2011.sytse.net/, выкачал pdp11-20201122.tar.gz, посмотрел на `xu.vhd` -- где описание портов компонентов и их включение друг в друга.
Там таки один клок домен (передается сигнал clk во все модули).
Там несколько шин (localbus -- доступ к памяти?, localunibus -- периферия?)
Надо "курить" исходники, чтоб понять топологию: что во что и как включено.

Hunta
15.01.2021, 20:29
Кстати, уточнение. Как то я не сразу подумал. Клоковый домен (пока) у меня по сути один - ибо нужные мне частоты получаются от базового клока делением его на два. Но разные модули используют разные частоты.

Очевидно, эту фразу ты не видел.


Я под асинхронностью понимаю то, что операция начинается, когда прилетает SYNC (да, его можно засинхронизировать на clock, который использует модуль - прилетевший НЕ с шины), а завершается, когда SYNC снимается (см про засинхронизировать).

И эту тоже.

Ок, пусть будет так.

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


Для полноты надо бы посмотреть
Только мне уже перестал этот разговор быть интересным.

Vslav
15.01.2021, 20:31
я не люблю аудио книги
Аудиокниги:
- долго, читать не порядок быстрее
- невозможно нормально управлять потоком поступающих данных, аудио в лучшем случае на главы разбито
- вероятно, можно слушать в машине, но тут лучше материал подкреплять практикой по ходу получения информации
- итого эффективность и легкость такого обучения сомнительная. Худлит так слушать можно, а учить сложные вещи - ну пропедевтика разве что.

AlexG
15.01.2021, 20:42
У меня нет ничего от Xilinx и я не люблю аудио книги

там от xilinx столько же сколько от altera. и вообще там картинки и на русском говорят.

где-то было (аналогичное ) чтиво в pdf - могу не спеша поискать.

Vslav
15.01.2021, 20:43
Я под асинхронностью понимаю то, что операция начинается, когда прилетает SYNC

А при чем здесь синхронность/асинхронность дизайна? Прикинь, в Wishbone операция тоже начинается когда wb_cyc прилетит. Назовем Wishbone тоже асинхронной, да?



Только мне уже перестал этот разговор быть интересным.
OK, подытоживая, что мы выяснили:
- тактовый домен в твоем проекте на практике один (в части шины точно)
- шина самобытная, но синхронная (привязано к общему тактированию, а не фронтам сигналов шины), и клок там вполне передается
- насколько твои модули поддерживают независимое тактирование - непонятно. Не интересно? Ладно.

Hunta
15.01.2021, 20:44
там от xilinx столько же сколько от altera
Анализ в Vivado как бы намекает

AlexG
15.01.2021, 20:46
Анализ в Vivado как бы намекает
Вы хоть чуток посмотрели ? Там общая теория.
ПС: грубо гусары грубо - нежнее надо...

Vslav
15.01.2021, 20:56
Там таки один клок домен (передается сигнал clk во все модули).

В простых системах оно по-другому не бывает. Для стандартных шин понаписаны всякие бриджи которые могут сопрягать два сегмента с разным тактированием, но оно сложное, долго синтезируется, жрет ресурсы и добавляет лейтенси. Надо очень веские основания чтобы разнести сегменты шины в разные тактовые домены. Иногда оно может быть оправдано, если там поддерживаются нормально burst и длинная буферизация транзакций внутри моста, но это не наш случай.

yu.zxpk
15.01.2021, 21:38
Как не наш случай? А SDRAM/DDR3 c burst-ом? Подгонять систему (cpu11) под частоту, кратную клоку DDR3 на дешевой китайской борде с fpga?

Vslav
15.01.2021, 21:48
Как не наш случай? А SDRAM/DDR3 c burst-ом? Подгонять систему (cpu11) под частоту, кратную клоку DDR3 на дешевой китайской борде с fpga?
Да, клок памяти делать кратным системному.
Вот смотри как x86 современные построены:
- есть ядро с какой-то частотой
- есть кеш L1, обычно работаает на частоте ядра. Доступ к нему несколько тактов (единицы-до десятка). Его можно сделать работающим на другой частоте, типа ядро 3ГГц, кеш 4ГГц, но дополнительная лейтенси в одном направлении будет 2 минимум такта более быстрой частоты, и один такт более медленной (ЕМНИП). То есть 20-50% к лейтенси кеша L1 докинем, не катит. А удвоить частоту кеша и сделать ее 6ГГц - технология не разрешает
- есть кеш L2, тоже обычно на частоте ядра, ну или на половине, как повезет
- кеш L3 - тоже стараюься синхронно с ядром
А вот контроллер памяти.... Он много кого обслуживает и лейтенси там десятки наносекунд. И транзакции он не только от ядра принимает, и большую выгоду от их реордеринга, интерливинга и предикции может предоставить. Поэтому частоту контроллера памяти и собственно памяти можно отвязать в отдельный домен, и вжарить его на максимум возможного, лейтенси 3-5 процентов тут уже никого не парит и обмены идут пакетами. Мы такой контроллер памяти не родим, да не нужен он нам особо. Поэтому да, в простой системе частоту памяти проще сделать кратной системной.
Update: да, кстати, новые амдишные "Рязани" очень любят когда память работает синхронно с ядром, именно потому что лейтенси получше в этом случае.

Vslav
23.01.2021, 21:25
Посмотрел сегодня под микроскопом TVGA9000C, вывод - нет, с существующей оптикой отреверсить нереально, два слоя металлизации, нормы менее микрона, хоть оно и сделано на базе библиотеки, но понять что и где - никак, увы. У меня есть подозрение что это новодел, если открыть старый чип начала 90х, то может быть чуть полегче.

Titus
23.01.2021, 21:52
А что там с чипами 1515 ждущими кислотку?

Vslav
23.01.2021, 22:29
А что там с чипами 1515 ждущими кислотку?
Сегодня ездил забрать, визуально вроде ничего получилось, под микроскопом еще не смотрел.

NEO SPECTRUMAN
23.01.2021, 22:50
нет, с существующей оптикой отреверсить нереально
а если светить ультрафиолетом?

Vslav
23.01.2021, 23:05
а если светить ультрафиолетом?
Не, тут, возможно, поможет конфокальный микроскоп, ну или уже электронный надо.

Что такое ХМ2-002 ? Кристалл заказной, как все остальные ХМ2 (не матрица как ХМ1) и на кристалле написано 1515-039. Еще одна ревизия 039-ой?

Titus
24.01.2021, 00:38
Что такое ХМ2-002 ? Кристалл заказной, как все остальные ХМ2 (не матрица как ХМ1) и на кристалле написано 1515-039. Еще одна ревизия 039-ой?
Ты не ошибся? Вообще-то это должна быть более новая модификация 1515ХМ1-032.
1515ХМ1-039 - это ХМ2-003.

Vslav
24.01.2021, 00:46
Ты не ошибся? Вообще-то это должна быть более новая модификация 1515ХМ1-032.
1515ХМ1-039 - это ХМ2-003.
Не похоже что ошибся. Это заказной кристалл, как и другие XM2. То есть - это ТОЧНО не ХМ1. И оно отличается от фотографии имеющейся XM2-003 как минимум цветом фоторезиста, то есть случайно туда XM2-003 из имеющихся у меня точно не вкинута. Различия в топологии потом увидим как сделаю фотграфии. И вот тут (http://www.155la3.ru/k1515.htm) написано что XM2-002 это версия 039.

Titus
24.01.2021, 00:48
И вот тут написано что XM2-002 это версия 039.
Если ты сделаешь хотя бы общую фотку кристалла, то сразу будет видно, 003 это, или же все же 002.

Vslav
24.01.2021, 01:45
Если ты сделаешь хотя бы общую фотку кристалла, то сразу будет видно, 003 это, или же все же 002.
Если XM2-002 и XM2-003 являются вариациями 039, то различия могут быть минимальнейшими. Типа в 002 нашли ошибку и выпустили мелкий фикс с номером 003. По общей фотографии этот минимум можно не обнаружить. Как я сказал - у этой "типа 002" цвет фоторезиста другой (фиолетовый), а у 003 из моей партии - зеленый.

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

1801ВП1-033 (https://www.1801bm1.com/files/retro/1801/images/vp1-033.jpg) (70MB) красиво открылась.

Alex_K
24.01.2021, 10:42
Что такое ХМ2-002 ? Кристалл заказной, как все остальные ХМ2 (не матрица как ХМ1) и на кристалле написано 1515-039. Еще одна ревизия 039-ой?

И вот тут написано что XM2-002 это версия 039.
А вот у dk_spb на его сайте написано (http://oldpc.su/articles/re2/1515.html), что это улучшенная версия ХМ1-032. Но вскрытие всё покажет.

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


1801ВП1-033 (70MB) красиво открылась.
И вторая половинка 1801ВП1-034 также будет?

Vslav
24.01.2021, 13:40
И вторая половинка 1801ВП1-034 также будет?
Будет :)
1801ВП1-034 (https://www.1801bm1.com/files/retro/1801/images/vp1-034.jpg) (70MB)

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

1515XM2-003 (https://www.1801bm1.com/files/retro/1515/images/xm2-002hd-2.jpg) (фотография другой микросхемы)
(переименовал в xm2-003hd-1. Вроде бы я покупал 4шт 1515ХM2-003 и 3шт я нашел. Есть еще одна штука XM2-002, надо уточнить сколько штук прислал AFZ, а то я не помню.

Alex_K
24.01.2021, 13:59
Пока выложил под именем 002, различий с 003 особо не видно.
При быстром осмотре вроде всё также, только цвет другой. Интересно, почему написали 039, а не скажем 2-003?
Но окончательный вердикт скажет Titus.

Vslav
24.01.2021, 14:09
Поднял переписку с AFZ - было прислано 4 штуки. И я сейчас все 4 нашел. Значит обточил по ошибке XM2-003. Ну что ж, обточу пару 002 и положу в следующую партию.

Titus
24.01.2021, 14:23
При быстром осмотре вроде всё также, только цвет другой. Интересно, почему написали 039, а не скажем 2-003?
Но окончательный вердикт скажет Titus.
Осмотрю.

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


Значит обточил по ошибке XM2-003. Ну что ж, обточу пару 002 и положу в следующую партию.
Ээх. И сколько ждать следующей?

Vslav
24.01.2021, 14:36
Ээх. И сколько ждать следующей?
Вопрос неправильный. Правильный - не "когда", а "если". Ну, будем надеяться что следующая партия таки будет, как насобирается коробочка. Чипов в керамике тоже хватает "на посмотреть".

Titus
24.01.2021, 14:43
А где фотки остальных двух 1515ХМ1?

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


Вопрос неправильный. Правильный - не "когда", а "если". Ну, будем надеяться что следующая партия таки будет, как насобирается коробочка. Чипов в керамике тоже хватает "на посмотреть".
Обязательно надо. Иначе комплект для УКНЦ будет неполный.

Vslav
24.01.2021, 15:07
А где фотки остальных двух 1515ХМ1?
Возможно будут на следующих выходных.


Обязательно надо. Иначе комплект для УКНЦ будет неполный.
Это все не очень просто. Сам я травить в кислоте не буду, для этого надо иметь вытяжку, хорошую горелку (желательно с рассекателем), хорошие пробирки (кварц желателен), фартук и минимум нарукавники (одежда от паров просто рассыпается), кислотоупорные рукавицы и очки. Такого у меня нет, к тому же квартиру, гараж и свои легкие жалко :). Химика надо уговорить за это взяться, денег он не берет, тоже все на энтузиазме. К тому же он поменял работу, и в его новой лаборатории с кислотами не работают, ему самому надо проситься в другое место. Также я звонил по разным фирмочкам, где травят металлы и стекло, они за такое браться не хотят. Еще нашел лабораторию пробоподготовки, могут сделать, но им разовые заказы не особо интересно, цену озвучили примерно $80 за один образец. Проблемы не то чтобы достигли запретительного уровня, но из-за одной микросхемы уже не побегаешь, поэтому я собираю партию. И мое время тоже конечное, я не собиратель картинок "на посмотреть", мне интересно увидеть хотя бы HDL-реализацию. Поэтому, имеет смысл тратить время исключительно только на то, что может быть потом использовано в реальном проекте, простое любопытство это недостаточный повод - XM2-002 для реализации УКНЦ не нужна, имеющихся чипов достаточно. Но, тем не менее, я иду на встречу и включу ХМ2-002 в следующую партию, специально для тебя :)

Titus
31.01.2021, 04:21
Возможно будут на следующих выходных.
Следующие выходные наступили и хотят фотографий! )

Vslav
31.01.2021, 16:06
Следующие выходные наступили и хотят фотографий! )
Увы, был занят ВП1-034, как закончу - вернусь к фотографированию.

Titus
31.01.2021, 16:13
Увы, был занят ВП1-034, как закончу - вернусь к фотографированию.
Когда же настанет этот долгожданный час? )

Vslav
31.01.2021, 16:21
Когда же настанет этот долгожданный час? )
Ну, в этом году должен настать. И, может быть, даже до весны :)

Titus
31.01.2021, 16:32
Ну, в этом году должен настать. И, может быть, даже до весны
Ну это издевательство)

Vslav
31.01.2021, 17:16
Ну это издевательство)
Шо поделать, много разных ретро-проектов, люди тоже ждут 034. И еще есть всякий интересный движ, как будет чек-поинт - расскажу.

Impartial
02.02.2021, 00:11
Есть у Вас информация по К1801ВП1-011?

Titus
02.02.2021, 00:18
Шо поделать, много разных ретро-проектов, люди тоже ждут 034. И еще есть всякий интересный движ, как будет чек-поинт - расскажу.
Ты так быстро сделал повторную ХМ2, что совершенно не составит труда сделать две малюююсенькие ХМ1.

Vslav
02.02.2021, 00:26
Есть у Вас информация по К1801ВП1-011?
Ммм.... Нету.

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


Ты так быстро сделал повторную ХМ2, что совершенно не составит труда сделать две малюююсенькие ХМ1.
Ну я уже закончил схему ВП1-034, осталось промоделировать, добавить проверенное описание и можно выкладывать. Тут главное, чтобы я за ВП1-033 еще сразу не взялся :). И там не две ХМ1, а четыре. И они как раз не маленькие, а здоровенные, раза в два больше снимков чем ВП1 или ХМ2. Недели на полторы-две возни.

Titus
02.02.2021, 00:32
Тут главное, чтобы я за ВП1-033 еще сразу не взялся. И там не две ХМ1, а четыре. И они как раз не маленькие, а здоровенные, раза в два больше снимков чем ВП1 или ХМ2. Недели на полторы-две возни.
Не берись за ВП1-033, сдерживай себя)

Как четыре? Какие названия?

hobot
02.02.2021, 00:33
Недели на полторы-две возни.
научных изысканий )

Vslav
02.02.2021, 00:49
Не берись за ВП1-033, сдерживай себя)
Да ты мне плохой пример подаешь :)

Как четыре? Какие названия?
31, 36, 39 и кажется, еще одна 136. Последняя может подождать, там будет просто попытка получше фотографию получить.

Titus
02.02.2021, 00:56
31, 36, 39 и кажется, еще одна 136. Последняя может подождать, там будет просто попытка получше фотографию получить.
136 точно не нужна, т.к. она полностью восстановлена и описана. Ну, только если у тебя прям вообще много свободного времени, и нечего другого больше сфоткать.

039 (ранняя версия ХМ2-003) - наверное самая простая и маленькая (хотя, по размеру кристалла-то они все стандартные).
031 (ранняя версия ХМ2-001) - вещь важная, там таятся ошибки таймера.
036 (ранняя версия ХМ1-136) - вот это тоже важно. Хотя пока что нам известны отличия только в схеме формирования курсора.

Vslav
08.02.2021, 13:03
Немножко новостей:
Выходные прозанимался реверсом 1811ВУ1. Это совместный проект, подготавливал человеку (захочет - сам тут объявится) файл для дальнейших действий (надо спешить, пока энтузиазм не угас :)). Примерно 13К тразисторов, 11К из них - в матрицe. В итоге уже видно, что с вероятностью 99% удастся матрицу прочитать, но это не очень тривиально, в итоге ВУ1 решили таки отреверсить полностью и использовать как контрольку для будущей считывалки.

Hunta
08.02.2021, 13:14
Э... Если я правильно понял, что в серии 1811 (ака F11) с хорошей вероятностью можно вычитать ПЗУ микрокоманд вместо их вскрытия?

Vslav
08.02.2021, 13:28
Э... Если я правильно понял, что в серии 1811 (ака F11) с хорошей вероятностью можно вычитать ПЗУ микрокоманд вместо их вскрытия?
Да. Там интересный гибрид PLM и ROM. Две стадии - первая PLM, у нее 62 входа, из них 16x2 - прямые и инвертированные данные с D[0-15] - с регистра инструкций и сервисных статусов, можно подать снаружи, оставшиеся 30 - под выяснением пока, но с некоторыми танцами можно задать снаружи тоже (предполагается подача инструкции jmp, чтобы установить нужный адрес). PLM конвертирует эти 62 входа в 138 выходов - каждый из которых является выборкой строки ROM. Всего 138 строк по 100 бит каждая - это вторая стадия, ROM. Потом 100 выбранных бит мультиплексируются 4x1 в 25 выходных бит, их которых 16 - код микроинструкции, он выдается на выводы ~M[0-15], то есть виден сразу. А оставшиеся 9 бит - это Next Address, они в норме не читаются, но есть специальный тестовый режим, когда их можно тоже выдать на ~M[0-15]. Таким образом - имеем черный ящик - PLM+ROM, можно задавать входы и вычитывать полный выход. Проблема что диапазон перебора входа пока большой - 2^(30+16) - 2^46 бит. Изучаем как оно подается, потому что оставшиеся 30 все сразу тоже не подаются, там комбинации, не простая инверсия. Похоже, PLM многорежимная, зависит от типа цикла.

Hunta
08.02.2021, 13:32
Если получится - будет просто супер :) Удачи! :)

Titus
13.02.2021, 20:11
Хотя вопрос и не относится к 1801, но относится о отреверсенной товарищем Vslav'ом ВМ80А.

Глянул на схему, и увидел такое:
https://pic.maxiol.com/images2/1613235041.2151951043.01.png

Как это понимать?
Если T459 закрыт, то затворы T486 и T501 будут воздухе, т.к. на затворах этих транзисторов нет подтяжки к плюсу. А стало быть некоторое время будут удерживать заряд и закроются не сразу.

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

Похоже, я понял.
Это такой динамический D-триггер.
Который работает только на большой частоте.

Vslav
13.02.2021, 21:17
Это такой динамический D-триггер.
Который работает только на большой частоте.
Да, и в 1801ВМ1 тоже полно таких, поэтому так указан минимум частоты на которой процессор сохраняет работоспособность. Вот в 1801ВМ2 такого нет, поэтому он полностью статический.

Hunta
13.02.2021, 21:27
поэтому так указан минимум частоты на которой процессор сохраняет работоспособность
- О боже, они убили Кенни... эээ... статику!
- Сволочи!

Titus
13.02.2021, 21:31
а, и в 1801ВМ1 тоже полно таких, поэтому так указан минимум частоты на которой процессор сохраняет работоспособность. Вот в 1801ВМ2 такого нет, поэтому он полностью статический.
Все равно ВМ80А в разы проще выглядит, чем ВМ2.
Какой смысл делать такой сложных процессор, если по производительности они не шибко отличаются. Ну в два раза.

Vslav
13.02.2021, 23:15
Все равно ВМ80А в разы проще выглядит, чем ВМ2.
Какой смысл делать такой сложных процессор, если по производительности они не шибко отличаются. Ну в два раза.
Здрасьте, PDP-11 - это нормальная машина, она умеет в исключения по ошибке шины (даже 8086 не умеет), умеет в исключения при недопустимом опкоде (8086 не умеет), умеет память-память в одной инструкции с кучей двухадресных команд (8086 имеет только убогий набор строчных инструкций).

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


- О боже, они убили Кенни... эээ... статику!
- Сволочи!
Более того, они сделали это не один раз - ВМ3 тоже не статический.

hobot
14.02.2021, 05:55
Здрасьте, PDP-11 - это нормальная машина


https://youtu.be/aGOM7SozBJk

Vslav
20.02.2021, 12:27
Потихоньку идет реверс 1811ВУ1, уже закончена основная схема. У меня появился толковый помошник, человек сейчас дорисовывает в схему матрицы. Можно уже писать модель микросхемы и готовить схему модуля F11 для подключения к FPGA для считывания, делать верификацию матрицы и писать софт для чтения и распознавания матрицы.
Система микрокоманд пока неизвестна, удалось пока распознать междучиповый переход и условное ветвление. Судя по всему, флагов осталось 4, а не 8 как было в lsi. Пытались найти документацию, написали в Linked-in инженеру который в конце 70х писал в DEC микрокод F11, он ответил что ничего не сохранилось, отправил к Супнику. Написали Роберту еще раз, тоже пусто, но он посоветовал обратиться в Музей Компьютерной Истории в Маунтин-Вью. Но в каталоге Музея десятки ящиков неразобранных микрофишей. Надо туда ехать и лично искать.
Еще Шахнов подвел, шина микрокоманд у него показана как инвертированная, и все цепи именовались исходя из этого, а оказалось что шина прямая, и оригинальная схема М8186 это подтверждает, пришлось делать массированное переименование цепей.
В-общем, процесс идет интересный.

hobot
20.02.2021, 13:00
В-общем, процесс идет интересный.


https://youtu.be/4dM_dBBTiEI

Radon17
20.02.2021, 14:12
Может надо искать в Воронеже? ВЗПП вроде бы до сих пор функционирует.

Vslav
20.02.2021, 15:08
Может надо искать в Воронеже? ВЗПП вроде бы до сих пор функционирует.
Хорошо бы, это надо кого из местных просить поискать.

CodeMaster
20.02.2021, 15:53
кого из местных просить поискать.
Типа Radon17 ;-)

Vslav
20.02.2021, 15:57
Типа Radon17 ;-)
Так скоординировались бы да пошерстили, может сохранилось чего из документации. А то даже децималки документов неизвестны.

Radon17
20.02.2021, 16:00
Да я и не против. Только как выйти на ВЗПП? Не может же просто человек с улицы зайти и спросить "что у вас из документации есть?".

Vslav
20.02.2021, 16:04
Да я и не против. Только как выйти на ВЗПП? Не может же просто человек с улицы зайти и спросить "что у вас из документации есть?".
Надо искать кто там работает с документацией. На киевском "Электронмаше" у меня были партнеры которые с нашей компанией работали. После карантина попробую поспрашивать, но F11 не использовался, вряд ли что найдется.

CodeMaster
20.02.2021, 16:18
может сохранилось чего из документации
Я почти уверен, что ничего, ибо не за чем.

Titus
24.02.2021, 16:14
Увы, был занят ВП1-034, как закончу - вернусь к фотографированию.

https://www.b17.ru/forum/foto/47827340_1_a32589.jpg

Vslav
25.02.2021, 00:59
Ну что я могу сказать - из оставшихся четырех микросхем 1515ХМ1 оказались две штуки 031, и по одной 036 и 136. Поскольку я абсолютно точно травил 039, то видимо вот то, что мы подумали XM2-003 и был кристалл выпавший из XM1-039. А 031 я по ошибке две штуки сделал, одну вместо XM2-002. В-общем, надо еще где-то искать ХМ1-039, желательно со старой датой.

Titus
25.02.2021, 01:06
Ну что я могу сказать - из оставшихся четырех микросхем 1515ХМ1 оказались две штуки 031, и по одной 036 и 136. Поскольку я абсолютно точно травил 039, то видимо вот то, что мы подумали XM2-003 и был кристалл выпавший из XM1-039. А 031 я по ошибке две штуки сделал, одну вместо XM2-002. В-общем, надо еще где-то искать ХМ1-039, желательно со старой датой.

Т.е., если выстроить в ряд, у тебя есть:
1515ХМ1-031 - надо фоткать
1515ХМ1-036 - надо фоткать
1515ХМ1-136 - уже сфоткана тобой ранее и отреверсена

Надо вскрывать кристалл:
1515ХМ1-039
1515ХМ2-002

Я не понял, а что случилось с ХМ1-039? Что откуда выпало и почему потерялось? И почему она нужна со старой датой?

Vslav
25.02.2021, 01:11
1515ХМ1-136 - уже сфоткана тобой ранее и отреверсена

Там большой скол, я переснял нормальный кристалл.



Надо вскрывать кристалл:
1515ХМ1-039

Этого у меня нет. Прислали одну штуку, ее потравили, в ней оказался кристалл XM2-003.



1515ХМ2-002

Эти есть, ждут следующей партии.



Я не понял, а что случилось с ХМ1-039? Что откуда выпало и почему потерялось? И почему она нужна со старой датой?
В ней оказался кристалл ХМ2-003. Нужна со старой датой чтобы такое точно не повторилось.

Titus
25.02.2021, 01:17
Там большой скол, я переснял нормальный кристалл.
Как я уже упоминал, скол полностью удалось логически восстановить, и если и фоткать 136, то только когда вообще ничего больше фоткать не надо.

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


Этого у меня нет. Прислали одну штуку, ее потравили, в ней оказался кристалл XM2-003.
Значит надо попросить народ прислать тебе его.

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


В ней оказался кристалл ХМ2-003. Нужна со старой датой чтобы такое точно не повторилось.

Получается, они корпусировали новые кристаллы под старой маркой? Безобразие! )

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

В общем, у тебя два кристалла есть, фотки которых уже сейчас ждет все прогрессивное УКНЦ-человечество.

Vslav
25.02.2021, 01:20
Как я уже упоминал, скол полностью удалось логически восстановить, и если и фоткать 136, то только когда вообще ничего больше фоткать не надо.

Я это прекрасно помню, но я хочу фотографию без дефектов.

Vslav
26.02.2021, 20:14
1515ХМ1-036 (108MB) (https://www.1801bm1.com/files/retro/1515/images/xm1-036hd.jpg)
Не самая лучшая фотография - кое-где стекло отслоилось и чешуйки налипли. Они маленькие и прозрачные, дефект чисто косметический, на реверс повлиять не должно.
Я их попробовал отмыть (предварительно сделав снимки того что есть), но они отчищаются слабо, появляются новые дефекты, некоторые крошатся и крошка с грязью набивается между проводниками, в-общем еще хуже делается.

PS. Если у кого есть 1515ХМ1-039 - присылайте, откроем.

Titus
26.02.2021, 20:17
Не самая лучшая фотография - кое-где стекло отслоилось и чешуйки налипли
На первый взгляд ничего криминального не налипло.

Интересно, что этот кристалл в красноватых тонах. Все разные)

Vslav
26.02.2021, 20:53
На первый взгляд ничего криминального не налипло.
Мне тоже кажется что на реверс не повлияет, можно понять что и как. Но если вдруг будет где совсем затык - пиши, попробую отдельно проблемного место рассмотреть напрямую в микроскоп.

hobot
26.02.2021, 21:14
PS. Если у кого есть 1515ХМ1-039 - присылайте, откроем.
есть вот такая плата, "сбойная УК-НЦ", сбой описан по ссылке подробно
https://zx-pk.ru/threads/32004-opros-i-obmen-informatsiej-po-zhivym-uk-nts.html?p=1099763&viewfull=1#post1099763
там же есть и фото платы.

Хочу узнать мнение специалистов этой теме:
1. пойдёт ли плата на донорство?
2. процессоры там живые (керамика) - и вот меня скорее этот вопрос очень сильно волнует (я его задавал однажды,
но ответ был сильно "предварительный"), мне важно вот что:

=> Возможен ли в принципе вариант УК-НЦ (НОВЫЙ, FPGA????, в общем правильное название\терминологию сами пожалуйста подберите - я не хочу путать себя или вас), в котором используются реальные Ангстремовские камушки, а всё остальное окружение (с удобными современными интерфейсами, КМД, КЖД, возможно как вариант AZ, но КМД нужен по любому) уже в виде программы\прошивки + гнездо для флеш носителя (образы дискет и т.п.)

=> Возможен ли в принципе вариант ДВК(на ВМ2 которая с реальным камушком по примеру пункта выше, тогда из той платы можно было бы сразу две "железных" ДВКашки забахнуть (без КЦГД)???

Очень интересно ваше мнение.
Спасибо.

Vslav
26.02.2021, 22:26
1. пойдёт ли плата на донорство?

Не совсем, она не окончательно дохлая еще, жалко. В таких случаях можно рассмотреть замену 039 на ХМ2-003, а снятую 039 отправить на вскрытие.



2. процессоры там живые (керамика)

Вероятно да, но не факт.



=> Возможен ли в принципе вариант УК-НЦ (НОВЫЙ, FPGA????,
...
=> Возможен ли в принципе вариант ДВК
...

Да все в принципе возможно, но кто будет делать...

Titus
26.02.2021, 23:14
1515ХМ1-036 (108MB)

Бегло глянул - видно, что это по сути та же схема, что и 136, которую модифицировали, изменив часть элементов и часть проводников.

Даже не знаю, что проще, нарисовать все заново, или искать отличия.

Vslav
26.02.2021, 23:52
Бегло глянул - видно, что это по сути та же схема
Ммм.... А ты серьезно ожидал увидеть там что-то новое? Ошибки критические поправили да и все.

Titus
27.02.2021, 00:05
Ммм.... А ты серьезно ожидал увидеть там что-то новое? Ошибки критические поправили да и все.

Вполне ожидал увидеть разведенку переразведенку)

Vslav
27.02.2021, 00:25
Вполне ожидал увидеть разведенку переразведенку)
Ну, тогда 31-ую можно не делать, ради переразведенки-то.

Titus
27.02.2021, 00:38
Ну, тогда 31-ую можно не делать, ради переразведенки-то.
Все нужны чипы. Мало ли какие отличия.

Vslav
27.02.2021, 00:43
Все нужны чипы. Мало ли какие отличия.
Ну раз отличий мало, а работы - много, забьем? Время-то всегда есть куда потратить. На F11, например, там как раз схема 1811ВУ1 готова, можно матрицу вытаскивать и читалку обдумывать.

Titus
27.02.2021, 01:07
Ну раз отличий мало, а работы - много, забьем? Время-то всегда есть куда потратить. На F11, например, там как раз схема 1811ВУ1 готова, можно матрицу вытаскивать и читалку обдумывать.
Ты так не шути)
Отличия - это одна из самых интересных вещей.

Vslav
27.02.2021, 01:27
Ты так не шути)
Та какие шутки - вот такое готово уже:

Диффузия 1811ВТ1 (https://www.1801bm1.com/files/retro/1811/images/1811vt1-diff.jpg)
Диффузия 1811ВМ1 (https://www.1801bm1.com/files/retro/1811/images/1811vm1-diff.jpg)

Надо это реверсить. ВУ1 уже готова схема, надо тащить матрицы и делать модель. Ну, давай, убеди меня что мне интересней будет клеить фотки очень близких аналогов давно открытых ХМ-ок, выхлопа от реверса которых до сих пор нет - модель для ПЛИС где? УКНЦ на ПЛИС где?

Titus
27.02.2021, 01:32
Надо это реверсить. ВУ1 уже готова схема, надо тащить матрицы и делать модель. Ну, давай, убеди меня что мне интересней будет клеить фотки очень близких аналогов давно открытых ХМ-ок, выхлопа от реверса которых до сих пор нет - модель для ПЛИС где? УКНЦ на ПЛИС где?

Тут не надо убеждать. Надо доделать чипы от УКНЦ и все)

Vslav
27.02.2021, 01:35
Тут не надо убеждать. Надо доделать чипы от УКНЦ и все)
Кому надо? Ты вот рисовал схемы в своем формате и был в своем праве, конечно.
Ну а я в своем праве потратить свое время на то что мне более интересно, правильно?

Titus
27.02.2021, 02:14
Кому надо? Ты вот рисовал схемы в своем формате и был в своем праве, конечно.
Ну а я в своем праве потратить свое время на то что мне более интересно, правильно?

Ты трать, но не забывай про доделывание фоток УКНЦ-шных чипов.

Vslav
27.02.2021, 02:16
Ты трать, но не забывай про доделывание фоток УКНЦ-шных чипов.
1515ХМ1-031 (https://www.1801bm1.com/files/retro/1515/images/xm1-031hd.jpg)

Titus
27.02.2021, 03:26
1515ХМ1-031
Хм... чувствую, что ты подтролливал немного)

Спасибо за фотки)

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

Хорошее качество фотки, все элементы видно четко! Не считая некоторых мелких клякс.

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

Напомню, кто не в теме, ХМ1-031 - это более ранняя версия контроллера клавиатуры и таймера. Имеет некоторые неисследованные глюки, из-за которых таймер работает более капризно, чем в более новой и полностью отреверсенной ХМ2-001.

Titus
27.02.2021, 13:55
PS. Если у кого есть 1515ХМ1-039 - присылайте, откроем.

Уважаемые граждане, ищем у себя ХМ1-039 и пересылаем товарищу Vslav'у!

Vslav
27.02.2021, 16:18
Хм... чувствую, что ты подтролливал немного)
Ну не без этого :). А то совсем скучно было бы клеить панорамы.

Vslav
07.03.2021, 22:57
Доделал 1515ХМ1-136 (https://www.1801bm1.com/files/retro/1515/images/xm1-136hd.jpg), 180MB, в нормальном качестве, без сколов

Titus
08.03.2021, 19:44
Уважаемые граждане, ищем у себя ХМ1-039 и пересылаем товарищу @Vslav'у!

И еще раз напоминаю благодарным гражданам.

hobot
08.03.2021, 19:52
И еще раз напоминаю благодарным гражданам.

у меня только на сбойной плате могу предложить...
см. фото в теме по живым машинкам (сообщение в районе №32-33)

Titus
08.03.2021, 20:27
у меня только на сбойной плате могу предложить...
Предложи на сбойной плате.
Вряд ли кристалл может быть поврежден механически.

hobot
08.03.2021, 20:45
Предложи на сбойной плате. Vslav в курсе этой возможности...
и фотку платы он видел и ответ мне в теме про ПЛИС ДВКашку писал...

Titus
08.03.2021, 20:50
и фотку платы он видел и ответ мне в теме про ПЛИС ДВКашку писал...
Ну так ты действуй. Выпаяй и пришли ему.

Hunta
08.03.2021, 20:52
Выпаяй и пришли ему.
Хобот? Выпаять?...

hobot
08.03.2021, 21:02
Хобот? Выпаять?...
вот Титуса я глубочайше уважаю, но порой он как что то напишет и как его понимать не ведемо.
Как в том анекдоте, где один "три для не кушал", а другой отвечает "это ты зря, надо себя заставлять"

Да даже и если не Хобот (Хунта?) Разве в домашних условиях можно такое делать?
То есть можно наверное, но ... и тут очень много что нужно в плане рабочего места для таких вещей не говоря уже об опыте проделывания таких операций...

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


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

MiX
08.03.2021, 21:07
Разве в домашних условиях можно такое делать?
Выпаивать не надо, просто остричь ноги кусачками и всё. Её же всё равно в кислоту бросать.

Titus
08.03.2021, 21:30
тут так же есть проблемы - сам я на почту не ходок
Что значит не ходок? Разве ты не хозяин своим ручкам и ножкам?

CodeMaster
16.03.2021, 21:01
В-общем, надо еще где-то искать ХМ1-039, желательно со старой датой.
А насколько старой?

Vslav
17.03.2021, 02:32
А насколько старой?
До появления ХМ2. Насколько я знаю - младше 90-го.

CodeMaster
17.03.2021, 14:00
младше 90-го.
Вот тут (https://www.phantom.sannata.org/viewtopic.php?p=588974#p588974) не очень видно, но вроде бы 89-го.

Hunta
18.03.2021, 17:43
Из занимательного
The DIS and EIS/FIS chipsets are mutually exclusive. (примечание - DIS - Dibol Instruction Set - типа урезанного CIS)
The DIS requires the KEV11-CA 23-004B5 & 23-005B5 DIBOL chip set.
The DIBOL chipset does not have microcode refresh.

Vslav, насколько я помню, ты писал, что микрокод у DEC LSI-11 и у наших 581-ых аналогов совпадает. По инфе, на которую наткнулся, получается, что регенерацию памяти делает микрокод, который идёт с EIS или FIS?..

Vslav
19.03.2021, 03:54
Да, рефреш памяти делает микрокод, конкретно вот эта процедура:


1418 31D ;_________________________________________________ ________________________
1419 31D ;
1420 31D ; DRAM refresh routine, enters after translations REF,QBR,RNI
1421 31D ;
1422 31D 0000031D .loc 0x31D ; [REF],[QBR],[RNI]
1423 31D 0000508A refrsh: tl F_RT,RPSWL ;
1424 31E 00001021 jzbf 1$ ;
1425 31F 00006004 ll 0,RSRCL ;
1426 320 0000202A al F_RF,RPSWL ; set in-refresh flag
1427 321 00006805 1$: ll 128.,RSRCH ; 128 cycles of byte read
1428 322 002C0324 jmp 3$,RFSET ; to refresh the memory
1429 323 0000E019 2$: ib LB,RIRH ;
1430 324 0000F445 3$: rib2 RSRCL,RSRCH ;
1431 325 00001023 jzbf 2$ ;
1432 326 0000E019 ib LB,RIRH ;
1433 327 0028508A tl F_RT,RPSWL,EFCLR;
1434 328 0000112A jzbt 4$ ;
1435 329 1A006FF5 ll 0xFF,RSRCH,,RFR ; special return
1436 32A ;
1437 32A ; return address on tr[7:4] via RFR (from refrhesh)
1438 32A ; tr7:4 go to
1439 32A ; 0000 xxxx 0x163 - WAIT instruction cycle
1440 32A ; 1000 xxxx 0x343 - wait for power OK on start
1441 32A ; 0001 xxxx 0x3B4
1442 32A ; 0010 xxxx 0x3C8
1443 32A ; 0100 xxxx 0x3D2 - wait for tty input
1444 32A ; 0110 xxxx 0x3E9 - wait for tty output
1445 32A ; xxxx xxxx pass
1446 32A ;
1447 32A 00004FDA 4$: nl ~F_RF,RPSWL ; clr in-refresh flag
1448 32B 0000004D jmp rsvc0 ; goto next instruction


Ка видно, находится она по адресу 0x31D, то есть в основном микрокоде, но вызывается она не напрямую,
а транслятором (смотреть tran REF) и возврат там тоже сложный. Грубо говоря, есть набор фиксированных
адресов микрокода, задаваемый матрицей в управляющем чипе, а не в MicROM, в коде они обозначены
как tran. И когда микрокод выполняется на одном из из этих адресов, то следующий адрес определяется
выполнением некоторых условия для назначенного tran. Для tran REF если активен запрос на регенерацию,
то будет вызвана процедура refrsh. И возврат из нее через другой tran RFR. Насколько я понял для работы Дибола
требуется специальный управляющий чип, где траны расставлены под микрокод Дибола, иначе рефреш может
не работать.

Hunta
19.03.2021, 08:05
Спасибо, Vslav!

Вообще, конечно, прикольно. Поставил эту пару микросхем - и начались у тебя сбои. Потому как, к примеру, модуль память без встроенного рефреша, а про этот прикол ты ни сном ни духом :)

Vslav
27.03.2021, 21:15
Археологические новости.
Есть отличный прогресс по реверсу комплекта 1811:

- готовы фотографии верхнего слоя и слоя диффузии для всех микросхем 1811ВМ1, 1811ВУ1, 1811ВТ1
- практически полностью закончена векеторизация всех упомянутых микросхем
- на 100 процентов готова схема 1811ВУ1
- на 80 процентов готова схема 1811ВМ1

В процесс включился Алексей anasana, за что ему огромное спасибо - очень сильно меня разгрузил - перенес все матрицы ВУ1 в схему и скоро, надеемся, будет приступать к рисованию схемы ВТ1.
Из прикольного по реверсу:
- ~12К тразисторов в ВУ1 и ~7K8 в ВМ1
- есть очень много непонятных описаний ПЛМ/ПЗУ в ВУ1 (Шахнов, описание KDF-11 от DEC) с разными цифрами 138/512/444 и прочее. Наконец появилась ясность как оно сделано, там действительно хитрая смесь ПЗУ и ПЛМ. Есть возможность считывания снаружи, сейчас делаю считывалку на stm32. Буду заказывать платы, потом могу владельцам чипов с микропрограммой платы подарить (это чтобы прочитать на месте, а не пересылать по почте раритеты)
- набор микроинструкций пока неясен (оставлен на закуску в этих самых 20 процентах), но кое-что уже понятно, долго ломал голову почему в LSI-11 были инструкции условного перехода при выполнении и не выполнении условия - всего в опкоде отводилось 4 бита под условия (3 выбирало флаги, и 1 бит отвечал - прямое/инверсное), а тут очевидно всего 3 бита, и выбирается 8 флагов, никакой инверсии. Потом дошло - тут уже есть прямое поле Next Address, и вообще нет счетчика микрокоманд, который автоматически делает LC+2, поэтому переход по невыполнению условия просто не нужен
- в АЛУ обнаружена схема десятичной коррекции, о как, заготовка под CIS
- АЛУ выглядит немного нетрадиционно, сдвигатель интегрирован в основной функционал, а схема ускоренного переноса сделана по-тетрадно отдельно (и она же взаимодействует с десятичным корректором

Radon17
28.03.2021, 10:04
На всякий случай скажу что у меня есть отдельные сборки на 1811 серии и я обеими руками за их вычитывание.
Готов помочь, если скажете как.

https://pic.maxiol.com/thumbs2/1616914978.1559557688.dscn7047.jpg (https://pic.maxiol.com/?v=1616914978.1559557688.dscn7047.jpg&dp=2)

Hunta
28.03.2021, 10:33
Думаю, у меня один из самых полных наборов - так как есть и советские (как одиночные, так и спаренные) и DEC-овские :) Включая макросборку CIS :)

Но, насколько я понимаю, пока ещё идёт разработка станка для считывания :)

Vslav
28.03.2021, 11:00
"Станок" представляет собой переходную плату на которой:
- подается одно внешнее питание +12V
- DC-DC преобразователь +12V->5V
- разъем для втыкания платы на stm32f407 - https://github.com/mcauser/MCUDEV_DEVEBOX_F407VGT6, нет смысла ставить и трассировать отдельный stm32,
и время потратить на пайку/трассировку и проект одноразовый - а так отладочная плата потом вынимается и идет для других проектов.
- 46-контактный широкий сокет под сборки типа МК1.
- в этот же 46-контактный можно будет вставить широкую DEC-овскую сборку
- этот же 46-контактный частично совмещен с узким 40/46 контактным для вставки узких сборок от DEC
- и еще будет место для припайки одной микросхемы 1811ВУх прямо на плату - для того чтобы начать разработку софта с одиночной конфигурации (чтобы в начале ВМ1 не мешался)

Hunta
28.03.2021, 11:21
Vslav, я так понимаю, что рассылаться будут печатным платы без ничего. Вопрос - что уже можно покупать из того, что надо будет на плату припаивать?

Vslav
28.03.2021, 12:05
Vslav, я так понимаю, что рассылаться будут печатным платы без ничего. Вопрос - что уже можно покупать из того, что надо будет на плату припаивать?
Можно было бы плату stm32 купить (https://www.aliexpress.com/item/1005001603853562.html?spm=a2g0o.productlist.0.0.1d 533867SPTHj4&algo_pvid=018d6f5e-ac89-4ac1-9c59-483d8c25070c&algo_expid=018d6f5e-ac89-4ac1-9c59-483d8c25070c-4&btsid=0b8b036d16169221908554603ed544&ws_ab_test=searchweb0_0,searchweb201602_,searchweb 201603_) сейчас, но давай сначала запустим изделия, а то мало ли чего повылазить - ног не хватит, или 5-вольт совместимость под вопросом окажется. Деталек все равно будет очень немного и ничего дефицитного, успеешь скупиться, пока плата от меня по почте идти будет.

Hunta
28.03.2021, 12:52
Понятно. Что то похоже у меня лежит - было несколько подходов к stm32 в плане попрограммировать, но пока не удачных, но платы поэтому есть. Надо глянуть, чего там у меня :)

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

Не, платка гораздо шире

Hunta
28.03.2021, 23:37
Интересное из документации на LSI-11

Note:
Only quad-sized processor modules have microcode refresh capabilities. Double-sized processor module do not. With double-sized processors, either DMA refresh or self-refreshing memory must be used.

И там ещё некоторое количество инфы про вариант, когда процессор управляет рефрешем

Vslav
29.03.2021, 15:00
И там ещё некоторое количество инфы про вариант, когда процессор управляет рефрешем
Процессорный рефреш долгий - микропрограмма делает один цикл по всем адресам. Некоторые станочники очень его не любят - реалтайм из этого страдает. Поэтому - да, почти любой другой способ рефреша динамической памяти предпочтительней, а сам процессорный рефреш легко отлючить перемычкой конфигупации на плате, на микросхемы LSI-11 просто перестает поступать запрос на рефреш, и микрокод его не производит.

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


With double-sized processors, either DMA refresh or self-refreshing memory must be used.

Я процессоры-половинки даже на фотографии не видел. И разве был советский аналог-половинка на LSI-11 ?

Hunta
29.03.2021, 15:20
Я процессоры-половинки даже на фотографии не видел. И разве был советский аналог-половинка на LSI-11 ?
Насчёт советских не скажу (не видел), а насчёт фирменных... пока нет полного понимания. Выдержка - из LSI-11 Systems Service Manual (сейчас страницу найду), в котором рассматриваются как quad-sized M7264, так и double-sized M7270, причём в названии они как бы обособляются как LSI-11/2, в тексте про M7264 активно используется и просто LSI-11. Плюс в этой же книжке (озаглавленной как LSI-11) рассматривается и KDF11, который (где то ещё налетал) типа как LSI-11/23.

Так что какие из них имелись ввиду в части про рефреш...

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

Во, нашёл. Страница 8 (внутренняя нумерация) или 15 - pdf-ная нумерация

AFZ
29.03.2021, 19:51
Я процессоры-половинки даже на фотографии не видел. И разве был советский аналог-половинка на LSI-11 ?А ЦП М3 (Электроника-60Т) разве не на "половинке"? Это то чудо, где 4 БИС - как они называли, БИС РАЛУ плюс три из четырех БИС микрокода (без РА и ПЗ) упаковали в одну м/с 581(ВМ?)1, в буквах не уверен, может и не ВМ. Я давно уже спрашивал, что это такое: наша самодеятельность, или опять содрали? Тогда никто не ответил, похоже, их выпустили очень мало и никто их не видел.

Radon17
29.03.2021, 20:49
в одну м/с 581(ВМ?)1, в буквах не уверен, может и не ВМ.
КР581ВЕ1

https://pic.maxiol.com/thumbs2/1617040003.1559557688.post26470751989001.jpg (https://pic.maxiol.com/?v=1617040003.1559557688.post26470751989001.jpg&dp=2)

Вроде бы даже м/с на руках у людей есть, а никто её так и не "открыл" (до кристалла)...
Да хотя бы рентгеном. Потому что непонятно: это однокристалка или гибридка?

AFZ
30.03.2021, 07:54
Вроде бы даже м/с на руках у людей есть, а никто её так и не "открыл" (до кристалла)...Так, кроме Vslav'а, этим сейчас никто и не занимается...


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

И еще, м/с у людей есть, а плату М3, что, никто не видел? "Половинка" она, или, все-таки, большая?

MiX
30.03.2021, 08:35
ИМХО, гибридка из четырех тех 581-х кристаллов в этот кузов просто не влезет. Похоже, все-таки, "утрамбовали". И главный вопрос - это наша самодеятельность, или этот кристалл, как и остальные 581-е, цельнотянутый?
Набор из 581-х это всё-таки секционник, а КР581ВЕ1 это Однокристальная микроЭВМ без аналога.


"Половинка" она, или, все-таки, большая?
Половинка и без ОЗУ.

Vslav
30.03.2021, 09:11
Набор из 581-х это всё-таки секционник, а КР581ВЕ1 это Однокристальная микроЭВМ без аналога.
581ВЕ1 - это схемотехнически объединенные все пять микросхем 581ИК1/2 + РУ1/2/3 в одном корпусе. Насчет "однокристальная" - это большой вопрос, возможен монтаж отдельных кристаллов на одном носителе по гибридной технологии. Чтобы понять что там - надо хотя бы просветить рентгеном и увидеть внутреннюю структуру. У меня 581ВЕ1 нет, никто для вскрытия не предлагает, поэтому вопрос так и останется.

MiX
30.03.2021, 09:27
581ВЕ1 - это схемотехнически объединенные все пять микросхем 581ИК1/2 + РУ1/2/3
Откуда пять, нет там РУ3.

Vslav
30.03.2021, 09:31
Откуда пять, нет там РУ3.
Тогда еще один плюс за гибридную технологию - 4 кристалла удобнее расположить на подложке, симметричнее.

Radon17
30.03.2021, 10:28
И еще, м/с у людей есть, а плату М3, что, никто не видел?
Ну минимум одна фотка есть :)

https://pic.maxiol.com/thumbs2/1617089252.2956674681.tmp3486m3f31917920.png (https://pic.maxiol.com/?v=1617089252.2956674681.tmp3486m3f31917920.png&dp=2)

MiX
30.03.2021, 10:31
Ну минимум одна фотка есть
На Вику можно её залить?

Radon17
30.03.2021, 11:26
На Вику можно её залить?
Не знаю, фото не моё :D

svinka
30.03.2021, 14:41
Корпус ВЕ1 сильно толще чем у секций

По Шахнову возросло быстродействие с 250 до 330тыс оп/сек

Последний факт однозначно указывает на гибрид (соединение кристаллов металлическим проводом)

Vslav
30.03.2021, 17:26
Корпус ВЕ1 сильно толще чем у секций
Да, скорее всего там добавлена алюминиевая или керамическая подложка.


Последний факт однозначно указывает на гибрид (соединение кристаллов металлическим проводом)
Нет, не указывает. Выполнение на одном кристалле тоже дало бы прирост быстродействия.
Но есть еще один аргумент за гибридку - ПВГ и так был невысоким, сделать в 4 раза больший кристалл по площади - уже вызов для технологии, ПВГ стал бы совсем печальным. И маловероятно что там таки большой кристалл который смасштабировали в меньшую сторону - иначе и частоты должны сильнее вырасти и с питанием могли бы вопросы порешать. В-общем, я больше склоняюсь к гибридке, чем к "однокристаллке".

CodeMaster
30.03.2021, 17:59
На Вику можно её залить?
Да там всё тогда надо править:

Процессор М3 выполнен на основе однокристальной БИС К581ВЕ1 (клон CP1651)

Vslav
30.03.2021, 18:55
Да там всё тогда надо править:
Ну мы точно не знаем, просто предполагаем что там не один кристалл, а гибридная сборка, вероятность такого выглядит выше. Но ошибиться легко, надо хотя бы рентген 581ВЕ1 сделать.

svinka
30.03.2021, 18:58
Сначала надо чипироваться этим ве1

1Ж24Б
30.03.2021, 21:28
Тогда еще один плюс за гибридную технологию - 4 кристалла удобнее расположить на подложке, симметричнее.
Так микросхема в пластике, герметизация выполнена в прессформе. Какой процент ПВГ будет в случае советского компаунда ?

А толстая пластина снизу наверняка из-за возросшей мощности рассеивания. Можно спросить dk_spb, насколько греется КР581ВЕ1 на плате М3...

MM
30.03.2021, 23:01
581ВЕ1
581 - кристалл
ВЕ - ОЭВМ
Тип корпуса 4113.48-5
Ссылка, где ветераны МЭП перетирали о 581ВЕ1 :
https://forum.ixbt.com/topic.cgi?id=44:420-84

Vslav
31.03.2021, 00:56
Так микросхема в пластике, герметизация выполнена в прессформе. Какой процент ПВГ будет в случае советского компаунда ?
А какие проблемы? Все равно бондинг делается до герметизации, и если он ее переживает - нет особой разницы сколько кристаллов разварено на подложке - один или четыре.

AFZ
31.03.2021, 10:02
Ну мы точно не знаем, просто предполагаем что там не один кристалл, а гибридная сборка, вероятность такого выглядит выше. Но ошибиться легко, надо хотя бы рентген 581ВЕ1 сделать.А по размерам оно влезет? Сборка из четырех 581-х чипов (квадрат) на керамике или металле, плюс соединения... Мне кажется, что нет.

Vslav
31.03.2021, 11:31
А по размерам оно влезет? Сборка из четырех 581-х чипов (квадрат) на керамике или металле, плюс соединения... Мне кажется, что нет.
Оно там запросто может быть стопкой (или двумя) сложено, такой бондинг тоже бывает. В-общем, гадать бессмысленно, может быть и кристалл (имхо, менее вероятно - технология против, разработка опять-таки а не привычное сдирание топологии, нет улучшений никаких) и гибридка, пока не откроем - не узнаем.

Radon17
31.03.2021, 12:20
581 - кристалл
ВЕ - ОЭВМ
Тип корпуса 4113.48-5
Ссылка, где ветераны МЭП перетирали о 581ВЕ1 :
https://forum.ixbt.com/topic.cgi?id=44:420-84

По ссылке:

например, об однокристальной ЭВМ — равно одна такая была: спроектированная в НЦ 581ВЕ1 — её и делали в Воронеже.
Как минимум вызывает вопросы по достоверности.
Как 581 серия попала в НЦ, если ей занимались только в Воронеже?

Может автор вообще перепутал и свалил в кучу 1801ВЕ1 и 581ВЕ1?

CodeMaster
31.03.2021, 14:32
Как минимум вызывает вопросы по достоверности.
Это все из разряда Одна Дед Бабка Сказала. Реверс Vslav уже не раз показывал, что даже документам верить нельзя, т.ч. только рентген рассудит.

Hunta
31.03.2021, 14:51
По ссылке:
Я пролистал страниц пять - нашёл ровно две фразе с заветными цифрами. И все. Так что по крайне мере по ссылки никаких тёрок нет..

MM
31.03.2021, 15:09
НЦ
Воронеж = НЦ

Что такое НЦ - группа ведущих предприятий МЭП, ориентированных на ЭБ боевого космоса. Директора этих предприятий были в статусе "Руководитель филиала" ( по-Русски - начальник цеха ). Головное предприятие НЦ было - Ангстрем с НИИТТ.
Отмечу, что НЦ имел абсолютно полный безлимит по финансированию, года с ~1972, после совещания в ЦК, признавшего, что когда БЦВМ и "головка" имеют сопоставимый массогабарит, такая ракета далеко не полетит.
Например, П-Посад построен на более, чем 60% за счет Экситона - большая часть южной стороны ( от железной дороги ) и порядка 40% ( многоквартирных домов ) - северной. На самом заводе Экситон в 1990-м работало порядка 10 т. чел, в ОКБ Э. - более 1200, плюс ЖКХ, склады, филиальчики в деревнях и выносные отдельчики ОКБ Э. - еще никак не менее 2 ​т. чел.
А всякие там ткацкие и швейные заводики вместе взятые ( в П-Посаде ) - порядка 2/3 чел. от Экситона. Имели в цехах в основном выпускниц школ "8" типа и т.п. особенности. Мужички там работали сплошь "бывалые", и Очень завидовали экситоновцам, в основном по причине 5-дневки для ИТР и на ~50% большей з/п цеховых, а так же тому, что Э. изрядно дотировал домострой, в т.ч. кооперативный - любой малопьющий цеховой с Э. мог соорудить за 5 лет 2-комнатную, и еще на хавчик с тряпками оставалось, а в ткацком секторе города - только если за 15+ лет дом в деревне построить, одноэтажный из белого кирпича, метров на 50 кв.

S_V_B
31.03.2021, 16:16
ориентированных на ЭБ боевого космоса.
Он же теперь благодаря им есть?

любой малопьющий цеховой с Э. мог соорудить за 5 лет 2-комнатную, и еще на хавчик с тряпками оставалось,
Кто мешал людям меньше пить и больше зарабатывать?

а в ткацком секторе города - только если за 15+ лет дом в деревне построить, одноэтажный из белого кирпича, метров на 50 кв.
Сейчас ипотека наверное похуже будет..

В принципе ув. ММ .. то что вы пытаетесь показать негативно..на текущий момент.. недостижимая мечта (никто никому нафиг не нужен.., а так даже у сильно пьющих людей была некая стабильность :) )

AFZ
31.03.2021, 17:09
Подведем некоторые итоги. Наша "половинка" - ЦП М3 - точно есть, точнее была, поскольку здесь в сообществе есть только архивные фотографии. :( Так, что спор о том, хибридка это, или нет, давайте отложим до тех пор, пока не появятся более достоверные данные. А вот что там на эти темы с оригиналами?

Я, например, ни разу не видел нормального хорошего фото тех плат, с которых были содраны Э-60 (без РА и ПЗ) и Э-60М (с РА и ПЗ). Как я понимаю, наши клоны - это, соответственно, ЦП М1 и ЦП М2. Так вот, ЦП М1 я тоже ни разу не видел, даже на фото. И вообще, в нашей литературе и периодике не раз упоминалось, что Э-60М содрана с LSI-11.03, про Э-60 без "М" вообще ничего не говорилось, я думал, что это просто разновидность LSI-11.03, а тут Хунта выкапывает LSI-11.02 и какие-то упоминания о LSI-11 без дополнительных цифр. Давайте, разберемся уж и с этим?.. Чтобы уж точно знать, кто есть кто?

Radon17
31.03.2021, 17:36
ЦП М1 я тоже ни разу не видел, даже на фото.
Летом продавали https://zx-pk.com/forum/viewtopic.php?t=16623
Плюс ещё есть фото одного экземпляра. И ещё чистые платы и буклет (с фото) на сайте CodeMaster

Hunta
31.03.2021, 17:44
а тут Хунта выкапывает
Чё тут капать, всё есть.
Да, LSI-11 (http://www.KpXX.Ru/DEC/PDP-11/Hardware/LSI-11/LSI11.jpg) редко бывает на eBay
Но LSI-11/2 (http://www.KpXX.Ru/DEC/PDP-11/Hardware/LSI-11(2/LSI-11(2.jpg) - завались, но хорошую цену надо искать.
И я уж молчу, что LSI-11/2 я умучал в теме на скорострельность.

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


LSI-11.02
И не LSI-11.02 (нет такого и я не писал), а LSI-11/2

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


LSI-11.03
И этого нет. Есть PDP-11/03, но это комп, а собран он на LSI-11 как процессорной плате

AFZ
31.03.2021, 17:59
И этого нет. Есть PDP-11/03, но это комп, а собран он на LSI-11 как процессорной платеА на LSI-11/2 компы есть? И, кстати, к вопросу Vslav'а об оригиналах на "половинке"...

Hunta
31.03.2021, 18:17
А на LSI-11/2 компы есть?
Есть какие-то но надо листать доку, что бы сказать точнее. А то ведь ещё и LSI-11/23 в доках есть. Известный как PDP-11/23

Alex
31.03.2021, 18:39
Плату ЦП, именно М1, видел, когда в институте учился. Даже в руках подержал :) Но это было один раз. Остальные, что видел М2. М с более высокими цифрами - просто не видел. Книжки про Электронику 60-1 у меня были, но как оказалось - оно чисто для расширения кругозора :)
Видимо они просто выпущены были сравнительно малыми серией и выпускались недолго.
М2 - вкуснее был ;) с FIS. Ну может чуть дороже, чем М1, но кого это во времена СССР волновало...