Просмотр полной версии : Цифровая археология: 1801 и все-все-все
Страницы :
1
2
3
4
5
6
[
7]
8
9
10
11
Картинки я восстанавливал только с 19-й по 29-ю страницы, ссылки на облако Mail.RU.
Так именно ссылки на облако вида:
https://thumb.cloud.mail.ru/weblink/thumb/xw1/6Wvv/hX5VCQNER/MOVPC01.jpg
и не работают.
CodeMaster
17.02.2019, 08:50
и не работают.
У меня работают. Возможно деятели автономного интернета пакостят, через прокси пробовал?
и не работают. по ссылке УК-НЦ скриншот
https://pic.maxiol.com/thumbs/1550388487.1520060509.movpc01.jpg (https://pic.maxiol.com/?v=1550388487.1520060509.movpc01.jpg)
- - - Добавлено - - -
Vslav, может быть про ВМ2 в новую тему, отдельную?
Картинки, увы, все еще недоступны.
Картинки можно найти в веб-архиве, этим способом я восстановил многие картинки сюда:
http://www.emuverse.ru/wiki/%D0%A3%D0%9A%D0%A6%D0%9D_%D0%A0%D0%B0%D1%81%D1%87% D1%91%D1%82_%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D0%B3%D 0%BE_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8_%D 0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0% B8%D1%8F_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4
Vslav, может быть про ВМ2 в новую тему, отдельную?
Сложно сказать, я все равно над двумя процессорами одновременно не работаю :)
А в две ветки интересное писать и поддерживать - возни больше. Все ценное я ссылками в первом посте оформляю, так что смысла добавлять веток особого не вижу.
- - - Добавлено - - -
У меня работают. Возможно деятели автономного интернета пакостят, через прокси пробовал?
Да маловероятно, у меня провайдер ерундой не страдает, да и на работе то же самое - ошибка DNS.
100МГц процессор на SDRAM
на сколько я понял - это проект - современного процессора подобного PDP-11 с высоким быстродействием ?
А почему за прототип берется именно 1801ВМ1, ВМ2 ведь это вовсе не единственная (из всего многообразия) реализация ?
- - - Добавлено - - -
Так именно ссылки на облако вида:
https://thumb.cloud.mail.ru/weblink/...ER/MOVPC01.jpg
и не работают
на Украине закрыли доступ к mail.ru (и не только и уже давно)
на сколько я понял - это проект - современного процессора подобного PDP-11 с высоким быстродействием ?
А почему за прототип берется именно 1801ВМ1, ВМ2 ведь это вовсе не единственная (из всего многообразия) реализация ?
(голосом Дроздова)
Нет никаких проблем. Ведь реверс-инжиниринг процессоров это совсем несложное и почти не времязатратное дело, даже аматоры справляются. Берем DEC J11 DC334 + DC335, всего пара микросхем, это совсем старье, можно по-быстренькому сфотографировать их два слоя металла и один поликремний, на коленке разобрать жалких 120 тысяч транзисторов и за пару недель получить отличную рабочую модель. Что-то я протупил с ВМ1/ВМ2, да. Ведь есть гораздо, гораздо более прогрессивные реализации PDP-11...
на коленке разобрать жалких 120 тысяч транзисторов и за пару недель получить отличную рабочую модель
(Голосом Шендеровича)
А в Воронеже до бомбежек смогли за несколько лет наладить производство клонов. Без моделий правда
А 1806вм2 будет??? Интересны дифференции от 1801ВМ2 в плане микрокода. Исправления багов и почему большинство инструкций (по слухам) исполняются медленнее на той же эффективной тактовой чем у прородителя.
А есть ли примеры использования его дву-оконной модели многозадачности? Никак не могу понять идею топологии двух окон. В кольцо обьединить? или там какие сопроцессоры специализированные секретные есть? и их можно приделать аж 2
А в Воронеже до бомбежек смогли за несколько лет наладить производство клонов. Без моделий правда
И где теперь шаблоны? На помойке?
большинство инструкций (по слухам) исполняются медленнее на той же эффективной тактовой чем у прородителя.
А по факту быстрее.
А есть ли примеры использования его дву-оконной модели многозадачности? Никак не могу понять идею топологии двух окон.
Два процессора используют общую память (оконную). Один процессор забрасывает туда код, второй принимает, и наоборот.
(Голосом Шендеровича)
А в Воронеже до бомбежек смогли за несколько лет наладить производство клонов. Без моделий правда
Ну дык, в Киеве и 386-ой добивали. Дайте мне заводом/НИИ порулить да финансово обоснуйте, сделаем, чего уж там.
(Голосом Шендеровича)
А 1806вм2 будет???
От меня - не будет. Но могу фотографии сделать (правда, тут очередь, не хватает у меня времени и сил быстренько все фотать). Если интерес реальный и сильный - то любопытство можно будет удовлетворить. Самостоятельно :)
А есть ли примеры использования его дву-оконной модели многозадачности?
Мне не попадались. Да и окно это скорее для механизма исключительного доступа к разделяемому блоку памяти. Уже на примере ВМ1 поняли что такие процессоры на одной шине - не вариант, поэтому осталось только общее окно.
Два процессора используют общую память (оконную). Один процессор забрасывает туда код, второй принимает, и наоборот.
Ну окна то у каждого ДВА. Значит к каждому процессору еще можно подключить еще ДВА
- - - Добавлено - - -
Если интерес реальный и сильный Интерес реальный и сильный. Я бы попробовал в отпуске по-реверсить под руководством Гуру
Интерес реальный и сильный. Я бы попробовал в отпуске по-реверсить под руководством Гуру
Гуру улетел и даже вернуться не обещал. Но я могу попробовать ответить на некоторые вопросы вместо него.
Ну окна то у каждого ДВА. Значит к каждому процессору еще можно подключить еще ДВА
Может и так, но процессоры не будут равноправными, а скорее периферийными.
Vslav, если я правильно понимаю, следующий на очереди ВМ3? А дальше? :)
С уважением,
Хунта
Vslav следующий на очереди ВМ3? А дальше? :)
получается ВМ4
не понял - почему в издевательском тоне мне ответили. Ведь было масса PDP не на микропроцессорах и есть полная информация по ним. Зачем "срисовывать" схемы с кристалла, если есть готовые на бумаге ? Да и по эффективности (при одинаковой тактовой) - вовсе не факт, что микропроцессорные эффективней, а даже, скорее - наоборот. То что эти без процессоров под UNIbus - мелочь, переделать легко. Да и изучив и разобравшись в схемах - может и даже лучше теперь можно сделать по-своему. Кстати - те процессоры были не все с микропрограммами, были и без.
Vslav, если я правильно понимаю, следующий на очереди ВМ3? А дальше? :)
Пока не знаю точно, тут бы ВМ2 нормально доделать. Если еще и микрокод ВМ2 разбирать и документировать как ВМ1, то на год-другой возни, не знаю стоит ли. Я парой страниц назад список пылящихся процессоров выкладывал, наверное LSI-11 следующий будет, схема уже полностью готова и понятна, он заметно попроще, его быстро можно сделать. С ВМ3 есть затык с блоком ввода-вывода, что-то там совсем мутная схема выходит, пока отложил.
А по факту быстрее.
а как вообще это оценивают ? Каким тестом ? Что этот тест делает (какие команды процессора использует) ? Вроде принято было сравнивать по производительности сравнивая с первым VAXом (780) ? Как это делали ? Какова производительность ВМ1,2,3 и 1806 по сравнению с DEC и какова эффективность при равной (как бы) тактовой ?
не понял - почему в издевательском тоне мне ответили
Потому что вопрос воспринимается так - а чего только 18К транзисторов разобрано? Надо было 120К, вот это было бы "эффективно". 18К в одиночку можно сделать за разумное время, а 120К - нет. Даже эти 18К это достаточно большой объем работы.
Много раз говорил и здесь и на других форумах - это хобби. Фан я получаю, разбирая старые процессоры. Но чтобы совсем уж оно бесполезное оно не было - на выходе есть цель получить точную реплику на FPGA, с поведением "идентичным натуральному". Тогда у этого всего будет шанс на повторное применение. Нет никакого смысла сегодня брать PDP-11 и пытаться достичь на нем эффективности.
Когда мне нужна будет эффективность от софт-процессора - я возьму RISC-V, и архитектура современная, и производительная, и лицензионно чистая и с инструментарием для нее все очень хорошо. У ретро-моделей другая фишка - на моей модели ВМ1 можно собрать потактово-точную реплику БК-001х, а на RISC-V нельзя. На модели ВМ2 можно собрать УКНЦ или ПК-11/16, а на RISC-V нельзя.
А 100 МГц у модели - это условный фетиш, достигнуто 100 МГц - значит ты хозяин дизайна, а не его раб. Ты его отрефакторил, удалил все узкие места, подчинил полностью, цель достигнута. По той же самой причине разбирается микрокод - чтобы иметь возможность его модифицировать при желании. Достичь полной компетенции - это фан. Наложился успешный багфикс на ВМ2 - отлично, много фана :)
Потому что вопрос воспринимается так - а чего только 18К транзисторов разобрано
я имел ввиду именно процессоры на стандартной логике (о чем позже и написал), подумал, что это очевидно.
Где-то читал, что сделать J11 на FPGA - не получилось. Совсем чуть-чуть знаком с ПЛИСами ALTERA, так там один-в один сделать и не получится - базис очень универсальный и гибкий, но - не тот. Да и задача-максимум уж слишком сложная. Какую именно и конкретно память планируете использовать ? Как думаете по плате 100МГц до нее тащить ? Да и что Вы имеете ввиду под 100 МГц (это частота чего) ? Сигнал CS на памяти - какая частота (время) ?
- - - Добавлено - - -
ну а если Вашему хобби ближе именно микропроцессоры, то может F11(1811) лучше брать за основу. Там вроде - один кристалл процессор, а остальные - просто ПЗУ с микропрограммами (которые можно попытаться считать без микроскопа) и диспетчер памяти отдельный(А без него игрушки - детские вроде БК и УБПК, а с ним - взрослые - RSX). Вроде я где-то в интернете видел микрокод от F11.
Vslav, А вот мне интересен вопрос - werilog модель проца вм1 готова уже 2 года, а много ли участников ей воспользовалось?
Еще несколько лет и те кто видел PDP-11 вымрут как динозавры.
PS. С нетерпением жду Wishbon версию вм2.
я имел ввиду именно процессоры на стандартной логике (о чем позже и написал), подумал, что это очевидно.
А что там особенного? Делаются они намного проще, все на виду, часто есть схемы. Впрочем, М4 и СМ2420 определенно интересны, М4 вообще в планах, схема восстановлена.
Как думаете по плате 100МГц до нее тащить ?
Если открыть выложенные материалы, то можно увидеть что тестовые проекты прогоняются на готовых демо-платах, в readme.md проекта даже ссылки на поддерживаемые платы приведены, есть примеры для самых ходовых ПЛИС - Cyclone2-4, Spartan-6, надеюсь вот-вот появится Artix-7. Поэтому все уже украдено протащено до нас. Есть заметный опыт разработки топологий от SDR-66 до DDR3-1066, поэтому фана делать какую-то свою особенную плату нет никакого. Лучше взять готовую а время потратить на еще один процессор. И да, несколько разных тестовых плат с разными чипами позволили заметно улучшить портабельность моделей, особенно было интересно на Xilinx портироваться.
Да и что Вы имеете ввиду под 100 МГц (это частота чего) ? Сигнал CS на памяти - какая частота (время) ?
Мне нравятся полностью синхронные схемы и не люблю всякие междоменные мосты. Поэтому цель простая - весь дизайн работает на единой частоте (ну за исключением VGA/HDMI, звука, SATA и мб чего-то еще, в своих изолированных мелких доменах, там где это оправдано физическим общением с внешним миром) - CPU, хаб, контроллер SDRAM и сама SDRAM - там у памяти есть тактовый сигнал, вот 100МГц его частота и есть.
ra3qdp, Ну полистайте эту тему с первой страницы.
Vslav, А вот мне интересен вопрос - werilog модель проца вм1 готова уже 2 года, а много ли участников ей воспользовалось?
Есть проект точной реплики БК на Мист/Мистере, там модель ВМ1 в основе.
У меня в планах ДВК-конструктор, это проект где можно редактировать один конфигурационный файл и собирать любой конфиг ДВК с разными процессорами и разным набором периферии, все-таки ДВК сложный аппарат, как-то в ФПГА его до сих пор нет.
PS. С нетерпением жду Wishbon версию вм2.
Ключевой момент ВМ2 - открывается ветка для реплики УКНЦ, многим знакомый аппарат, к реплике может быть интерес.
Как думаете по плате 100МГц до нее тащить
Тактовую частоту 100 МГц проца на своей модели (производная от PDP-2011) я уже делал, так что принципиально это возможно, тем более, камни FPGA бывают разные, думаю и больше можно сделать, возможно и на моём, но модель надо вычистить.
Если использовать BRAM, то, думаю и память можно сделать 100 МГц, с SDRAM не знаю - я до неё ещё не добрался, а с BRAM я больше экспериментировал с отработкой протокола обмена с шиной типа QBUS, в таком варианте память получилась работающая за три такта.
сделать J11 на FPGA - не получилось
Модель один в один - возможно. Работающую аналогично - PDP-2011
ну а если Вашему хобби ближе именно микропроцессоры, то может F11(1811) лучше брать за основу. Там вроде - один кристалл процессор, а остальные - просто ПЗУ с микропрограммами (которые можно попытаться считать без микроскопа).
Да, F11 интересен, на реверс в данный момент нет ресурсов. ПЗУ-шки от F11 еще никто не прочитал, потому что там внутри не просто ПЗУ, а ПЗУ+ПЛМ. Документации на сами микросхемы очень немного, есть скудное описание нано- и микро- команд шины, и там есть специальный опкод для тестирование ПЛМ. Может быть это шанс прочитать и вычислить содержимое микросхем, а может быть и нет. Одну надо точно реверсить и пытаться понять как соорудить вычитку.
Вроде я где-то в интернете видел микрокод от F11.
Это Вы перепутали с J11. Микрокода от F11 нет. Документации тоже нет.
Т.е. на сколько я понял - покупается готовая отладочная плата с каким-нибудь подходящим FPGA, заливается в него Ваша "прошивка" и в результате получается эмулятор целого компьютера, к которому подключатся что ? (что остается "железным", а не эмулированным ?)
А я подумал, что на FPGA делается совместимый по ножкам (возможно с другой распиновкой) именно микропроцессор, который включается в старые (или другие новые) платы процессора, которые используются совместно с другими частями старого компьютера.
А я подумал, что на FPGA делается совместимый по ножкам (возможно с другой распиновкой) именно процессор, который включается в старые
Для человека с небольшим ПЛИС опытом, на базе моих синхронных моделей (тех которые без вишбона еще) - это проект выходного дня.
Я не могу покрыть все варианты использования, моя цель - сделать качественные вылизанные модели. Это библиотека, строительный кирпичик. Берете и строите то что посчитаете нужным.
я уже поднимал здесь вопрос быстродействия - какое оно получилось у PDP2011 и у Вашей модели ? Чему соответствуют эти 100МГц ?
Вот если взять отладочнуб платочку (я видел какие-то), залить в нее модель, дальше-то что делать, что бы увидеть работу какого-нибудь компьютера ? Ведь на платочке только несколько кнопок (кажется), индикаторчик и разъемчики. Что в разъемчики втыкать ?
я уже поднимал здесь вопрос быстродействия - какое оно получилось у PDP2011 и у Вашей модели ? Чему соответствуют эти 100МГц ?
Я не сравнивал с PDP2011. 2011 это полностью синтетическая модель, разработана в совершенно других условиях, без оглядки на транзисторный бюджет. Предполагаю что она значительно быстрее оригинальных моделей. Ну примерно как Z80-next выполняет инструкцию за один такт. Когда у тебя не ограничены ресурсы - это не очень крутой фокус.
А вот сравнить ВМ1 и ВМ2 скоро можно будет в лабораторных условиях, я планирую использовать вычисление пи, как с применением MUL/DIV там где они поддержаны и без. На одинаковой частоте и одной и тоже платформе (памяти/SoC).
У PDP2011 - не знаю, не мерил, на текущей моей модели (сейчас она тактируется от 50 МГЦ) примерно 8 миллионов простых операций (никаких MUL, DIV, ASH, FPP) в секунду - но это не точно, потому как модель ещё в процессе и сейчас стоят задачи вовсе не вылизать её в плане быстродействия
задачи вовсе не вылизать её в плане быстродействия
Потому что там фан совершенно не от быстродействия :)
- - - Добавлено - - -
Вот если взять отладочнуб платочку (я видел какие-то), залить в нее модель, дальше-то что делать, что бы увидеть работу какого-нибудь компьютера ? Ведь на платочке только несколько кнопок (кажется), индикаторчик и разъемчики. Что в разъемчики втыкать ?
А в readme.md, например, для модели ВМ1 все написано. И какие ресурсы предоставлены - 16К ОЗУ с начальной инициализацией, системный таймер 50Гц, консолька на 177560/177564 с векторными прерываниями, 7-сегментный 4-разрядный индикатор (где оно есть), кнопки и переключатели для ввода, регистры светодиодов для вывода.
Еще раз - проект предоставляет модели, кирпичики, а не готовый компьютер. Когда (и если) я буду делать на FPGA ДВК, это будет отдельный проект и отдельная тема, сделанный на конкретной плате, из проекта cpu11 я возьму только кирпичики. Вариантов строить проекты на кирпичиках - очень много, это совершенно не относится к проекту cpu11. Это я хочу ДВК, кто-то другой захочет УКНЦ - он возьмет из cpu11 только ВМ2. Я совершенно не обязан тащить ДВК/УКНЦ в проект по реверсу процессоров, моя цель - делать качественные кирпичи, и если у пользователей моих кирпичей будут проблемы с их использованием - я с удовольствием окажу поддержку.
Эта тема как называется? "Археология"? Не "Реплика ДВК на FPGA", правильно? Поэтому в проекте будет процессорная археология, а не вопросы "куда мне подключить флоппи-диска на демо-плате".
Потому что там фан совершенно не от быстродействия
Потому что фан от действия, а не от быстродействия :) Но я займусь и этим :) Когда модель будет полностью рабочей (читай - RSX загрузится) :) Как минимум :) Хотя, возможно, что то ещё придёт в голову :)
- - - Добавлено - - -
Поэтому в проекте будет процессорная археология
И очень хотелось бы ВМ3 :) А то к нему вопросы есть, а ответов нет :)
а как вообще это оценивают ? Каким тестом ? Что этот тест делает (какие команды процессора использует) ?
Тест SPEED.
Например для 1806ВМ2 команда сложения рег-рег -928 тыс.оп./сек
Для К1801ВМ2 - 664
Вроде принято было сравнивать по производительности сравнивая с первым VAXом (780)
Здесь тест использовался Dhrystone.
1806ВМ2- 283 dhrystones/second.
К1801ВМ2 - 225 dhrystones/second.
Из вики по Dhrystone.
Dhrystone выдает результат в форме: Количество итераций в секунду. Часто этот результат приводят к DMIPS (от Dhrystone MIPS) путём деления на 1757 (результат Dhrystone/s для компьютера VAX 11/780, то есть номинальной машине с 1 DMIPS).
DMIPS можно делить на частоту процессора, чтобы получить DMIPS/MHz. Такие единицы позволяют сравнивать процессоры с разной тактовой частотой.
Как это делали ? Какова производительность ВМ1,2,3 и 1806 по сравнению с DECДля ВМ1~ 500 тыс. оп/с ВМ2~ 1000 тыс. оп/с ВМ3~ 1500 тыс. оп/с
Для DEC может где-то тоже есть характеристики.
при равной (как бы) тактовой ?Нет там равной тактовой.
Для ВМ1~ 500 тыс. оп/с ВМ2~ 1000 тыс. оп/с ВМ3~ 1500 тыс. оп/с
В 1806ВМ2 важно убирать сигнал AR спустя 1 такт CLCO после его выставления, от этого зависит ~10% быстродействия.
( В ТО этот вопрос несколько затуманен ).
Насчет 1801ВМ3А - собираюсь проверить это на нем ( снятие сигнала SSYNC до завершения цикла МПИ по SYNC ).
При сигнале SSYNC = 0в. ( постоянно на общем ) и 0 тактах ожидания ОЗУ ВМ3 способен работать на 3 тактах/команда .
Для ВМ1~ 500 тыс. оп/с ВМ2~ 1000 тыс. оп/с ВМ3~ 1500 тыс. оп/с
Если частота 5МГц и внешняя шина работает не внося дополнительных задержек:
Для ВМ1, цифра составляет 625K оп/с, минимально 8 тактов на операцию регистр-регистр.
Для ВМ2, 5 тактов (считаем в CLKO, не в CLKI которая внутри сразу на входе делится пополам), 1000K оп/с
Для ВМ3, 3 такта, 1666K оп/сек
М4 вообще в планах, схема восстановлена.
а 1804 Вы считаете за "стандартную логику" или будете фотографировать и разбираться как ВМ1,2 ?
На счет разрядности адресов М4 - я думал, что М5(которая с большой вероятностью 22 разряда) и М4 - одинаковые, только в разном конструктиве. Но посмотрел их фото, посчитал количество БИС на той и на этой и видно, что они разные. А значит, скорее всего и по количеству адресов разные.
Хотя в книжке про М4 (у Вас она есть ?), вроде как-то упоминаются на разъеме адреса старше 16-го. Если Вы восстановили схему - куда они идут ?
- - - Добавлено - - -
М4 вообще в планах, схема восстановлена.
а 1804 Вы считаете за "стандартную логику" или будете фотографировать и разбираться как ВМ1,2 ?
На счет разрядности адресов М4 - я думал, что М5(которая с большой вероятностью 22 разряда) и М4 - одинаковые, только в разном конструктиве. Но посмотрел их фото, посчитал количество БИС на той и на этой и видно, что они разные. А значит, скорее всего и по количеству адресов разные.
Хотя в книжке про М4 (у Вас она есть ?), вроде как-то упоминаются на разъеме адреса старше 16-го. Если Вы восстановили схему - куда они идут ?
сама SDRAM - там у памяти есть тактовый сигнал, вот 100МГц его частота и есть.
у микросхем динамического ОЗУ ноги: общий, питание, вход данных, выход данных, чтение/запись, CAS, RAS - какая из них называется по-вашему "тактовый сигнал" ?
CodeMaster
18.02.2019, 10:26
Вот если взять отладочнуб платочку (я видел какие-то), залить в нее модель, дальше-то что делать, что бы увидеть работу какого-нибудь компьютера
Пока ничего, ждЁм когда кто-нибуть сделает FPGA клон какого-то компа на основе потактовой модели проца от Vslav.
Вообще, Слава, если позволишь дам краткое содержание предыдущих серий, а то ты прям взорвал тему своими вопросами ;-)
Серия 1: Vslav решил сделать реверсинженеринг некоторых СБИС интересных лично ему, в том числе ВМ1
Серия 2: В результате у него получилась потактовая модель ВМ1 для FPGA на основе потранзисторной схемы, которую можно использовать как софтядро для создания FPGA симуляторов компов.
Серия 3: На основе потактовой модели он сделал синхронную модель скорость которой ограничена только современными возможностями FPGA и которую можно использовать для создания схем с софтядром с командами ВМ1, но под максимальные частоты.
Серия 4: Vslav продолжает реверсить интересные ему СБИС и выкладывать результаты в первый пост этой темы.
З.Ы. По вопросам вычисления и сравнения быстродействия PDPшных процов и их отдельных команд, тут есть отдельная тема и не одна.
там внутри не просто ПЗУ, а ПЗУ+ПЛМ
А как на английском из трех букв называются микросхемы подобные К556РТ1 ? - в ней адресных ног много, а "емкость" маленькая. Но читаются они легко.
Может и там такие же "ПЛМ" ?
- - - Добавлено - - -
консолька на 177560/177564
как ей воспользоваться ? ПЗУ с пультовым режимом есть ?
как ей воспользоваться ? ПЗУ с пультовым режимом есть ?
16К ОЗУ с начальной инициализацией
Не знаю, как Vslav, а я обхожусь без ПЗУ (точнее говоря, от автора PDP-2011 оно есть, но на данном этапе используется как тест - модель вообще ожила или нет). Синтезирована прошивка, а дальше пишется модуль на MACRO, транслируется - получаем листинг, листинг обрабатывается скриптом - получаем mif файл, этот файл заливается в файл модели (без повторного синтеза), дальше прошиваем и любуемся на результат. У Vslav-а ОЗУ на 16 кб, у меня на 256 кб (ЕМНИП) - можно вообще всю операционку типа RSX-11S прошить. Пока устройств ака диски нет - самое оно
а дальше пишется модуль на MACRO, транслируется
помню я долго-долго решал вопрос с получением такого "модуля" для 1807ВМ1(Т11) и 1801. А начинал с маленькой простейшей програмки взятой от "больших" PDP ( команды S, D, Е...наверное понимаете - что я имею ввиду) с которой тоже пришлось повозиться не слабо. Да и наш товарищ из С.Петербурга никак такой "модуль" не найдет для Falcon и иностранцы "паяльщики" его ищут на всех форумах. Есть какой-то листинг на битсеверс, но он распознанный с бумаги и вероятно с ошибками.
- - - Добавлено - - -
пишу цитированием в кавычках, что бы не было повторного :
-----------------------------------------
ra3qdp:
"а как вообще это оценивают ? Каким тестом ? Что этот тест делает
(какие команды процессора использует) ?"
MiX:
"Тест SPEED."
Это название программы такое ? Где ее взять ?
MiX:
"Например для 1806ВМ2 команда сложения рег-рег - 928 тыс.оп./сек
Для К1801ВМ2 - 664"
Любой процессор может работать с разной тактовой частотой и результаты
тестов при этом будут разные. У разных процессоров - разная архитектура,
разный цикл по количеству тактов, да и такты могут задерживаться при
выполнении операций. Но во всех архитектурах (может существуют исключения?)
простейшие инструкции - add, mov регистр-регистр - минимально короткие по
количеству тактов. Если определить быстродействие на этих операциях, то
"пронормировав" результаты всех процессоров по этому показателю можно
сравнивать их по - эффективности архитектуры на каком-то эталоннном тесте
использующим все команды. Этот эталонный тест должен по частоте
использования различных команд соответствовать типичной повседневной
закгрузке компьютера. Но важна и производительность на реальной частоте,
но и эта частота - не та готорую вырабатыает тактовый генератор, а
во сколько-то раз меньше (в зависимомти от архитектуры). DEC приводит
для J-11, например, частоту 3,75МГц для 15МГерцового.
------------------------------------------
ra3qdp:
"Вроде принято было сравнивать по производительности сравнивая с первым VAXом (780)"
Mix:
"Здесь тест использовался Dhrystone.
1806ВМ2- 283 dhrystones/second.
К1801ВМ2 - 225 dhrystones/second."
Очень заинтересовало. Расскажите, пожалуйста ПОДРОБНО - как были получены эти цифры ?
---------------------------------------------
ra3qdp:
"Какова производительность ВМ1,2,3 и 1806 по сравнению с DEC"
Mix:
"Для ВМ1~ 500 тыс. оп/с ВМ2~ 1000 тыс. оп/с ВМ3~ 1500 тыс. оп/с
Для DEC может где-то тоже есть характеристики."
как я уже писал - т.к. Эффективность на простейших регистровых операциях у всех
процессоров одинаковая, то получается, что тактовые частоты у этих процессоров
соотносятся в соотношении 0,5 1 1,5 - так ли это ? (что бы проверить мою "теорию")
------------------------------------------
MM:
"В 1806ВМ2 важно убирать сигнал AR спустя 1 такт CLCO после его выставления,
от этого зависит ~10% быстродействия.
( В ТО этот вопрос несколько затуманен ).
Насчет 1801ВМ3А - собираюсь проверить это на нем (снятие сигнала SSYNC до
завершения цикла МПИ по SYNC).
При сигнале SSYNC = 0в. (постоянно на общем) и 0 тактах ожидания ОЗУ ВМ3
способен работать на 3 тактах/команда."
Когда-то хотел разработать процессор под Q-bus простой и дешевый для систем
управления технологическим оборудованием (т.к. массово применяли М2, а они
неоправданно дорогие и почему-то, даже для "братской" организации часто
оказывались дефицитными). Решил сделать свой процессор на 1801ВМ2, даже выпаял
из какой-то платы МС120х процессор и раздобыл горсть 531АП2. Нарисовал
предварительную схему, но так это почему-то и не реализовал). Когда
разбирался с ВМ2 попалась мне брошюрка серии вроде "микоЭВМ" - "отладочные
стенды" (кажется) - там был пример использования ВМ2 со статическим ОЗУ и без
ожидания ответа для процессора и решалось это не подачей постоянного сигнала
на соответствующую ногу, а подачей сигнала с одной ноги на другую,
т.е. - не "всегда готово", а "сразу готово". Может я что-то путаю,
но если найду - посмотрю. Тут недавно один наш коллега (из Украины) продал
другому "полуплату на ВМ3 со статическим ОЗУ" - можно там посмотреть как
он решил этот вопрос. Но в промышленных компютерах без ожидания ответа
процессоры не работают, а тесты надо проводить в реальных условиях. А задержка
с ответом у разных плат даже серийных и одного типа может быть разная.
В этом сложность: вот бы - в одну и ту же конфигурацию разные процессоры вставлять,
но это в наше время почти не возможно - если и будут мерить, то - разные люди,
на разных компьютерах. Даже память - и та с какой-то задержкой. Ведь даже
простейший тест из нескольких команд и то - эти команды все-равно в памяти.
Вот бы написать тестик только в регистах(но, наверное, это не возможно ?)
и что бы он шел достаточно долго, что бы засекать время секундомером
(а как вообще засекать можно время прохода тестов ?)
а 1804 Вы считаете за "стандартную логику" или будете фотографировать и разбираться как ВМ1,2 ?
Микросхемы Am2900 достаточно простые и полностью документированные. Нет никакого смысла заниматься их реверсом, абсолютно точную модель можно просто написать по документации. Примерно как для ЛА3 :)
Хотя в книжке про М4 (у Вас она есть ?), вроде как-то упоминаются на разъеме адреса старше 16-го. Если Вы восстановили схему - куда они идут ?
Нет в М4 (мы же про МС-1280 говорим, да?) никакого адреса старше 16. Архитектура PDP-11 она вообще, как бы по жизни 16-разрядная. И адрес у нее 16-разрядный. Варианты на большее число адресных разрядов реализуются при помощи диспетчера памяти, стандартизованные варианты на 18 и 22 разряда физического адреса. То что там написано на корзине МПИ - то такое, на сарае тоже много чего пишут, собственно к процессору оно все слабо относится. ВМ1, ВМ2, М4 - все имеют 16-разрядный адрес и адресуют только 64К памяти.
Процессор М5 штука еще более малоизвестная чем М4, я только пару фотографий видел, построено тоже на Am2900 (1804), но микрокод скорее всего другой, там больше микросхем ПЗУ микрокода, разрядность скорее всего больше.
у микросхем динамического ОЗУ ноги: общий, питание, вход данных, выход данных, чтение/запись, CAS, RAS - какая из них называется по-вашему "тактовый сигнал" ?
(facepalm) Пожалуйста, почитайте что такое SDRAM, потом приходите с действительно интересными вопросами.
помню я долго-долго решал вопрос с получением такого "модуля"
Это не полноценная консоль, это тестовые модули, которые я делаю по потребности. Потребуется что то типа консоли - у меня есть распотрошённая 134 прошивка (на подходе 377 и по мере свободного времени буду текст других РЕ2 восстанавливать) - можно будет её переделать-доделать, хотя скорее всего я сделаю свою - благо, даже уже сейчас есть куча кода из тестовых модулей, который там пригодится
вот из вики про SDRAM:
CKE (clock enable) — при низком уровне сигнала блокируется подача тактового сигнала на микросхему. Команды не обрабатываются, состояние других командных линий игнорируется.
/CS (chip select) — при высоком уровне сигнала все прочие управляющие линии, кроме CKE, игнорируются. Действует как команда NOP (нет оператора).
DQM (data mask) — высокий уровень на этой линии запрещает чтение/запись данных. При одновременно поданной команде записи данные не записываются в DRAM. Присутствие этого сигнала в двух тактах, предшествующих циклу чтения, приводит к тому, что данные не считываются из памяти.
/RAS (row address strobe) — несмотря на название, это не строб, а всего лишь один командный бит. Вместе с /CAS и /WE кодирует одну из 8 команд.
/CAS (column address strobe) — несмотря на название, это не строб, а всего лишь один командный бит. Вместе с /RAS и /WE кодирует одну из 8 команд.
/WE (write enable) — Вместе с /RAS и /CAS кодирует одну из 8 команд.
какой из этих сигналов ?
- - - Добавлено - - -
Микросхемы Am2900 достаточно простые и полностью документированные
сколько транзисторов в ВУ1 например ? А в ЛА3 ?
- - - Добавлено - - -
у меня есть распотрошённая 134 прошивка
поделитесь ?
поделитесь ?
В теме Оживление Квант 4С давно выложена ссылка
- - - Добавлено - - -
какой из этих сигналов ?
Может стоит описание на кристаллы смотреть, а не wiki? В моей модели, например, есть сигнал FB_sdram_clk
Да и
CKE (clock enable)
как бэ намекает
у меня есть распотрошённая 134 прошивка
поделитесь ?
описание на кристаллы смотреть. В моей модели, например, есть сигнал FB_sdram_clk
на какие именно кристаллы и где смотреть ?
как бэ намекает
на что намекает ?
- - - Добавлено - - -
В теме Оживление Квант 4С давно выложена ссылка
добрые люди присылают на eMail или прямые ссылки дают, а не посылают поискать в интернете.
поделитесь ?
Прочитайте внимательно предыдущее моё сообщение.
на какие именно кристаллы и где смотреть
SDRAM. Документацию.
на что намекает ?
На то самое. На наличие ноги, куда подаётся тактовый сигнал. У микросхемы, а не у википедии
- - - Добавлено - - -
добрые люди присылают на eMail или прямые ссылки дают, а не посылают поискать в интернете.
Я и дал - прямую ссылку в моей теме на этом форуме. И даже назвал тему.
- - - Добавлено - - -
добрые люди
Я не добрый людь. Данное бесплатно - не ценится, а тут всего то усилий приложить - тему открыть. На первой странице аж все ссылки. Ах да, там же ещё среди остальных найти надо. Подсказка - она в конце списка.
В теме Оживление Квант 4С давно выложена ссылка
добрые люди присылают на eMail или прямые ссылки дают, а не посылают поискать в интернете.
На наличие ноги, куда подаётся тактовый сигнал
Сообщите конкретно - как называется микросхема (что бы я посмотрел даташит на нее), какая именно ножка и какую именно частоту и скважность Вы видели на ней ? Почему бы очень кратко и понятно-упрощенно не рассказать здесь о SDRAM, раз Вы в этом разобрались - думаю многим будет интересно.
По поводу FPGA - у каких типов какие максимальные частоты они могут вообще формировать на своих выводах наружу ?
добрые люди присылают на eMail или прямые ссылки дают, а не посылают поискать в интернете.
Ничем помочь не могу. Приложите свои силы.
как называется микросхема (что бы я посмотрел даташит на нее),
IS42/45R16320D
какая именно ножка
G2
Почему бы очень кратко и понятно-упрощенно не рассказать здесь о SDRAM
Потому что тема здесь - не про SDRAM
у каких типов какие максимальные частоты они могут вообще формировать на своих выводах наружу
Берем datashit и читаем. У моей (https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=167&No=1081&PartNo=1) в районе 500 МГц, ЕМНИП, но на такой частоте надо будет очень постараться с моделью
На этом мои ответы закончились
IS42/45R16320D
Цитата Сообщение от ra3qdp Посмотреть сообщение
какая именно ножка
G2
посмотрел - сигнал называется CLK. На эту ножку идет прямо с циклона ? С какой ноги ?
На эту ножку идет прямо с циклона ? С какой ноги ?
С любой. Как сделают разводку. Конкретно на моей - с AH12
IS42/45R16320D
Цитата Сообщение от ra3qdp Посмотреть сообщение
какая именно ножка
G2
посмотрел - сигнал называется CLK. На эту ножку идет прямо с циклона ? С какой ноги ?
Потому что тема здесь - не про SDRAM
вообще-то - что писать в теме, что нет решает тописпикер.
Ведь, когда наконец, все будет срисовано с кристалла и обработано настанет пора "заливать" в китайскую платочку и понадобится конкретно знать - как она работает. Почему бы не разобраться заранее ? Да и "потенциальным потребителям" модели интересно это знать.
Почему бы не разобраться заранее ?
Потому что, например, сейчас я бодаюсь не с SDRAM. Когда доберусь до SDRAM - успею забыть - что наобсуждали, где это было и устраивали ли принятые решения меня. Когда сам дойду до плотного знакомства в SDRAM - сам и разберусь, благо не привык требовать от всех подряд - дайте мне прямую ссылку на почту.
все будет срисовано с кристалла и обработано настанет пора "заливать" в китайскую платочку
Берём модель ВМ1, берём китайскую плату и заливаем - прям щаз - оно уже всё срисовано. Заодно и научитесь. Без меня. Из того, что я смотрел на ali - прям щаз меня не устроила не одна - потому что у меня свои цели и соответственно - требования к плате с FPGA. А для потренироваться - у меня уже есть на чём
что-то никто ничего не ответил по моему посту о быстродействии процессоров #1541 - не заинтересовало или сказать нечего ?
вообще-то - что писать в теме, что нет решает тописпикер.
Да я вроде уже высказался насчет того что желательно писать в теме. "Археология" она называется. Общие вопросы функционирования SDRAM под эту тематику не подпадают, мягко говоря. Задать их конечно можно, бывают даже интересные и порождающие обсуждение. Но вопрос, "а что, у SDRAM есть тактовый сигнал?" все-таки не слишком уместен. Желание узнать что-то новое - это замечательно, но уважайте чужое время, на совсем уж базовые вопросы все ответы можно найти самостоятельно. Набираем в гугле "диаграммы работы SDR SDRAM" и вникаем.
Ведь, когда наконец, все будет срисовано с кристалла и обработано настанет пора "заливать" в китайскую платочку и понадобится конкретно знать - как она работает. Почему бы не разобраться заранее ? Да и "потенциальным потребителям" модели интересно это знать.
"Потребителям модели" много чего полезно и интересно знать, там тематика очень обширная и разнообразная. Именно поэтому тема сужена до археологических вопросов. Потому что придут люди со Stratix X и спросят "а как нам лучше зашарить хост-память через PCIe Gen 4 для софт-ВМ1 ядра". Хотите обсудить "китайскую" платочку" и модель ВМ1 на ней? Нет проблем, выбираете плату, берете модель, пытаетесь собрать проект, у Вас появляются конкретные вопросы, создаете свою тему, наше комьюнити по мере сил и желания на них отвечает.
Разобраться заранее в таких вопросах хотя бы "в принципе" - оценить РЕАЛИЗУЕМОСТЬ и потенциальные возможности.
"а что, у SDRAM есть тактовый сигнал?" все-таки не слишком уместен.
как сказать - современные SDRAM вовсе не простая штука. И то что есть какой-то сигнал CLK=100МГц о чем говорит ? С какой частотой при этом можно читать или писать в память ? Видели, наверное в современных PC - тайминги, латентности ? - что это, как это ? что в итоге ? Как будет "видеть" модель процессора эту частоту ? Или-никак ? - все работает на миллиардах транзисторов, с гигагерцовыми частотами внутри, другие части и память как-то синхронно успевают что-то делать - делает вид, что работает, но разве это как-то отдаленно напоминает работу реального железа ? Где предел "реальной виртуальности", на сколько это отличается от чисто программных эмуляторов симш, эрзац, шарон ?
на сколько это отличается от чисто программных эмуляторов симш, эрзац, шарон ?
Вот вам кусок кода из PDP-2011
case cpuCurrState is
when stateInstrFetch =>
instrWAIT <= No;
-- здесь, в пропущенном куске кода instrWAIT не трогается
....
if instrWAIT then -- if in wait mode
instrWAIT <= Yes;
else
-- set instruction fetch flag to signal instruction fetch to the outside world
isInstrFetching <= Yes;
-- go process an instruction
cpuCurrState <= stateOpsDecode;
end if;
No - это константа со значением false, Yes - true
Попробуйте сделать такое на чисто программном эмуляторе.
Я, когда первый раз этот код увидел, вообще не въехал - что делается с instrWAIT и как оно работает. А потом посмотрел, что синтезировалось - и всё стало на свои места.
я в этом ничего не понял. Переведите, пожалуйста, "на русский язык" - что при этом и где делается ? И чем это отличатся от программных эмуляторов ? Зачем это ? И чем важно для пользователя такое отличие ? Чего пользователь программного эмулятора лишается ?
Про 100МГц SDRAM - тут Hunta открыл "веселую" тему про PDP, и я повеселю:
диалог в кабине самолета:
Летчик : "Штурман - курс !"
Штурман: "300!"
Летчик:"Что 300?"
Штурман:"А что - курс?"
я в этом ничего не понял
Я как бы и не сомневался. Вопрос в том, что если Вы не знаете FPGA - объяснять, в чем отличие от
чисто программных эмуляторов симш, эрзац, шарон ?
можно до бесконечности. У меня нет столько времени.
А если учесть, что для достаточно квалифицированного программиста в этом куске кода полно знакомых вещей - боюсь и про программирование придётся объяснять. Увольте.
Попробуйте сделать такое на чисто программном эмуляторе.
На чисто программном эмуляторе можно сделать все, что угодно. Вопрос в квалификации программиста и понимании задачи.
На чисто программном эмуляторе можно сделать все, что угодно
Если такое написать в лоб в программе - оно не заработает. Потребуются рабочие переменные. А электроника - даёт.
Основное принципиальное отличие - в электронике всё изначально параллельно, хочешь последовательно - нужны задержки (в том числе на всяких триггерах) плюс, возможно, а как правило часто, тактовая. В программе исходно всё последовательно (если только это не специализированный язык и процессор), хочешь параллельно - придётся постараться.
Если частота 5МГц и внешняя шина работает не внося дополнительных задержек:
Для ВМ1, цифра составляет 625K оп/с, минимально 8 тактов на операцию регистр-регистр.
Для ВМ2, 5 тактов (считаем в CLKO, не в CLKI которая внутри сразу на входе делится пополам), 1000K оп/с
Для ВМ3, 3 такта, 1666K оп/сек
Выходит, что я был прав - если "пронормировать" по количеству тактов, то и получается "реальная частота" и что при одинаковой этой реальной тактовой - производительность разных процессоров на простых регистровых операциях - одинаковая.
Ну а "эффективность архитектуры" будет выявляться тестом со всеми инструкциями системы команд. Только вот - почему на простых регистровых не выявилась разница от предвыборки ? Или приведенные цифры - какой-то "пиковой" производительности (единственной команды) ? Как это измерить ? (а не посчитать теоретически)
Выходит, что я был прав - если "пронормировать" по количеству тактов, то и получается "реальная частота" и что при одинаковой этой реальной тактовой - производительность разных процессоров на простых регистровых операциях - одинаковая.
??? Именно что разная. Ядра процессоров разных поколений тратят разное количество тактов на инструкцию регистр-регистр. Правда там еще скорость внешней шины накладывается, именно она ограничивает скорость. Ядро ВМ1 имеет спецветку микрокода для быстрой обработки регистр-регистр, и ему надо всего 3 микроинструкции*2 такта каждая = 6, но внешняя шина даже в идеальных условиях не успевает поставлять ядру инструкции быстрее, поэтому имеем видимые снаружи 8 тактов. Про ВМ2/3 пока не скажу, но, похоже с учетом конвейера и предекодера они могут выполнять регистр-регистр и за два такта, но внешние шины опять тормозят и не позволяют эффективно использовать ядро.
Ну а "эффективность архитектуры" будет выявляться тестом со всеми инструкциями системы команд. Только вот - почему на простых регистровых не выявилась разница от предвыборки ? Или приведенные цифры - какой-то "пиковой" производительности (единственной команды) ? Как это измерить ? (а не посчитать теоретически)
Приведенные цифры на последовательности команд "mov Rs, Rd", сняты с реальных процессоров, внешняя шина работает без лишних задержек (SSYNC/AR и RPLY выставляются мгновенно), на максимальной скорости.
Ядра процессоров разных поколений тратят разное количество тактов на инструкцию регистр-регистр. Правда там еще скорость внешней шины накладывается
в том-то и дело, что не важно сколько конкретно тактов образует цикл, ведь именно цикл и есть частота(раньше даже на шкалах приемников писали - кило-циклы, а не килогерцы). Ведь самая короткая операция или вообще какое-то полезное действие процессор совершает за цикл, потом для следующей команды начинается следующий цикл. А из скольких промежуточных тактов состоит этот цикл - не важно, это просто особенности реализации, а вовсе не эффективности или мера совершенства. Не оспариваете Вы ведь то, что входной тактовый сигнал во многих процессора сначала просто делится на сколько-то.
А про задержки от шины не надо напоминать - и так всем понятно. Лучше расскажите - как правильно схемо-технически сделать,что бы процессор не ждал (при условии, что все остальное заведомо успевает).
Вы наверняка это знаете - подскажите (что бы я не искал) - какие тактовые частоты у 1801ВМ1,2,3 1806 и, кажется, какие-то более современные появились (в общем у всех этого семейства) и по каким топологическим нормам они сделаны и про технологию - слои металлизации и прочее - что знаете)
:) Нет, частота как раз это такт и важно за сколько тактов выполняется цикл. Более эффективный процессор может завершить цикл за меньшее число тактов.
в реалии быстродействие ограничивается технологией - на какой максимальной частоте могут переключаться транзисторы и логические элементы из них внутри процессора. И если при одной и той же частоте цикл выполнения команды состоит из меньшего количество тактов (а такты совершаются за минимально возможное время - на максимально возможной частоте), то так и будет - чем меньше тактов на цикл - тем выше в итоге быстродействие.
Это я "загнул" - предположил фантастический случай без учета ограничений технологии, а такого на практике не бывает. Извините (старый стал и бестолковый)
ra3qdp, эмулятор ВМ1, ВМ2 и ВМ3.
https://zx-pk.ru/threads/18351-emulyator-dvk.html
Лучше расскажите - как правильно схемо-технически сделать,что бы процессор не ждал (при условии, что все остальное заведомо успевает).
На вопросы из категории как сделать всех счастливыми я ответить не могу, увы.
Вы наверняка это знаете - подскажите (что бы я не искал) - какие тактовые частоты у 1801ВМ1,2,3 1806 и, кажется, какие-то более современные появились (в общем у всех этого семейства) и по каким топологическим нормам они сделаны и про технологию - слои металлизации и прочее - что знаете)
Это все много раз писалось и в теме, и на гитхабе, прямо в readme.md написано, красиво оформлено.
Хорошо, еще раз (устало). Технологии у всех 1801ВМx примерно одинаковые, нормы 4-5 микрон, один слой металла, один поликремния, и диффузия N-типа. N-МОП транзисторы, двух типов - со встроенным (их еще называют depletion mode/load) и индуцированным каналом. Частоты тоже у всех процессоров одинаковые, ВМ1 - 5МГц, ВМ2 - 5МГц (10/2), ВМ3 - 6МГц.
и на гитхабе,
подскажите - что это и где ?
С быстродействием на простых регистровых - все понятно. Но эти данные, насколько я понял, получены простым расчетом, зная устройство процессоров по документации или "глядя в микроскоп". А как все-таки померить реально ? Как выяснить эффективность реализации всех команд ? Приводились данные
производительности в единицах Dhrystone, но как их получили ? Вроде упоминалась какая-то программа SPEED (что ли)
balu_dark
20.02.2019, 12:07
А тему прочесть - слабо ???
Есть и ссылки на github с исходным кодом описания процессоров и тесты со скринами, названиями , ссылками на код тестов и прочим.
Потролить зашли ? Так проходите мимо , или читайте ветку целиков - за вас никто не будет рыться и на блюде вам давать ссылки. Уже все неоднократно было описано и обсуждено в этой ветке ранее.
Приведу результаты измерений :
1.КМ1801ВМ1А БК11М 4 мгц, время доступа к ДОЗУ - порядка 3 мкс :
Тест:
1000 : 012700 000100 012701 000000 060203 060203 060203 060203
1020 : 060203 060203 060203 060203 077111 077014 000000 000000
Время исполнения - 2 мин. 32.5 с., Холостой Ход ( 4.2 млн команд SOB ) - 23 сек , итого чисто время выполнения 33.5 млн рег-рег - 129.5 сек
быстродействие - 260 т. рег-рег, команд SOB - 183 т.
*
2. КМ1801ВМ2А-12 мгц ( питание +5в. ), быстродействие ДОЗУ БК11М ~3 мкс :
Время исполнения - 1 мин 52.5 с., ХХ - 22 сек. 33.5 млн рег-рег , быстродейсвие 370 т. рег-рег ( за 90.5 сек )
*
3. КМ1801ВМ3А-6 мгц ( питание +5в. ),
3.1. Быстродейсвие СОЗУ - 0 тактов ( может быть 0.5 такта ??? )
170000: 012700 000100 012701 000000 060304 060304 060304 060304
170020: 060304 060304 060304 060304 077111 077014 012737 000040
170040: 172516 077101 012737 000000 172516 000752 000000 000000
Для индикации прохождения теста используется лампочка на выводе процессора UMAP.
Результаты :
Полный цикл МПИ - 47 сек, чистое время - 34 сек, быстродействие - 985 т. рег-рег
Ускоренный цикл МПИ - 41 сек, чистое время - 28 сек, быстродействие - 1.20 млн рег-рег
Закороченный на общий сигнал SSYNC - 34 сек., чистое время - 21 сек, быстродействие - 1.59 млн рег-рег
ХХ везде - 13 сек ( ~232 т. команд SOB в 1 сек ).
*
4.Н1806ВМ2 - 5.5 мгц, корректная работа с сигналом AR ( калькулятор на ВМ2 ) :
43 сек - полный цикл
16 сек - холостой ход ( 4.19 млн SOB, ~262 т. SOB в 1 сек )
19 сек - 1 команда 010203 65536х64=4.19 млн.
43-16=27 сек, итого быстродействие ~1.24 млн рег-рег
*
5. Результаты с СОЗУ 1 такт на БК11М:
5.1.Текст теста аналогичен предыдущему замеру, СОЗУ 1 такт, общее прохождение теста - 94 сек, холостой цикл - 19 сек, итого 33.5 млн / 75 сек = 447 т. рег-рег.
5.2.Измерение скорости процессора 1801ВМ3А-6 в ДОЗУ БК0011М ( 3 мкс ), результат - 111.5 с, холостой цикл - 22.5 с, итого 33.5 млн / 89 сек = 376 т. рег-рег.
MM - написал Вам на eMail.
MM - написал Вам на eMail.
На mmtema@mail.ru никаких писем не поступало. На конторский адрес и в ЛС - тоже.
Почта в ОКБ - недействует, как и сама организация.
Здесь уже обсуждали точный совместимый по выводам FPGA-клон ВМ1?
CodeMaster
03.03.2019, 17:56
Здесь уже обсуждали точный совместимый по выводам FPGA-клон ВМ1?
Да.
Здесь уже обсуждали точный совместимый по выводам FPGA-клон ВМ1?
Если делать "правильно", то надо ставить MAX10 + DDR3 + преобразователи уровня + QSPI Flash, все в BGA/QFN корпусах и минимум на 4-х слойной плате, в габариты корпуса ВМ1 влазит с большим трудом.
...DDR3...
А если просто аналог М1801ВМ1А-100 мгц ?
ИМХО - штучек так 20 по $50 можно было бы продать, с настройками таймингов МПИ.
в габариты корпуса ВМ1 влазит с большим трудом.
Ну надо тогда корпуса вскрывать и паять сами кристаллы :)
- - - Добавлено - - -
А если просто аналог М1801ВМ1А-100 мгц
Так под него и комп соответствующий... А то поставить его в БК и... всё....
А если просто аналог М1801ВМ1А-100 мгц ?
ИМХО - штучек так 20 по $50 можно было бы продать, с настройками таймингов МПИ.
Как показывает опыт РЕ-мулятора - в ретро ничего продать нельзя. Чисто хобби и все.
Без набортной памяти памяти оно вообще неинтересно, смысла такое в БК, например, пихать никакого, чтобы оно циклами по 666...1333 нс наружу обращалось?
MAX10 UBGA169 + DDR3 FBGA-84 оно вроде помещается. Но лучше уж ВМ2 сделать, тогда в УКНЦ может быть кто захочет вставить.
...опыт РЕ-мулятора - в ретро ничего продать нельзя
Так Ваш вариант не был в свободной продаже ...
Я свой модуль уже штук 35 продал в среднем по 450 руб ( оптовикам ) .
Так Ваш вариант не был в свободной продаже ...
Был и есть, Воланд примерно такого же порядка РЕ-муляторов продал и потихоньку продает.
И проект был и есть открытый, абсолютно, и изначально некоммерческий.
А если просто аналог М1801ВМ1А-100 мгц ?Даже не 100 МГц, а на стандартной частоте БК (3, 4 или 6). Ведь родные ВМ1 когда-нибудь кончатся. А реплики БК наверняка ещё будут востребованы.
Ведь родные ВМ1 когда-нибудь кончатся
Лет через 10, не раньше.
*
Vslav, разрешит поинтересоваться - какая могла бы быть себестоимость чисто пин-то-пин М1801ВМ1А-100 мгц ?
Может, оно выйдет очень дорогим и никто не соблазнится "идеальным процессором БК" ?
какая могла бы быть себестоимость чисто пин-то-пин М1801ВМ1А-100 мгц ?БК" ?
От тиража зависит. Партия только пустых плат из 10 штук будет примерно $250. Сотня штук - ~$300. Порядка $20 комплектующие. Так что продавать по $50 - это оптимистично еще.
все в BGA/QFN...
А никак шарик нельзя исключить, пусть даже и с ростом размеров/цены ?
Какая предполагается площадь МПП ?
Сколько слоев ?
Но лучше уж ВМ2 сделать, тогда в УКНЦ может быть кто захочет вставить.И такой, для Союз-Неона, а то оригинальный проц с трудом держит 8 МГц
https://upload.wikimedia.org/wikipedia/commons/2/27/KL_USSR_H1801BM2.jpg
оригинальный проц с трудом держит 8 МГц
Ну совсем оффоп - если найдется опытный тополог, и сами процы после 2011 г. - то можно сделать недорогой переходник ( см. соседнюю тему ).
По консервативным оценкам - на 7 мгц с пропеллером разгонится, если поддать напряжение выше технологических норм ( свыше +6.00 в. ), без какой-либо гарантии на долговечность и жаростойкость - 8 мгц в течении 1 часа под RT-11 Вероятно выдержит ( как гадает блондинка - 50/50 :v2_dizzy_queen:)
Вообще, конечно, и ФПГА ВМ2 тоже весчь нужная и полезная.
А никак шарик нельзя исключить, пусть даже и с ростом размеров/цены ?
Какая предполагается площадь МПП ?
Сколько слоев ?
А без шарика уже платы есть. Мои экспериментальные модули ВМ1/ВМ2/ВМ3 можно же и в "обратную сторону" воткнуть и использовать как модули сопряжения штатного разъема отладочных плат типа DE0 с гнездами процессоров серии 1801. Колхоз-колхозом, поэтому плату надо делать в габаритах корпуса оригинального процессора.
А никак шарик нельзя исключить, пусть даже и с ростом размеров/цены ?
Я чувствую, что по размерам оно будет тогда в полплаты БК. И тогда уже смысла в плате БК не будет никакого - ибо проще всё или почти всё запихать на такую плату и в FPGA. Но воплей о резиновой женщине будет до небес.
Немножко продвинул синхронную модель 1801ВМ2, самое главное достижение - получилось снять зависимость от фазы f2.
На вход оригинального ВМ2 поступает частота clk, внутри эта частота делится пополам, и в итоге формируется две внутренних частоты, которые я условно назвал f1 и f2, f2 отстает по фазе от f1 на 90 градусов. В итоге рабочий цикл оригинального процессор 1801ВМ2 длится два такта внешней частоты и имеет четыре активных события:
- срез первого внешнего такта, он же фронт f1
- фронт первого внешнего такто, он же фронт f2
- срез второго внешнего такта, он же срез f1
- фронт второго внешнего такта, он же срез f2
Всего имеем четыре внутренних фазы - f1, f2, ~f1, ~f2. Блок ввода-вывода процессора тактируется от фаз f1 (фронт и срез), а вот внутренние схемы используют все фазы. Если мы хотим получить 1801ВМ2 с частотой 100МГц эквивалентной таковой у 1801ВМ1, то на вход надо подавать 200МГц, что для сложных моделей в типовых недорогих ПЛИС достаточно много и поэтому малореально. Поэтому на внутренних схемах я переносил сигналы с фаз f2 на ближайшие f1, это не очень просто, но возможно без изменения схемы и сохранением общей растактовки относительно f1. Снаружи на интерфейсе МПИ эти изменения абсолютно не видны, так как блок ввода-вывода тактируется только от f1.
Итого, на данный момент имеется значительный прогресс в синхронной модели, удалена зависимость от фаз f2, и осталось еще примерно 80 латчей (из ~500, которые были в оригинальной модели), и проходятся все тесты 791401, 791402 и 691404 с тем же количеством тактов что и оригинальная модель.
внутри эта частота делится пополам, и в итоге формируется две внутренних частоты, которые я условно назвал f1 и f2, f2 отстает по фазе от f1 на 90 градусов
строгий сдвиг на 90 градусов возможен при делении на 4. Может там сдвиг не строго 90 ? Как там это сделано схемотехнически ?
строгий сдвиг на 90 градусов возможен при делении на 4.
Смотря что считать строгим. Поскольку мы тут не тактируем АЦП для оцифровки сигнала с последующей цифровой обработкой, то погрешностью фазы в пределах задержки одного логического элемента вполне можно пренебречь.
Как там это сделано схемотехнически ?
Схемы все выложены в открытом доступе, как оригинальная заводская, так и моя по-транзисторная...
OK, берете заводскую схему 1801ВМ2, например здесь (http://www.1801bm1.com/files/retro/1801/vm2/Doc/1801BM2_schematics.djvu), на странице 14 нарисован ответ на Ваш вопрос.
Тут с другого форума сообщают:
В дизассемблированном исходнике теста ошибка (тест ASHC)
; apar0 - значение младшего слова для сдвига
; apar1 - значение старшего слова для сдвига
; apar2 - параметр сдвига
; apar3 - значение младшего слова для контроля
; apar4 - значение старшего слова для контроля
; apar5 - контрольное PSW для сравнения
apar0/apar3 - СТАРШЕГО, а apar1/apar4 - младшего. Иначе при реализации неверное размещение данных вызовет ошибку в #102 тесте (установятся N и V), контрольное PSW равно 0.
В комментарии исходника теста t402.mac, начиная со строки 646 перепутано где младшее, а где старшее слово параметра. Перфекционизма ради нужно поправить.
Перфекционизма ради нужно поправить.
Ну раз нужно - поправим. И неплохо бы копирайт от gid тоже добавить, за основу я все-таки взял уже подготовленную IDA-базу. В каком виде добавить строчку?
1801ВМ2 потихоньку занимаюсь, осталось примерно 60 латчей еще убрать до полностью синхронной модели.
Плохо что тесты 791*** не тестируют пультовой режим. Были еще не тестированные нюансы предвыборки. Например, не должно формироваться исключений на тайм-ауты шины при предвыборке, приходится писать свои тесты.
В каком виде добавить строчку?
Вообще без разницы. С моей точки зрения, превратить генерируемый asm от IDA в компилируемый mac, с макросами, задача посложнее, чем просто разобрать структуру бинарника. Поэтому я ни на какие копирайты не претендую.
У меня кстати в таком же виде есть тест 791403.
У меня кстати в таком же виде есть тест 791403.
А выложите куда-нить, пожалуйста. Вдруг когда до плавучки хотя бы на LSI-11 доживем.
Вот: 68544, так же для 64-битной IDA
Интересно у 1801ВМ2 предвыборка команд работает. Тут выкладывали тест когда записью по нечетному адресу можно компаратор записи в предвыбранную команду (в заводской документации называется МТП - модификация текущего положения) обмануть и обнаружение модификации не сработает. Мне стало интересно как же работает процессор по обнаруженной модификации, сделал тест уже с записью по четному адресу и запустил. А оно не работает! Ничосе...
Стал разбираться, нашел ошибку у себя - компаратор сравнивал не PC, а отстающий регистр копии. Исправил компаратор, запускаю, модель зависает. Ничосе...
Ошибку искал долго, разобрал досконально как работает предвыборка, но никак не могу найти где требование перечитать текущую команду для микрокода. Микрокод читает инструкции при помощи двух операций - ЧК (чтение команды) и ЧКД (чтение команды-данных (с опережением)), именно микрокод должен выдать ЧК вместо ЧКД если обнаружена модификация предвыбранной команды. А вот среди входных параметров микрокода флаг модификации-то и не поступает. Наконец, нашел где оно заныкано, потом нашел ошибку в модели автомате отслеживания предвыборки, а оно все равно не работает. Ничосе...
В итоге оказалось что если имеет место модификация процессор все равно делает предвыборку за модифицированной командой, и вот только потом у него наступает сброс микропрограммного автомата и возобновляется чтение и исполнение с модифицированной команды. Полез искать у себя ошибку и оказалось что немного некорректно сигнал abort был описан, то есть ошибка была совершенно в неожиданном месте.
По ходу пришлось еще писать полноценный тест предвыборки - она не должна вызывать исключений если предыдущая команда осуществляет переход. То есть, например есть верхняя граница памяти, на последнем адресе размещаем rts pc, и вызываем эту инструкцию. Инструкция выбирается и начинает исполняться, а предвыборка пытается прочитать следующее слово, по адресу отсутствующей памяти, естественно там возникает тайм-аут шины. Но исключения быть не должно - rts pc перейдет по адресу возврата. Это протестировано и работает. Но просто так флаг тайм-аута выбросить нельзя, предвыборка может нарваться на тайм-аут, например, при выборке слова приемника в бинарной команде. Например, mov (R0)+, dst.adr. При этом источник должен быть корректно обработан - прочитано слово (R0)+, регистр R0 инкрементироваться, и только потом должно сработать исключение. В-общем, там несколько случаев, пришлось для них писать специальный тест.
До полностью синхронной модели осталось победить 15 латчей, достаточно сложный кусок,
Собирается в 1920 ячеек, ~80МГц (хотя об этом рановато говорить пока латчи все не ушли).
Самое ценное в Вашей деятельности то, что мы получаем описание того, как работают в действительности, а не на бумаге, процессора :) Спасибо :)
Уважаемые господа, а как вы смотрите на такую идею?
Есть проект (https://github.com/hoglet67/AtomBusMon) который использует FPGA borad (https://shop.trenz-electronic.de/en/Products/OHO-Elektronik/GODIL/).
Можно перенести на нее модель 1801ВМ1/2, а потом дописать дизассемблер PDP-11 и получается крутой отладочный инструмент!
Я - никак, по крайне мере в настоящее время - у меня DE10 от Altera-ы :)
Эта плата очень удобна для внутрисхемной отладки. она 5 вольтовая и по размеру можно на DIP-40 ее сажать. ну и главное уже есть софт для отладки 8bit CPU который на до адаптировать для BM1/2
Уважаемые господа, а как вы смотрите на такую идею?
Что до меня - я пока никуда кроме модели ВМ2 не смотрю, тут найти бы время и желание ее доколупать :)
Более-менее закончена синхронная модель 1801ВМ2, удалены все латчи, тесты проходит с теми же таймингами что и оригинальная модель. Требует ~1900 ячеек на Циклоне-3, примерно 90МГц тактовая (соответствует 180МГц внешней частоты оригинального ВМ2). Теперь можно заниматься оптимизацией, прикручивать шину Wishbone и запускать на реальной FPGA. Выложен vm2: release 1.1a.
А какую версию схемы стоит ковырять на предмет программной эмуляции? Т.е. версию в которой не было еще внесено никаких доработок, синхронностей и т.д. Т.е. чистый реверс и все.
Vslav, а куда выложен файл 1.1а ?
Vslav, а куда выложен файл 1.1а ?
А туда же
Vslav, а куда выложен файл 1.1а ?
Это коммит в ветке мастер в репозитории cpu11 на github (https://github.com/1801BM1/cpu11)
Чуть позже я на релизы еще навешу теги. Если с гитом не дружите, то просто тыцаете по ссылке зеленую кнопку "Clone or Download" и выбираете Download ZIP.
- - - Добавлено - - -
А какую версию схемы стоит ковырять на предмет программной эмуляции? Т.е. версию в которой не было еще внесено никаких доработок, синхронностей и т.д. Т.е. чистый реверс и все.
Оригинальную, ту что в каталоге hdl/org.
Оригинальную, ту что в каталоге hdl/org.
Это уже vhdl. Оно сделано как-то автоматически из схемы, или же это просто вручную описана схема?
Это уже vhdl. Оно сделано как-то автоматически из схемы, или же это просто вручную описана схема?
"Вручную" описана схема.
На самом деле оно не так страшно, ошибок "ручного перевода" было не так много и при запуске они практически вылезли. А перевод матрицы микрокода, предекодера, и матрицы блока ветвления я автоматизировал, потому что вбивать вручную малоосмысленные таблицы без ошибок малореально. Возможно в модели ВМ2 еще остаются ошибки, поднимем на FPGA. запустим RT-11 и будет видно.
Потихоньку продвигается моделька с Wishbone, создан проект на базе синхронной модели, идет оптимизация, достигнуты 105МГц.
Начаты преобразования под Wishbone (в соответствующей модели), версия vm2 1.1b
- removed DMR, DMGO, SACK
- RPLY optimized
- ACLO optimized to pin_clk_p
- Prefetch bugfix is enabled by default
- AD in/out optimized
- abort moved to pin_clk_p
- alu_st optimized
- 105 MHz reached with "optimize for speed" Quartus option and no phyical retimings (maximal portability)
Закончена, отлажена и протестирована на реальной плате DE0 модель 1801ВМ2 с шиной Wishbone:
- релиз 1.2a
- 105 МГц
- 1892 ячейки, 1370 триггеров - регистровый блок не в RAM-блоке (сложная структура регистров, не оптимизируется в RAM)
- проходит все заводские тесты и мои тесты предвыборки
- мегаглюк по умолчанию пофикшен (фикс управляется параметров модуля при компиляции)
- транзакции Wishbone могут работать back-2-back - без пауз, с полной утилизацией конвейера ВМ2
Небольшое сравнение быстродействия с ВМ1 на той же самой плате/SoC:
- тест вычисления 1000 знаков числа Пи без использования инструкций умножения и деления
- 100МГц
- 4 такта на цикл чтения памяти
- 1801ВМ1 - 586 тиков 50Гц - примерно 11.3 секунды
- 1801ВМ2 - 340 тиков 50Гц - примерно 6.8 секунды
То есть ВМ2 примерно в 1.7 раза быстрее чем ВМ1 на той же самой частоте и одинаковой внешней памяти.
В-общем, дорога к разработке УКНЦ или ПК 11/16 на FPGA - открыта.
Добавил модератор шины, теперь можно эмулировать работу процессора на произвольной частоте (не превышающей основную тактовую системы 100МГц), также перенесены и протестированы примеры 1801ВМ2 на платах DE1, DE2-115 и AX309. Таким образом, процессор ВМ2 собирается и работает на Циклонах 2-4 и на Спартане 6.
- тест вычисления 1000 знаков числа Пи без использования инструкций умножения и деления
Где-то можно посмотреть исходник теста?
nzeemin, https://zx-pk.ru/threads/25783-vychislenie-chisla-pi-na-assemblere.html?p=838789&viewfull=1#post838789 -= возможно в этой теме?
Где-то можно посмотреть исходник теста?
На github в репозитории - https://github.com/1801BM1/cpu11/tree/master/vm2/tst
Для 1801ВМ1 тесты тоже в соответствующем каталоге репозитория.
Сейчас я немного обновил релиз до 1.2d и сам тест - в тесте есть параметры конфигурации HMUL и HDIV для условной компиляции с инструкциями умножения и деления. 1000 знаков Пи теперь чуть более чем за 2 секунды.
Vslav, что то я по ссылке исполняемые файлы .SAV не нашёл?
реально этот тест в эмуляторе УК-НЦ и ДВК прогнать?
Есть ли исходники под RT-11 ?
Vslav, что то я по ссылке исполняемые файлы .SAV не нашёл?
реально этот тест в эмуляторе УК-НЦ и ДВК прогнать?
Всё, что нужно, там есть
Есть ли исходники под RT-11 ?
Пока RT-11 я не поднимал. И я думаю что в именно данном проекте этого не будет - проект для реверса процессоров, сюда следует помещать то что относится именно к процессорам, а не к операционным системам. Я начал другой проект - ДВК на FPGA, на основе моделей из этой темы, там подниметься RT-11 и будут тесты адаптированные под нее, и соответственно .SAV файлы.
Я начал другой проект - ДВК на FPGA
что там будет с графикой?
Я начал другой проект - ДВК на FPGA, на основе моделей из этой темы, там подниметься RT-11 и будут тесты адаптированные под нее, и соответственно .SAV файлы.
Было бы отлично перенести потом это проект на MIST/MISTER
что там будет с графикой?
Этапы развития видятся такие:
- SDRAM, терминал на PC + HX
- запуск RT-11
- SD-карта, драйвер под RT-11
- электронный диск, драйвер под RT-11
- MX/MY с адаптером на реальный дисковод
- КСМ
- КГД
- КЦГД
То есть, цветная графика еще нескоро, увы.
Процессор будет сменный, под условной компиляцией на выбор (пока, понятно что выбор из ВМ1/ВМ2)
Периферия тоже будет под условной компиляцией
Портируемость постараюсь сделать максимальной, чтобы легко переносилось между разными платами, в том числе и на MiST.
Vslav, Попался тут проект VT100 на FPGA может пригодится https://github.com/howardjones/fpga-vt
Vslav, Попался тут проект VT100 на FPGA может пригодится https://github.com/howardjones/fpga-vt
Я уже КСМ начал ковырять, все-таки ДВК-аутентичный. Делаю на базе своего vm80a, ПЗУ-шку разобрал, буду немножкоа патчить на предмет экономии памяти и поддержки PC-клавиатуры.
Vslav, сравнительно давно Вы упоминали возможность разработки проекта тестирования (как я понял для определения реальных а не паспортных предельных временных характеристик) старых динамических озу (типа 565) на основе девборды с переходником. Этот проект еще есть в планах или интереса к нему уже нет?
Vslav, сравнительно давно Вы упоминали возможность разработки проекта тестирования (как я понял для определения реальных а не паспортных предельных временных характеристик) старых динамических озу (типа 565) на основе девборды с переходником. Этот проект еще есть в планах или интереса к нему уже нет?
В планах, печатные платы изготовлены, архитектура продумана. Надо писать софт, вероятно начну когда появится ДВК на DE0. Схемкой и парой живых плат (переходник от ZIF-16 панельки на слот DE0/DE1/DE2) могу поделиться. Почта, правда, дело занудное.
Я уже КСМ начал ковырять, все-таки ДВК-аутентичны
позвольте задать вопрос?
допустим вы окончили все работы по этому направлению
каков внешний вид результата предполагается?
всё таки, если это в виде платы какой то - наличие
Зеленоградских процессоров аля натюрель?
Хотя бы примерные возможности в плане ПО и насителей информации,
тестирование(серия), корпусование, отк::розничная? http://s.rimg.info/ee73e4b1e42b9dfa4242fd34f5057a26.gif
+ теже вопросы с уклоном >>> МС0611 УК-НЦ?
позвольте задать вопрос?
допустим вы окончили все работы по этому направлению
каков внешний вид результата предполагается?
Я вижу это так - проект будет конфигурируемый, с поддержкой нескольких процессорных ядер и разной периферии. Набирается простой конфигурационный файл, в котором:
- выбирается целевая плата (начну с DE0/DE1/DE2/Reverse-U16)
- выбирается ряд общих параметров - частота, объем памяти,
- выбирается ядро ВМ1, ВМ2, etc
- выбирается набор желаемой периферии MX, MY (контроллеры флопов будут требовать внешнего адаптера в разъеме расширения для подключения живых флопов/винтов), КСМ, +КГД, или КЦГД, SD-карта, ROM, с параметрами (типа адресов, прерываний, размера и тд)
Затем проект собирается под конфигурацию и получается желаемая прошивка для ПЛИС. Скорее всего будет использован make чтобы можно было строить вспомогательные файлы - прошивки для флешей и имаджы для SD-карт.
Начать придется с какой-то одной конфигурации и постепенно расширять, по мере добавления поддержки новой периферии и базовых плат.
Собственную плату я придумал (помечтать мы все горазды, ага :)), но особо пока желанием не горю - есть готовое железо (DE0, etc.) проект можно делать на нем. Если в будущем возникнет желание, можно будет и под ДВК что-то специально заточенное оттрассировать. Но DE0 (там память, флеш, СД-карта, видео, разъем клавы PS/2 и разъем расширения с адаптером под флопы/МФМ диски) покрывает пока все хотелки.
- - - Добавлено - - -
Зеленоградских процессоров аля натюрель?
Это скорее должен быть отдельный проект - pin-2-pin замена оригинала. Там есть свой ряд вопросов плохо состыкующихся с проектом ДВК-на-FPGA.
Это скорее должен быть отдельный проект - pin-2-pin замена оригинала.Это самое интересное!
Из документа "LSI-11 WCS user's guide":
1.4.1 Vertical and Horizontal Microinstructions
The user will discover that microprogramming the LSI-11 micromachine
requires techniques nearly identical to those used in LSI-11 assembly
language programming. This strong similarity arises because the mi-
cromachine executes vertical as opposed to horizontal microcode. One
characteristic of vertical microinstructions is that microinstructions
are executed out of sequential locations in control store, just as ma-
chine instruction are executed sequentially out of main or program
store.
Another characteristic shared between vertical microinstructions and
machine instructions is that both perform recognized complete opera-
tions upon execution. For example, the COMPLEMENT BYTE microinstruc-
tion reads the contents of the specified source operand register into
the ALU, forms the complement and places the result in the specified
destination register. A horizontal microinstruction, by contrast,
would affect (micro) processor control at a much more detailed level,
often with direct control of register read and write circuitry, data
path bus drivers, ALU operating modes, and so forth. In addition, the
horizontal microcode usually contains a field which holds the address
of the next microinstruction to be executed.
Таким образом, по вопросу терминологии "микрокод-не микрокод"
можно внести окончательную ясность:
LSI-11 - вертикальный микрокод
Советская серия 1801 - горизонтальный микрокод
Серия Am2900/1804 - горизонтальный микрокод
Блин, с точностью до наоборот... Поправил
Или
Вертикальное микропрограммирование напоминает обычное программирование
Горизонтальное микропрограммирование выносит мозг классическому программисту
:)
- - - Добавлено - - -
ХА! Ещё одно дошло :) С точки зрения некоторой группы людей - LSI-11 - это резиновая женщина, потому что работает по принципу эмуляторов ;) А вот 1801 - это тру хардкор! :)
- - - Добавлено - - -
И ещё - текущая реализация PDP-2011 - это вертикальный микрокод :) То есть - аналог LSI-11 :) Шах и мат - кричащие про эмулятор :)
Приколы разбора микрокода LSI-11 из 581-ых РУшек.
Оказывается, было несколько вариантов чипсета LSI-11, прошивка микрокода хранится не только в РУ-шках. Внутри управляющего чипа 581ИК2 есть еще логический массив PLA, и он не фиксированный - тоже может изменяться и взаимодействует с содержимым РУ-шек. Поэтому 581ИК2 будет дружить только со своими 581РУ1-3, их драли комплектом. Массив PLA содержит набор адресов РУ-шек, при которых он вырабатывает специальные условия, которые могут вызывать неявный переход. И набор этих адресов фиксирован в компиляторе MICRO - только для проверки, и только для адресов 20008-27778. Этот MICRO есть в исходниках (на MACRO-11), и есть исходники FIS/EIS для какого-то вариант дековской оригинальной РУ3-шки. Так вот - оно с прочитанным PLA из 581ИК2 не полностью совпадает (3-5% отличаются). 581ИК2 поддерживает какой-то другой вариант микрокода, будем надеяться - более поздний, с меньшим количеством ошибок.
- - - Добавлено - - -
ХА! Ещё одно дошло :) С точки зрения некоторой группы людей - LSI-11 - это резиновая женщина, потому что работает по принципу эмуляторов ;) А вот 1801 - это тру хардкор! :)
Там в управляющем чипе еще PLA есть, который вносит элемент горизонтальщины - он тупо сравнивает текущий LC микрокода и может сделать неявный условный/безусловный переход, про который в исходнике ни слухом/ни духом.
Видать чисто вертикально оно совсем медленно и печально выходило. LSI-11 простой, на FPGA 100МГц цикл получится сделать с большой вероятностью, тогда и сравним скорость с 1801. Ну не совсем же женщина резиновая :)
- - - Добавлено - - -
Вертикальное микропрограммирование напоминает обычное программирование
Все привыкли к PC++ и что операция/операнды определены опкодом однозначно. А в горизонтальном микрокоде обычно есть поле NAF (Next Addres Field) и PC = NAF, да еще операция и операнды зависят не только от кода инструкции. Мозг ломается :)
Ну не совсем же женщина резиновая
После того, как покопался с FPGA и посмотрел, а чего внутри получается... Сравнивающие FPGA с эмулятором сразу падают в моих глазах.
А в горизонтальном микрокоде обычно есть поле NAF (Next Addres Field) и PC = NAF, да еще операция и операнды зависят не только от кода инструкции. Мозг ломается
Опять же, если вспомнить мой ПЕРВЫЙ опыт работы с FPGA - мозг ломался не меньше. А всего то надо принять - логика программирования FPGA - это не логика написания программ. Принять, понять - и дальше всё зашибись. Но после большого опыты программирования - нужно учить мозг мыслить в соответствии с логикой работы железа. Тяжело, но решаемо.
Все привыкли к PC++ и что операция/операнды определены опкодом однозначно
Скажем ещё спасибо PDP-11 и языку С, разработанному не то что бы под него, но с большИм влиянием. Плюс - распространённость PDP-11, очень большое количество софта под него, что вынудило проектировать следующие процессора с оглядкой (безусловно - не все) для простоты переноса, потом взлетевший PC с процессором из этого же класса и.. а-ля-у-лю - засилье С-подобных процессоров и языков.
Ну и безусловно, свою роль сыграла то, что человеку проще думать последовательно, а не параллельно. Вспомним последствия - мучения с многопоточным программированием :) Интересно, а если ребёнка с самого детства приучать думать параллельно - чито будет? :) Организм то человека и его мозг работают параллельно :)
И ещё - текущая реализация PDP-2011 - это вертикальный микрокод :) То есть - аналог LSI-11 :) Шах и мат - кричащие про эмулятор :)
по-моему фраза полная противоречия, pdp2011 это построенный на LUT цифровой автомат без всякого микрокода (как pdp11/20) который исполняет каждую pdp11 команду за 1 такт... про эмуль кричат те кому не нравиться что ради той же самой цели люди стали применять на порядок больше транзисторов или напорядок большие частоты... народ чувствует что это извращение ведущее к деградации моска, кроме того качество таких продуктов очень часто ниже чем у оригинала (равно как и качество услуг резиновой). слова симулятор и эмулятор это синонимы... и обозначают не програмную реализацию а функциональный аналог, чего людям не нравиться людям нравится оригинал или клон оригинала. так уж повелось. оригинал квадрата малевича бесценен (хотя полный декаданс и дегенерация)
слова симулятор и эмулятор это синонимы
Одна эта фраза говорит о полном не понимании.
Из википедии
Целью эмуляции является максимально точное воспроизведение поведения в отличие от разных форм компьютерного моделирования (симуляции), в которых имитируется поведение некоторой абстрактной модели. Например, моделирование урагана или химической реакции не является эмуляцией.
На остальное
Добро пожаловать в реальный современный мир, где основной целью стало - впаривание и потребление. Везде. В том числе - современных компах и программах. И да - оупен соурс точно такой же, плюс там легко забить на свой продукт типа - да надоело, идите все в жопу.
И ещё, пришедшее вчера в голову. Почитайте про программирование ENIAC - переключение проводов. Так что с точки зрения ретро - FPGA ближе к компам в их оригинальной идее, чем всё, что потом было выпущено. Просто такое программирование крайне не тривиально и уже потом придумали - последовательное выполнение, хранимая программа и - апофиоз - труд программиста дороже компьютера. Так что на качество продукта сейчас забили ВСЕ - а чё - выпустим комп, который быстрее, больше памяти, больше жрёт электричество.
чувствует что это извращение ведущее к деградации моска
Народ не хрена не чувствует, тренировка мозга требует усилий - да ну нах
- - - Добавлено - - -
Вдогонку, больше для Vslav-а
Пока это только очучение, но мне кажется, что на асинхронным схемах можно добиться большего быстродействия на меньших ресурсах. Но вот грамотно спроектировать асинхронный вариант...
В PDP-2011 у меня пока только небольшие модули построены внутри асинхронно и синхронность только в выдаче сигналов на аналог QBUS. Но результаты интересные - мне удавалось запускать модель на 100 МГц. К сожалению, у автора тактовая на процессор генерируется из модуля RAM (поэтому с точки зрения проца тактов ожидания доступа к памяти нет) и точно оценить, сколько она получается - не могу. По грубым прикидками - не больше 50, скорее - в районе 30-40. Ещё я экспериментировал с работой самой шины и выборки из памяти (построенной на BRAM) - из за ещё не удалённого кода при работе с памятью проц выполняет операцию за три клока. Опять же - по ощущениям - можно сделать (для BRAM) и на одном клоке на 100 МГц.
Какое то время назад меня достало то, что синтез исходного проекта приводил (после попыток что то поменять, причём иногда тривиальных вещей - типа - вместо скорости 9600 сделать 19200) к взлетающей прошивке с вероятностью процентов 10 - и я начал полностью перелопачивать проект. Поэтому - ещё не всё работает и сейчас моя основная цель - привести проект к полностью рабочему варианту - но на моих условиях. Поэтому эксперименты с асинхронностью и памятью пока отложены
Господа, помоги пожалуйста.
Перенести CORE 1801ВМ1 на FPGA Xilinx XC3S250E (board GODIL50).
Как я понял надо брать синхронную версию из https://github.com/1801BM1/cpu11/tree/master/vm1/hdl/syn
эти файлы:
VERILOG_FILE ../../rtl/vm1.v
VERILOG_FILE ../../rtl/vm1_qbus.v
MIF_FILE ../../rtl/vm1_reg.mif
VERILOG_FILE ../../rtl/vm1_alib.v
VERILOG_FILE ../../../wbc/rtl/vm1_tve.v
VERILOG_FILE ../../../wbc/rtl/vm1_plm.v
Но вот как настроить под FPGA XILINX осилить не могу.
вот здесь пример определения ног для этой платы https://github.com/hoglet67/AtomBusMon/blob/master/target/godil_500/icez80/board.ucf
У меня в репозитории есть проект под Spartan-6, возьмите его за основу, возможно будет для начала достаточно просто поменять целевой чип на нужный Spartan-3. Там есть пример файла ucf. Файлы xxx_alib не нужны, это переходники на альтеровские компоненты, вместо них xxx_xlib.
Vslav, а практическая польза от проекта для БК ?
возможно ли в некий минимальный чип прошить коре и использовать его вместо процессора БК ?
возможно ли в некий минимальный чип прошить коре и использовать его вместо процессора БК ?
https://zx-pk.ru/threads/23978-tsifrovaya-arkheologiya-1801-i-vse-vse-vse.html?p=1013730&viewfull=1#post1013730
я поняль , спасибо
DE0 это хорошо, но гдето далеко-далеко -)
DE0 это хорошо, но гдето далеко-далеко -)
Это не далеко-далеко само по себе, но до сменного модуля для замены процессора БК - да, пока не близко...
Это не далеко-далеко само по себе, но до сменного модуля для замены процессора БК - да, пока не близко...
Ну возможно не так уж и далеко, сейчас как докачаю 8гиг ISE... =)
Ну возможно не так уж и далеко, сейчас как докачаю 8гиг ISE... =)
Ну я именно про сменный модуль в БК :)
Понимаете, тут такое дело...
Все кто программировал на Си знают же функцию printf(), верно?
Ну вот мои модели процессоров это примерно как разработать полную и быструю библиотечную реализацию printf(), которая прошла полный цикл тестирования и имеет неплохое тестовое покрытие. А теперь предлагается сделать pin-2-pin модуль ВМ1. Ну это примерно как "Слава, а напиши helloworld с этой функцией, пожалуйста". Интересно, да?
OK, давайте посмотрим каким может быть модуль pin-2-pin.
Выбор ПЛИС - скорее всего M10. Не нужна конфигурационная память, есть флеш для кода, самоконфигурация под управлением внутренней программы. Но не 5V-толерантная. Толерантные ACEX 1K не предлагать - я пробовал на нем собрать ВМ1, вышло что нужен 1K50 минимум и 30 МГц всего итоговая частота. Далее, допустим сделали модуль, вставили в БК - получили 10 процентов прирост скорости. И все, приехали - 037 подняться выше нам не позволит. Значит что? Значит на модуле процессора нужна память, а самое компактное - DDR3. Естественно, FPGA и DRAM на шариках с шагом 0.8мм - иначе в габариты корпуса ВМ1 не поместится, не забываем про преобразователи 3V-5V. Также очень хорошо бы иметь слот под micro-SD карту, но это уже совсем-совсем не поместится.
Потом все это дело надо еще программировать, чтобы можно было хоть как-то пользоваться. Используя видеопамять БК и его клавиатуру написать загрузочное меню, с выбором частот, периферии, выбор БК10/11/11М и прочего, возни тут видится много, и это все получится исключительно под БК.
Vslav, лично меня интересует pin2pin для создания ВМ1,2 In-Circuit Emulation для ремонта и отладки реального железа. И для это ненужно повышенных частот процессора и ram.
Вчера удалось скопилировать ваш ВП1-065 под Spartan 3E, теперь надо опредилить выходы fpga и сделать переходник с dip на вп1.
Vslav, лично меня интересует pin2pin для создания ВМ1,2 In-Circuit Emulation для ремонта и отладки реального железа.
Так это прекрасно, если есть реальное применение. Тут как раз подойдет модуль переходник в плату FPGA, по типу моих модулей под DE0. Миниатюризация же при отладке особо не нужна.
Вчера удалось скопилировать ваш ВП1-065 под Spartan 3E
Это какой 065? Тот что в составе SoC под ВМ1? Отреверсенный собственно 065 не очень вменяемый, там только моделька.
Так это прекрасно, если есть реальное применение. Тут как раз подойдет модуль переходник в плату FPGA, по типу моих модулей под DE0. Миниатюризация же при отладке особо не нужна.
Это какой 065? Тот что в составе SoC под ВМ1? Отреверсенный собственно 065 не очень вменяемый, там только моделька.
Я ориентировался под spartan 3е, потому что есть готовая платал(godil50) с готовым перехником на DIP48 и 5v tolerance и поднее уже есть готовый проект ICE для трех процессоров github.com/hoglet67/AtomBusMon где уже есть отдельное ядро AVR для управления эмулируемым CPU.
Да собирал отреверсенный 065. Тот который идет с ВМ1 вроде для wishbone? Его надо переделать под qbus. Я это делал чисто для тестирования на чем-то простом.
допустим сделали модуль, вставили в БК - получили 10 процентов прирост скорости.
При работе с ПЗУ или СОЗУ возможный рост быстродействия БК11М - с 400 т. рег-рег до не менее, чем 1.2 млн рег-рег - т.е.3-кратный.
При работе с ВП1-037 - там да, дело ограничится 360 т. рег-рег при любом быстродействии проца и стандартных таймингах МПИ.
Но ведь можно сделать и отдельный модуль ВП1-037 без бага сцепления циклов Видеовывода и ЦП - тогда максимальное быстродействие поднимется до минимум 600 т. рег-рег.
Но ведь можно сделать и отдельный модуль ВП1-037 без бага сцепления циклов Видеовывода и ЦП - тогда максимальное быстродействие поднимется до минимум 600 т. рег-рег.
Та да, сначала меняем на FPGA процессор, потом 037, там и замена клавиатуры с 014 не за горами. Смысл в это влезать? Проще сразу все на FPGA сделать да и усе.
Vslav, или сразу взять готовый!
github.com/sorgelig/BK0011M_MIST
github.com/MiSTer-devel/BK0011M_MiSTer
;)
Vslav, или сразу взять готовый!
github.com/sorgelig/BK0011M_MIST
github.com/MiSTer-devel/BK0011M_MiSTer
;)
Да, например. Там реверс используется, хоть и немного не так как мне бы хотелось. Но хозяин - барин, спасибо что хоть так пригодилось :)
Да, например. Там реверс используется, хоть и немного не так как мне бы хотелось. Но хозяин - барин, спасибо что хоть так пригодилось :)
А что не так? Может что-то можно поправить.
А что не так? Может что-то можно поправить.
Не, там архитектурное видение другое. Но то такое, может быть, когда-нибудь и сделаю БК-шку по-своему. А пока - маемо що маемо. Но все равно - очень неплохой вариант, надо признать.
может быть, когда-нибудь и сделаю БК-шку по-своемуБыло бы круто!
Только сегодня узнал про полный реверс ВМ2 - спасибо огромное за этот титанический труд! Оно верилятором переваривается? Я бы мог погонять на досуге ;)
P.S. Я конечно же сразу твитнул про это с линком на гитхаб и понеслось (на данный момент больше 7000 показов, 50 лайков и 18 ретвитов) - ждите притока почитателей ретро из твиттера :v2_dizzy_biggrin2:
https://twitter.com/Shaos1973/status/1145391019053051904
P.P.S. А у автора есть твиттер аккаунт? А то там рэтробуржуи всякие вопросы задают - типа как из асинхронной модели сделали синхронную и т.д.
Оно верилятором переваривается? Я бы мог погонять на досуге ;
Пробовали переварить модель ВМ1, не так чтобы очень хорошо вышло, допиливали руками, тут в ветке поискать можно, ну и авторов С/С++ моделей поспрашивать.
P.P.S. А у автора есть твиттер аккаунт? А то там рэтробуржуи всякие вопросы задают - типа как из асинхронной модели сделали синхронную и т.д.
Не, твиттера нету, времени на все не хватает.
Из асинхронной модели синхронная сделана "ручками". По-очередно латчи заменялись на флип-флопы, на измененной модели запускались тестовые программы и проверялось время исполнения с точностью до такта, если что-то не прошло или диаграмма съезжала - искалась причина и модель исправлялась до по-тактового совпадения времянок.
Ну я им примерно так и ответил :)
P.S. А благодарности у всех слетели или только у меня так?...
там бк 11 на 8 мгц работает!
https://github.com/sorgelig/BK0011M_MIST
но всеж мист для бк - микроскопом гвозди забивать
а вот пин то пин процессор на 8 мгц пригодился бы
А какой ВМ2 реверсился? Более ранний белый или более поздний чёрный? У меня они по разному работают - при старте немного отличается поведение сигналов ну и на 0 Гц (по шагам) у меня ни один белый не заработал - либо сразу глючит либо через несколько шагов уходит не туда по адресам, а вот на скоростях от 1 МГц почти все завелись. Чёрные практически все, что у меня были, работают от 0 Гц до 16 МГц, а один даже до 20 МГц разогнался...
А какой ВМ2 реверсился? Более ранний белый или более поздний чёрный?
Насколько я понимаю - по корпусу ВМ2 различать сложно. Точно известны две версии кристалла 1801ВМ2, различаются по фотографиям, у более поздней версии два генератора смещения подложки. Как эти версии корпусировались - в "белые или черные" - точно неизвестно. Я реверсил более позднюю версию с двумя генераторами. "Мегаглюк" предвыборки в ней есть.
- - - Добавлено - - -
а один даже до 20 МГц разогнался...
На FPGA оно в пересчете на внешнюю частоту ВМ2 разгоняется до 200МГц :)
А реальные кристаллы из партии которая реверсилась (керамика, 90-ый год, емнип) разогнались до 12МГц на стенде.
Майкрософт на гитхабе подкинул мелкую подлянку.
Поскольку у меня в проекте есть бинарные файлы - топологии, схемы, пдфки, то я для этих файлов указал использовать LFS - специальное хранилище на гитхабе, сами файлы кладутся в него, в репке остаются только ссылки на объекты, удобно, размер репозитория очень умеренный, есть лимит на 1 гигабайт. Потом я оформил всю эту топологию в отдельный git субмодуль, это отдельная репка cad11, все бинарники туда ушли, кому неинтересно - их не выкачивает при клонировании. А недавно Майкрософт прислал интересное письмо, оказывается на эту LFS есть общий лимит в 1 гигабайт, только не для отдельного репозитория, а на весь аккаунт. И лимит не только на объем хранимого, но и на скачивание из LFS не более 1 гигабайт в месяц. Ну я как бы разработчик, я не качаю. Но вот тут засада - в квоту считаются форки. То есть, если кто-то на гитхабе форкает репку с LFS и это отфорканное вычитается от квоты исходной репки. О как. И все скачивания с форкнутой репки тоже идут в месячную квоту оригинальной репки и оригинального аккаунта. В начале июля народ понемножку клонит и форкает мои реверснутые репки и месячная квота уже заканчивается (95 процентов). Как закончится - LFS файлы до конца месяца на github станут недоступны (потом придет следующая месячная квота). Такой вот мелкий шрифт в условиях бесплатного аккаунта на github. И лимит на весь аккаунт, и квота на скачивание твоей репки другими пользователями. Не нравится - надо платить. Оно как бы не жалко, но противненько, пока ты неуловимый Джо - все тихо, как только к проекту появляется малый интерес - сразу просят денег. Поэтому я все свои репозитории перезалил без использования LFS (денег пока только за него хотят), если кто-то форкал старые версии - то лучше удалить и сделать новый форк, уже без LFS.
есть лимит на 1 гигабайт
В облаке Майл.ру лимит на запись в бесплатный аккаунт - 100 гигабайт.
На скачивание - видимо, лимитов нет.
Можно делать отдельные папки, открывать и закрывать к ним доступ.
За крайние 5 лет вроде как усё на месте.
3 года назад можно было выкладывать файлы без компресса - для RT-11 типа .DSK, .SAV и т.п.
Да, на Украине этот ресурс заблокирован.
можно было выкладывать файлы
Git - это не выкладывание файлов, это стандартизированный воркфлоу с моделью совместной разработки, историей изменений, системой ревью и тд. Плюс сам github это простенькая социалочка.
Если уже совсем плохо будет - подниму git сервер на своем домене или таки оплачу мою личную учетку на github.
581ИК2 поддерживает какой-то другой вариант микрокода, будем надеяться - более поздний, с меньшим количеством ошибок
А вариантов там было много... http://www.cpushack.com/2017/11/22/cpu-of-the-day-dec-lsi-11-chipset/
Можно по-пинать коллекционеров и собрать все версии управляющих чипов и микрокода
тут еще информация http://web.frainresearch.org:8080/projects/pdp-11/lsi-11.php
Vslav, с файлами
u.zeptobars.ru/yuot/1425/RAW/ScanLine/двойной 1/Image_00001.tif
u.zeptobars.ru/yuot/1425/RAW/ScanLine/двойной 1/Scan-0008.tif
u.zeptobars.ru/yuot/1425/RAW/ScanLine/двойной 2/Image_00002.tif
u.zeptobars.ru/yuot/1425/RAW/ScanLine/двойной 2/Scan-0018.tif
что то не так - пишет, 404
Vslav, с файлами
u.zeptobars.ru/yuot/1425/RAW/ScanLine/двойной 1/Image_00001.tif
u.zeptobars.ru/yuot/1425/RAW/ScanLine/двойной 1/Scan-0008.tif
u.zeptobars.ru/yuot/1425/RAW/ScanLine/двойной 2/Image_00002.tif
u.zeptobars.ru/yuot/1425/RAW/ScanLine/двойной 2/Scan-0018.tif
что то не так - пишет, 404
Это были промежуточные сканы, почищены, откорректирован контраст и включено в общий документ (http://www.1801bm1.com/files/retro/1425/3.094.306-sch.djvu). Файлохранилище на zeptobars.ru - все, до конца года максимум проработает. Большие и не полезные файлы типа этих сканов давно удалены.
SuperMax
27.07.2019, 07:25
да, есть дополнительное зеркало у http://www.1801bm1.com/files/ - http://1801bm1.pdp-11.ru/files/
поддерживается руками
zeptobars.ru / zeptobars.com не копировал
Тишина, однако. Взорвем немножко? :)
В телеграмме, в группе БК-0010 уже сутки как появилась информация про баг в ВМ1. Первооткрыватели Станислав и Дамир дали добро на публикацию здесь, присоединятся к дискуссии позже.
Выяснилось такое
sec
movb R0, R0
bcc 1$
Переход по bcc всегда выполняется.
А вот тут:
sec
movb R0, R0
nop
bcc 1$
Все работает правильно.
И еще такое:
sec
mfps R0
bcc 1$
Переход bcc срабатывает, но флаг С в регистре R0 сохраняется единичным.
Баг воспроизводится на реальных 1801ВМ1А и 1801ВМ1Г, а также на всех моделях, и похоже, не зависит от скорости выборки памяти.
Модели показывают что регистр PSW содержит корректные флаги, но инструкции ветвления используют внутренний регистр FSEL микропрограммного автомата. А этот регистр в инструкциях movb, mfps и swab не обновляется если приемник имеет нулевой режим адресации (регистр) и отображает последнюю операцию ALU - AND с маской старшего байта. Для битов NZV это нормально, они переписываются в PSW вполне законно, а вот с флагом С не все просто - он всегда нулевой. Для swab это OK, а для movb и mfps имеем ошибку.
Sergei Frolov
09.10.2019, 21:32
На ВМ2 такого нет?
баг в ВМ1 А в модели баг можно исправить? В эмуляторы нужно правки вносить до реального камня?
На ВМ2 такого нет?
Не проверялось пока, там совершенно другая схема анализа флагов, не должно быть.
- - - Добавлено - - -
А в модели баг можно исправить? В эмуляторы нужно правки вносить до реального камня?
Да в модели все можно, добавлю фикс по флагу компиляции - можно будет собрать процессор как с багом, так и без.
А эмуляторщикам будет только в удовольствие поправить свой код и воспроизвести баг во всей красе. Ну или снова штурмовать верилог-эмуляцию :)
А эмуляторщикам будет только в удовольствие поправить свой код и воспроизвести баг во всей красе. Ну или снова штурмовать верилог-эмуляцию
Верилог эмуляция не нужна) Нужна правильная потактовая эмуляция, основанная на точной модели.
Верилог эмуляция не нужна) Нужна правильная потактовая эмуляция, основанная на точной модели.
Та я тока за. Есть мысли как SSE/SSE2 приспособить для обсчета PLM-ки. Остальное фигня.
Та я тока за. Есть мысли как SSE/SSE2 приспособить для обсчета PLM-ки. Остальное фигня.
Для меня главная мысль - это иметь четкую схему ВМ2, ибо в верилогах я не разбираюсь. Кроме того, они не есть первоисточник, а являются распознанной версией схемы.
Есть мысли как SSE/SSE2 приспособить для обсчета PLM-ки компилятор Си не умеет из коропки???
Если есть алгоритм могу порешать головоломку как ускориться в разы; на выходных
компилятор Си не умеет из коропки???
Из коробки не умеет, надо все ручками, через спецтипы и интринсики.
Функция PLM там простая, комбинаторная, 31 вход - 34 выхода. По дороге надо 250 логических произведений посчитать.
- - - Добавлено - - -
это иметь четкую схему ВМ2
Ну заводская есть, или она недостаточно четкая? :)
Ну заводская есть, или она недостаточно четкая?
Заводскую я читал) Да как бы я ее и достал)
Но она явно отличается от реала)
Заводскую я читал) Да как бы я ее и достал)
Но она явно отличается от реала)
Да несильно оно отличается, я все отличия задокументировал (https://github.com/1801BM1/cad11/tree/master/vm2) :)
blackmirror
09.10.2019, 22:42
Из коробки не умеет, надо все ручками, через спецтипы и интринсики.
Функция PLM там простая, комбинаторная, 31 вход - 34 выхода. По дороге надо 250 логических произведений посчитать.
А в чём вообще задача? Нужно просто считать функцию по готовой схеме или наоборот пытаться её как-то оптимизировать? И как сейчас код для этого выглядит?
Да несильно оно отличается, я все отличия задокументировал
Человеческий фактор)
Я так понимаю, это про оно?
https://m.habr.com/ru/post/471020/
Я так понимаю, это про оно?
https://m.habr.com/ru/post/471020/
Да, и отличная статья, кстати.
CodeMaster
11.10.2019, 10:44
и отличная статья, кстати.
Да, даже мне не знающего асма и шапочно знакомого с электроникой всё понятно. Вопрос только остался в том, что: неужели это такое редкое сочетание инструкций, что никто не заметил этого раньше?
неужели это такое редкое сочетание инструкций, что никто не заметил этого раньше?
После команды, которая меняет флаги, практически всегда - сразу команда перехода, реагирующая на флаги. Так, что бы между ними какая то ещё команда - очень редко, а так, что бы эта команда не трогала интересующий флаг, но сама влияла на некоторые из них - крайняя редкость, и это можно понять даже по тому, сколько времени прошло, прежде чем баг нашли
неужели это такое редкое сочетание инструкций, что никто не заметил этого раньше?
"movb Rs, Rd" - не такая уж частая.
1. Программисты жадные. Зачем пересылать 8 бит, если можно сразу 16? Бесплатно :)
2. Программисты ленивые. Чтобы написать movb вместо mov - это ж подумать надо. Лень :)
- - - Добавлено - - -
Кстати, mov Rs, Rd занимает 8 тактов и выполняется быстрее чем movb Rs, Rd. (автомату так вообще 4 такта надо, шина тормозит до 8).
И, да - производительность 1801ВМ1 625К словных инструкций reg-reg на 5МГц. А не 500К как везде написано.
"movb Rs, Rd" - не такая уж частая.
Зато она особенная: расширяет со знаком байт.
1. Программисты жадные. Зачем пересылать 8 бит, если можно сразу 16? Бесплатно :)
Она записывает 16 бит, это не просто пересылка, это полезная инструкция в некоторых случаях.
2. Программисты ленивые. Чтобы написать movb вместо mov - это ж подумать надо. Лень :)
Можно сделать макрос SXTB, букв столько же, но сразу ясно будет, что это расширение знака.
А так да, конечно, - во всём виноваты программисты, постоянно слышу от наших инженеров когда какой-то их баг им показываю ;)
Зато она особенная: расширяет со знаком байт
Любая MOV с приёмником - регистром расширит знаковый бит в байте
Программисты жадные. Зачем пересылать 8 бит, если можно сразу 16
Она записывает 16 бит, это не просто пересылка,
Если мне не требуется расширение знака - я использую MOV, если байт хранит число со знаком - MOVB, если интересует ТОЛЬКО младший байт - CLR + BISB
Можно сделать макрос SXTB
Аккуратней, есть команда SXT, можно на автомате ошибиться
Зато она особенная: расширяет со знаком байт.
Прошу прощения - я забыл добавить к своему предыдущему сообщению тег "сарказм" :)
Я чего-то не понял, у нас из серии 1515ХМ1, 2 есть только:
1515ХМ2-001 (600МБ)
1515ХМ2-003 (500МБ)
А остальных нет ни фоток, ни реверса?
А остальных нет ни фоток, ни реверса?
Да. Нет ни фоток ни реверса, да и не все кристаллы есть.
Vslav, уходим с баркаса, меняем динамит на бабу, зря стоически сидели?
сейчас впору трезвеннекам вмазать коньячку по 50 и ещё по 50
Да. Нет ни фоток ни реверса, да и не все кристаллы есть.
Как не все есть? У людей-то должны быть. Я имею в виду прежде всего те, что в УКНЦ.
Люди! Срочно присылаем чипы от УКНЦ Vslav'у на фотографирование!
КА1515ХМ1-031 (таймер, клавиатура)
КА1515ХМ1-032 (ОЗУ ПП)
КА1515ХМ1-033 (видео) (от прототипа УКНЦ)
КА1515ХМ1-036 (видео)
КА1515ХМ1-039 (ОЗУ ЦП)
1515ХМ1-136 (видео)
1515ХМ2-002 (ОЗУ ПП)
Vslav, уходим с баркаса, меняем динамит на бабу, зря стоически сидели?
сейчас впору трезвеннекам вмазать коньячку по 50 и ещё по 50
Да кому оно все надо?
Два чипа 1515ХМ1 есть, сфотографированы в хорошем качестве 4 года назад. И?
Отлаженный 1801ВМ1 в верилоге есть уже года три. И?
Полгода как есть верилог 1801ВМ2. И?
Реверс на таком уровне, как сделаны микросхемы 1801 - это очень и очень дорого. В то, что мне было особенно интересно - я вложился, своим временем. Увы, сейчас у меня другие проблемы (все хорошо, проблемы увлекательные, мирового уровня), поэтому дальше крупно в реверс вкладываться пока не буду. Но совсем хобби забрасывать не собираюсь. Потихоньку микроскоп обратно собираю, едет контроллер для нового стола. Я людям обещал пофотографировать кристаллы, кучка выпилена и вытравлена, лежит ждет нового стола - деваться мне некуда, надо доделать. Насчет именно 1515 - как первые имеющиеся два чипа отреверсятся - дофотографируем остальное. LSI-11 очень вероятно дожму. Жить будем :)
Да кому оно все надо?
Два чипа 1515ХМ1 есть, сфотографированы в хорошем качестве 4 года назад. И?
Отлаженный 1801ВМ1 в верилоге есть уже года три. И?
Полгода как есть верилог 1801ВМ2. И?
Рим не сразу строился) Кирпичик за кирпичиком.
Не 4 года назад, а 5. 25% отреверсил, и снова возобновил тему (https://zx-pk.ru/threads/30964-revers-inzhiniring-bmk-1515khm1-2.html?p=1029797#post1029797). Расписал все логические элементы. Может это даст стимул кому-то реверсить другие чипы.
все хорошо, проблемы увлекательные, мирового уровня
позвольте мне искренне радоваться за вас как за специалиста и от души желать вам успехов в этом направлении, так же поблагодарю за проделанную вами кропотливую работу по Зеленоградским процессорам. А что может быть на родном ВМ2 кристаллике (1 или 2 как у УК-НЦ, главное что бы 1 платное без "бешеной двк\квант корзины", где каждый контроллер зачем-то огромный в эпоху миниатюризации уже сегодня ? извиняюсь если немного не корректно вопрос поставлен...
У меня есть 1515ХМ2-002, штук несколько.
У меня есть 1515ХМ2-002, штук несколько.
Эта уже хорошо сфотографирована.
- - - Добавлено - - -
Ой, наврал. 002? Такого у нас нет. Обязательно надо. Добавил в список.
Очень интересно узнать, чем отличались разновидности чипов:
КА1515ХМ1-031 и 1515ХМ2-001
КА1515ХМ1-032 и 1515ХМ2-002
КА1515ХМ1-033, КА1515ХМ1-036 и 1515ХМ1-136
КА1515ХМ1-039 и 1515ХМ2-003
Как не все есть? У людей-то должны быть. Я имею в виду прежде всего те, что в УКНЦ.
Люди! Срочно присылаем чипы от УКНЦ Vslav'у на фотографирование!
КА1515ХМ1-031 (таймер, клавиатура)
КА1515ХМ1-032 (ОЗУ ПП)
КА1515ХМ1-033 (видео) (УКНЦ ли?1)
КА1515ХМ1-036 (видео)
КА1515ХМ1-039 (ОЗУ ЦП)
1515ХМ1-136 (видео)
1515ХМ2-002 (ОЗУ ПП)
Я проведу инвентаризацию, какие-то 1515ХМ1/2 у меня еще есть, отпишусь.
Часть вскрытая лежит, но не все удачно. Часть расколотая.
Добрый день, Vslav
А дом 1801ВМ3 руки не доходят?
Добрый день, Vslav
А дом 1801ВМ3 руки не доходят?
Так далеко я не заглядываю :)
Надеюсь что дойдут.
- - - Добавлено - - -
А что может быть на родном ВМ2 кристаллике (1 или 2 как у УК-НЦ, главное что бы 1 платное без "бешеной двк\квант корзины", где каждый контроллер зачем-то огромный в эпоху миниатюризации уже сегодня ?
На оригинальном ВМ2 не знаю. А на реплике - а вот УКНЦ в FPGA неплохо было бы иметь.
Надеюсь что дойдут.
Спасибо :)
вот УКНЦ в FPGA неплохо было бы иметь
Технически, в планах, есть задумки на повторение БК, УК-НЦ и 1201.01-04 в FPGA, но вот свободное время...
Пока программа минимум - 1201.04, КЦГД, MY - процессора в виде микрух, вся логика в FPGA ну и нечто на замену DW. Это позволит отказаться от старых плат :) Движение в этом направлении есть, но опять же - свободное время.. А затем попробовать всё загнать в FPGA
С БК, УК-НЦ и с остальными 1201 думаю двигаться примерно так же.
Я проведу инвентаризацию, какие-то 1515ХМ1/2 у меня еще есть, отпишусь.
Часть вскрытая лежит, но не все удачно. Часть расколотая.
Кстати, почему так вышло, что более понятные кмоповские 1515 вы не реверсили, а более сложные нмоповские 1801вп1 от укнц все отреверсили?
Кстати, почему так вышло, что более понятные кмоповские 1515 вы не реверсили, а более сложные нмоповские 1801вп1 от укнц все отреверсили?
Для своих задач я использую Excel и организацию в стиле redmine. И там 1801ВП1 записан как стори с сабтасками. Ну и я захотел просто стори закрыть :)
Грубо говоря - первый столбец в Excel - это задачи, а дальше в строке подзадачи. Ну и захотелось мне всю строчку в зеленый раскрасить.
Грубо говоря - первый столбец в Excel - это задачи, а дальше в строке подзадачи. Ну и захотелось мне всю строчку в зеленый раскрасить.
Переводя с языка научного, на понятный всем - так сложились звезды, и никаких других причин на это нет)
Кстати, в ВП-шках по скольку примерно логических элементов на корпус?
Очень интересно узнать, чем отличались разновидности чипов:
КА1515ХМ1-033, КА1515ХМ1-036 и 1515ХМ1-136
КА1515ХМ1-033 - это версия видеоконтроллера для прототипа УКНЦ (https://zx-pk.ru/threads/30805-prototip-uknts.html), который описан в раннем ТО (http://emuverse.ru/wiki/%D0%A3%D0%9A%D0%9D%D0%A6_%D0%A2%D0%B5%D1%85%D0%BD% D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BE%D 0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5). Отличалась от современного видеоконтроллера, в частности, форматом таблицы видеострок. С данным видеоконтроллером работают ПЗУ -135, -136, -137.
КА1515ХМ1-033 - это версия видеоконтроллера для прототипа УКНЦ (https://zx-pk.ru/threads/30805-prototip-uknts.html), который описан в раннем ТО (http://emuverse.ru/wiki/%D0%A3%D0%9A%D0%9D%D0%A6_%D0%A2%D0%B5%D1%85%D0%BD% D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BE%D 0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5). Отличалась от современного видеоконтроллера, в частности, форматом таблицы видеострок. С данным видеоконтроллером работают ПЗУ -135, -136, -137.
Так это еще замечательнее! Обязательно надо этот чип фоткать. Прям первым делом.
Кстати, мой вопрос - где достать ПЗУ 135 и 136 - остался без ответа. (137 выкладывал dk_spb).
Vslav - думаю в изученных Вами кристаллах встречаются логические элементы исключающее ИЛИ. Как они реализуются на уровне транзисторов ?
(есть информация, что буквально на двух транзисторах).
Vslav - думаю в изученных Вами кристаллах встречаются логические элементы исключающее ИЛИ. Как они реализуются на уровне транзисторов ?
(есть информация, что буквально на двух транзисторах).
Вот так:
http://1801bm1.com/files/images/nmos_xor.png
ну, да - это на биполярных "буквально на двух транзисторах", а в н-моп также не получится, но то же интересно и спасибо на инфо.
Вопрос по -037
Полный кадр включая гашение и прочие черные рамки составляет 768 на 320 пикселей
Высчитал по верилогу
Почему не 312 линий в кадре что написано в тв стандарте? Зачем кадровую сделали 48.83 а не 50
Инженерная ошибка или научный расчет???
регистр в инструкциях movb, mfps и swab не обновляется если приемник имеет нулевой режим адресации
Из описания бага, не сосем понятно, регистр FSEL вообще не обновляется, или обновляется неправильно - со сброшенным битом С.
Иначе, если бы вообще не обновлялся, то после команд SWAB R0 и MOVB x,R0 так же глючили бы команды условного перехода BPL/BMI и BEQ/BNE и это уже было бы очень заметно.
Почему не 312 линий в кадре что написано в тв стандарте?Может не получились сделать делитель на 312? На 320-то оно просто, сначала на 32, потом на 10...
Зачем кадровую сделали 48.83 а не 50 Затем, что строчную сделали 15625. Подели ее на 320, получишь те самые 48,828125, которые округлили до 48,83. Если бы сделали кадровую 50 Гц, строчку пришлось бы делать 50 х 320 = 16000 Гц. Учитывая, что в строчке используются сложные резонансные эффекты в комплексе ОС+ТВС (ТДКС), по всей видимости, разработчики решили "Ну ее, строчку, на фиг, подкрутим лучше кадры".
swab
И ещё вопрос: SWAB или SXT? В тесте на гитхабе sxt написано. Команде SXT вроде нет никаких оснований использовать тот кусок микрокода, который используют MOVB и MFPS при котором происходит баг.
ожет не получились сделать делитель на 312? Про делители не знаю но из курса цифровой электроники уровня ПТУ из прочтения профильной книжки в 1988 году помню что нет ничего проще чем загрузить в реверсивный счетчик любое значение и ждать пока нуль пройдет
- - - Добавлено - - -
которые округлили до 48,83 Кто округлили? как можно физический сигнал округлить???
считайте 1200000/768/320
Из описания бага, не сосем понятно, регистр FSEL вообще не обновляется, или обновляется неправильно - со сброшенным битом С.
При выполнении MOVB и MFPS микроавтомат проходит через адрес 0x51 (для ВМ1А, для ВМ1Г он другой). На этом адресе выполняется такое:
51: if (N) Rd |= 1774008
else Rd &= ~1774008
assign NZV, MCIR poll, wait read
goto 01 (next instruction)
FSEL принимает значение по результатам этой последней OR/AND операции. assign NZV переписывает флаги в реальный PSW. Флаг C в PSW не изменяется, во FSEL флаг С нулевой. Проблема в том, что на 0x51 регистр FSEL не считывается обратно из PSW и следующая команда ветвления (только ветвления, так как АЛУ использует реальный PSW) лажает. Флаги NZV во FSEL и PSW после MOVB одинаковые, только в C во FSEL всегда сброшен. MFPS сохраняет реальный PSW поэтому с сохраненными флагами проблем нет.
Иначе, если бы вообще не обновлялся, то после команд SWAB R0 и MOVB x,R0
Эти инструкции не ходят через 0x51 (я строил полную матрицу переходов, оно все в документе описано). MOVB с любым операндом не регистровым тоже не ходит через 0x51. MOVB из памяти расширяет знак схемой обмена с шиной, не при помощи АЛУ. MOVB, записывающий байт в память, расширения знака не делает совсем, что логично.
И ещё вопрос: SWAB или SXT? В тесте на гитхабе sxt написано. Команде SXT вроде нет никаких оснований использовать тот кусок микрокода, который используют MOVB и MFPS при котором происходит баг.
Э-э-э... На гитхабе? Я проверил - вроде не писал я такого. Может быть в статье на Хабре? SXT вроде этому багу не подвержен, так как не ходит через 0x51, но надо бы перепроверить, если точно нет - то пофиксить статью.
Update: был неправ, SWAB Rd ходит через 0x51, тоже подвержен багу с ветвлением по флагу C. Спасибо gid за поправку.
Кто округлили? как можно физический сигнал округлить???Округлить можно в документации. Ну, или измеряя прибором с недостаточной разрешающей способностью. Или считая на калькуляторе с двумя знаками после запятой (бухгалтерском). А фактически, 12000000 / 768 = 15625. Делим эти 15625 на 320, виндовый куркулятор не даст соврать. Вид ->Инженерный, если что...
из прочтения профильной книжки в 1988 году помню что нет ничего проще чем загрузить в реверсивный счетчик любое значение и ждать пока нуль пройдетА кто их знает, может не вытанцовывался у них такой счетчик - это хорошо работает, когда счетчик синхронный, ну, или когда частота невысокая, т.е. далеко от предельного быстродействия этого счетчика. Здесь же частота близка к пределу для элементов этой БИС, а синхронный счётчик мог не получиться, под него надо все-таки довольно много элементов...
Э-э-э... На гитхабе?
да, в файле ...cpu11/vm1/tst/test.mac в строке 315 закомментированная команда sxt.
Я тут тест на досуге набросал и проверил на c++ модели за отсутствием пока реальной БК.
получилось, что команда sxt багу не подвержена, переход по состоянию бита С делается корректно. А подвержены команды movb, mfps и swab. После выполнения swab поведение абсолютно такое же, как и после movb
да, в файле ...cpu11/vm1/tst/test.mac в строке 315 закомментированная команда sxt.
OK, спасибо. Надо будет внести описание бага в .mac, в коммит-лог и документацию.
А подвержены команды movb, mfps и swab. После выполнения swab поведение абсолютно такое же, как и после movb
O как. Да, я пролистал свою документацию - был неправ, SWAB таки ходит через 0x51, поправлю свое сообщение выше, спасибо за бдительность :)
Увлекательное чтение про первый вариант микропроцессорного комплекта 588 для построения УЧПУ Электроника НЦ-31
Описаны 588вс1, 588ик1, система команд НЦ-3, микрокод с примерами, шина МНЦ (до МПИ), одноплатный вычислитель (ячейка ПРЦ) с двумя АЛУ ВС1 что позволило вести параллельные операции над операндами и адресами или выполнять действия с 32-х разрядными данными
я так понимаю что 1801ВЕ1 делали засовыванием всего этого в один кристалл по нМОП для радикально увеличения быстродействия
ссцылка https://www.chipmaker.ru/files/file/14551/
SuperMax
24.10.2019, 07:11
ссцылка https://www.chipmaker.ru/files/file/14551/
Положил сюда
https://forum.maxiol.com/index.php?showtopic=5498
[тут нет ограничений на скачивание и регистрация не требуется]
для ВМ1А, для ВМ1Г он другой
а в пластмассовых корпусах (без буквы) ? или я букву на корпусе не нашел ? где она ?
CodeMaster
24.10.2019, 12:57
а в пластмассовых корпусах (без буквы)?
Там же точки.
чему какие соответствуют ? (есть с одной, есть без)
Положил сюда Сохраните пожалуйста еще заводскую инструкцию по применению в двух частях. А то с сайта производителя удалили. На "современные" чипы 588 серии
https://drive.google.com/open?id=126e846jEGLMv49qBYGLxMMf5h6X1olnd
https://drive.google.com/open?id=12lhgiSyrhjD67CTVPK9bQRtdLxFkOIHK
- - - Добавлено - - -
чему какие соответствуют ? (есть с одной, есть без)
без точек = А
1 точка = Б
2 точки = Г
SuperMax
24.10.2019, 14:59
Сохраните пожалуйста еще заводскую инструкцию по применению в двух частях. А то с сайта производителя удалили. На "современные" чипы 588 серии
https://drive.google.com/open?id=126e846jEGLMv49qBYGLxMMf5h6X1olnd
https://drive.google.com/open?id=12lhgiSyrhjD67CTVPK9bQRtdLxFkOIHK
Положил
https://forum.maxiol.com/index.php?showtopic=5499
чему какие соответствуют ? (есть с одной, есть без)
А это тоже в моем документе написано, как ни удивительно.
С маркировкой путаница, зависит от даты выпуска.
С маркировкой путаница, зависит от даты выпуска.
Э. с двумя точками - группа "В", без различия по годам.
Э. с двумя точками - группа "В", без различия по годам.
Что означает "Э." ?
На процессоры было ТУ, выпускались в одном месте, должны соответствовать.
Что означает "Э." ?
Центр алкоголизьма в П-Посаде. И нищеты.
На процессоры было ТУ
На Э. всякие бумаги рассматривали исключительно с точки зрения кабинета 00.
выпускались в одном месте
На А. и на Э. Гуглится.
должны соответствовать
С каких это пор долги отдаются ?!:v2_dizzy_vodka3:
А это тоже в моем документе написано, как ни удивительно.
С маркировкой путаница, зависит от даты выпуска.
подскажите, пожалуйста - где посмотреть ?
где посмотреть ?
Надо гуглить лист внесения изменений в ТУ на 1801ВМ1 произвордства А.
Гдет-то в середине 1988 г. были внесены изменения в маркировку.
Т.е. камень 1989 г. А. с 2 точками - уже группы "Г", а , например, 1986 г. - "В".
вроде нашел:
10. Маркировка
Маркировка процессоров К1801ВМ1 в различные периоды их промышленного выпуска
осуществлялась согласно начального ТУ и нескольких последующих изменений.
Начальное ТУ
бК0.348.570-02ТУ-81
1.12.81 до 31.12.83 К1801ВМ1А - одна точка
К1801ВМ1Б - две точки
Изменение ТУ №3 от
1.09.83г
1.01.84 до 31.12.89 К1801ВМ1А - одна точка
К1801ВМ1Б - две точки
К1801ВМ1В - три точки
К1801ВМ1Г - четыре точки
Изменение ТУ №8 от
21.04.89г.
1.01.90 К1801ВМ1А - без точек
К1801ВМ1Б - одна точка
К1801ВМ1Г - две точки
тут все правильно ?
А не зависит ли маркировка от завода производителя ? (Ангстрем - Экситон)
Может они выпускали процессоры по разным ТУ ?
Может они выпускали процессоры по разным ТУ ?
ТУ Э. - к сожалению, в 2004...2006 г. утилизирована вся КД по 1801-й серии, ввиду продажи ФГУП Э. господам с Юга СССР в 2003 г.
Ну а зачем новым собственника какой-то непонятный архив на много комнат ?
Всё было подзачищено , кабинеты перетасованы - надо было 2 этажа заводоуправления сдать в аренду, а еще один - под кабак с бильярдной, и т.д. и т.п.
Почему продали ( за микроскопические бабки, кстати - цена 2 шт. однокомнатных квартир в Москве, и даже не в ЦАО ) - вопрос стоял о сносе территории Э. как не могущей работать по назначению и даже вообще работать. Но потом выяснилось - "кадры решают всё " - при господах с Юга за 10 лет всё заработало, и даже свободных помещений под аренду почти не осталось.
Что делается :
1. ИС, ГИС
2. Автомобили нескольких марок
3. Консервы - довольно много типономиналов
4. Колбасы всех систем
5. Перцы большинства систем и типономиналов, в т.ч. консервы и заморозка.
6. Присадки класса "Е" - фасовка.
7. Блинчики и чебуреки замороженные нескольких типономиналов. И пирожки тоже.
8. Какие-то непонятные офисы без вывесок - видимо, отделы др. предприятий - бухгалтерия, КБ и др.
9. Переработка бытовых отходов, в т.ч. пластика - да, то что в мусоровоз скидывают сразу из разных контейнеров - это правда, но всё везут на Э., где в специальном цехе все опять раскладывается по группам вторсырья.
( просто кое-кто 15 лет воровал-воровал на Э., и заворовался.... ).
когда Ангстрем передал производство 1801ВМ1 в Экситон, сам продолжил их выпуск или нет ?
когда Ангстрем передал производство 1801ВМ1 в Экситон, сам продолжил из выпуск или нет ?
Э. их делал в 1985...1989 г., паралельно с А.
Точнее, только корпусировали полубрачок кристаллов с А.
По номерам ТУ - я не в курсах, но вероятно, на Э. просто их скопировали без внесения изменений. А вот КД - делали свою, да еще как делали...
Если чип перевернут, изрисован краской, пластик частично облупился и воняет пожаром - это точно с Э.
( спиртягой не пахнет - работяги об этом тщательно позаботились... ).
так мне и не понятно.
Имею (КР - пластмассовые, со значком Ангстрема)
с одной точкой 89 03 и 89 04 - как раз совпадает с датой изменений ТУ 21.04.89г, но (вроде) вступающих в силу с 1990г.
Наверное это А.
без точек - 89 08 и 89 10 - почему без точек ? (без вступления в силу изменений без точек быть не должно - выходит 89 08 изменения уже вступили в силу).
Это в любом случае А.
А вообще пластмассовые с какого года начали выпускать ?
NEO SPECTRUMAN
26.10.2019, 01:58
AY-3-8910 (435MB)
Ооо dieshot-ы ay 3-8910 и кр580ви53!!!!
и уже 5 лет как лежат?
а я их искал...
еще бы зафоткал кто нить вг75 и вт57 (последний еще не гуглил)
...ау-к находил только на каком то немецком сайтеке в жабоскриптовым не рабочим просмотрам
хотя саму нарезку снимка я от туда здул
но склеить руки не дошли...
...ну и в педевикии еще...
Доброго времени суток! Я - автор статьи на хабре. По поводу вот этого:
"И ещё вопрос: SWAB или SXT? В тесте на гитхабе sxt написано. Команде SXT вроде нет никаких оснований использовать тот кусок микрокода, который используют MOVB и MFPS при котором происходит баг."
Статья писалась "по горячим следам" обсуждения с Вячеславом в телеграм-чате, и может содержать неперепроверенные еще на тот момент предположения. БК в железе у меня нет. Вот сейчас дочитаю эту ветку и поправлю статью.
Статья писалась "по горячим следам" обсуждения с Вячеславом в телеграм-чате, и может содержать неперепроверенные еще на тот момент предположения. БК в железе у меня нет. Вот сейчас дочитаю эту ветку и поправлю статью.
Я уже не помню результатов тестирования SXT на реальном железе, перепроверю и сообщу.
У станочников в разделе Электроника-60 нашлось замечательное руководство но качество из под селедки
Микро-ЭВМ "Электроника 60". Процессор М2. Руководство по ремонту
Настояшее руководство является пособием для проведения среднего и сложного ремонта центрального процессора М2 и предназначено для изучения персоналом, осуществляющим ремонт средств вычислительной техники.
Содержание
Введение
Методика поиска неисправностей ЦП и их устранение
Проверка работоспособности ЦП
Приложение 1. Особенности микропроцессорного набора и микроканала "Электроника-60М"
Приложение 2. Микропрограмма стартовой последовательности
Приложение 3. Блок-схема стартовой последовательности для режима пуска "0", "1", "2"
Приложение 4. Микрокомманды микропроцессора серии К581
Приложение 5. Информация записанная в БИС ПЗУ
на этой странице http://stanoks.net/index.php?option=com_content&view=article&id=1186:-60-&catid=101:catalogcnc&Itemid=188
SuperMax
06.11.2019, 09:51
Положил сюда
https://forum.maxiol.com/index.php?act=ST&f=68&t=5502&st=0#entry53628
ps: надо будет добраться и отсканить то что у меня в запасах лежит по Э60
я извиняюсь. А имена файлов вида "____________60.________________________1_3.858.353 _TO_.pdf" так задуманы ???
Это так старый движок сайта/форума, который не понимал русских букв и заменял их на _ всё попортил, а теперь там слишком много где ссылки на такие файлы, чтобы назад всё восстанавливать.
SuperMax
06.11.2019, 15:38
Это так старый движок сайта/форума, который не понимал русских букв и заменял их на _ всё попортил, а теперь там слишком много где ссылки на такие файлы, чтобы назад всё восстанавливать.
именно так
ps: собственно если кто-то подскажет где именно это можно поправить (в движке) я поправлю.
SuperMax,
gid,
AlexG, - а вот взрослые дяди, откуда вы взяли, что уже можно кириллицу в именах файлов??? Расслабились?
hobot, с появлением юникода кириллицу в именах файлов стало можно. Нужно просто аккуратно с ними обращаться.
Пример на этой странице: http://gid.pdp-11.ru/doclist.html и имена кириллические и даже в URL кириллица. Единственное условие, чтобы браузер на стороне клиента тоже понимал юникод.
где именно это можно поправить
Там уже физически файлы, там где они хранятся, такие имена имеют, так что поправлять поздно.
А после того, как Вы перешли на более свежую версию апача и движок форума обновили, кириллические имена вроде как портиться перестали.
уже можно кириллицу в именах файлов???
http://www.kpxx.ru/KBAHT4C/
уже давно можно
CodeMaster
06.11.2019, 20:14
уже давно можно
А строчными слабо ;-)
А строчными слабо ;-)
Ероглифами написать? ;) Арабскими :)
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot