User Tag List

Страница 69 из 273 ПерваяПервая ... 656667686970717273 ... ПоследняяПоследняя
Показано с 681 по 690 из 2727

Тема: Цифровая археология: 1801 и все-все-все

  1. #681

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,224
    Поблагодарили
    876 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    В-общем, запустить тесты, написать и добавить ВП1-065, нарастить ОЗУ до 56К (это быстро - из внутренней памяти) и практически готова МС1201.01.
    Для ретрокомпьютерщиков так же принципиальна важна способность работать в точности на оригинальной растактовке. А измененная шина - это уже уход от подобной возможности.

  2. #682

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    в точности на оригинальной растактовке.
    Для этого предназначена ветка Qsync - там сохранена оригинальная шина, и на базе этой ветки можно сделать такой себе ВМ-улятор - плату заменяющую собственно микросхему ВМ1. Только устанавливался бы такой ВМ-улятор в старые платы и был бы ограничен их возможностями, абсолютно ничего нового он не дал бы. И микросхема 1801ВМ1 не является дефицитом. Но задачу "оригинальной растактовки" ВМ-улятор решает.

    Поэтому так - ветка Qsync закончена, можно больше ничего не делать, проект закрыт, реплика готова. А можно пойти дальше - сделать полную систему на ПЛИС, работающую на высокой частоте, но с времянкой реального устройства.

    В ветке Wsync предусмотрен режим эмуляции точной растактовки - работа в "медленном" режиме. Точная растактовка имеет смысл исключительно для повторения времянки реальных устройств, тут есть два фактора - частота ядра до 5МГц и задержки ответа внешних устройств, особенно тут интересна репликация ВП1-037 в случае повторения БК. Поэтому соответственно есть два блока поддержки точного тактирования - внутри процессора и во внешней системе. Имея быстрый Wishbone на 100МГц можно эмулировать времянку медленного Qbus на 5 МГц с неплохой точностью.

    Внутри процессора предусмотрен "дульный компенсатор", ядро работает постоянно на высокой частоте - это делает его простым и "идентичным натуральному" и работает специальный счетчик, считает такты высокой частоты - инкрементируется на 100МГц. В режиме точной растактовки, при запуске транзакции на внешней шине этот счетчик начинает считать такты медленной частоты - декрементируется на 5МГц. По достижению нуля транзакция будет запущена на шине. Внешний блок (например БК) уже эмулирует работу системы, и завершает транзакцию согласно своим представлениям. Тут будет специальный механизм - сама транзакция выполнится на полной скорости, чтобы не нарушать работу системы (нельзя захватиьт шину на 2 мкс и мешать, например, работе видеоконтроллера из разделяемой SDRAM), но процессору будет сообщен момент когда она закончится в реальном времени.

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

    К тому же, в собственно реальных системах с точной растактовкой не все гладко - ВМ1А и ВМ1Г работают в этом плане по-разному, есть отличия, точно я их не искал, но тесты 791401 и 791404 на разных микропрограммах исполняются разное время. Также в процессоре есть индетерминизим - прескайлеры таймера шины и ВЕ-таймера не сбрасываются, после старта имеют произвольные значения, таким образом, оригинальный ВМ1 может работать минимум в 8 разных фазах относительно контроллера динамической памяти. На практике тайм-аут шины происходит редко, поэтому фазы исполнения команд довольно быстро (за несколько циклов максимум) сойдутся к одной, но расфазировка все равно будет вылазить при каждом тайм-ауте.

    Ну и максимально точная растактовка имеет какой-то смысл только для БК. А в ДВК был зоопарк процессоров, плат и частот - не везде даже кварц в генераторе стоял, там ПО не очень требовательно к точности растактовки.

  3. #683

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,224
    Поблагодарили
    876 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Для этого предназначена ветка Qsync - там сохранена оригинальная шина, и на базе этой ветки можно сделать такой себе ВМ-улятор - плату заменяющую собственно микросхему ВМ1. Только устанавливался бы такой ВМ-улятор в старые платы и был бы ограничен их возможностями, абсолютно ничего нового он не дал бы. И микросхема 1801ВМ1 не является дефицитом. Но задачу "оригинальной растактовки" ВМ-улятор решает.
    Сейчас ВМ1 не является дефицитом, но настанет время, когда его перестанут выпускать. Тут и пригодится точный клон на ПЛИС или на КПЛИС(квантовом плис 21 века, который наверняка появится ;-)).

    А исправляются ли ошибки, найденные при разработках в других ветках, в ветке Qsync? Что-то там про таймер вы писали или я не помню уже, какая была ошибка.

  4. #684

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    А исправляются ли ошибки, найденные при разработках в других ветках
    Да. К тому же тактирование моделей Async и Qsync полностью совпадает, на обоих был прогнан тест 791401 и достигнуто полное совпаление осциллограмм на внешних выводах - все сигналы Qbus ставляться и снимаются в той же фазе по тем же ниспадающим и нарастающим фронтам в обоих моделях, и совпадают с реальным процессором (тут я смотрел отдельные транзакции, правда). Сейчас отлаженная модель Wsync (v1.3b) имеет единственное отличие - DATIOx выполняется на 2 такта меньше чем в оригинале, чистые же DATI и DATOx выполняютс ровно столько же. Такое отличие дало ускорение времени теста менее чем на 1 процент.

    В-общем, поисправлял ошибки, добавил в проект заглушку на терминал (в моделсиме можно и вывод увидеть) для генерации прерываний, и успешно прошлись тесты 791401 и 791404 на реальной ПЛИС для ВМ1А/Г.

    Версия 1.3b

    Используемые ресурсы:


    Частотные характеристики:
    Последний раз редактировалось Vslav; 09.06.2015 в 18:46.

  5. #685

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Готов первый вариант давно обещанного адаптера шины МПИ:

    Адаптер шины МПИ для эмулятора ДВК-1

    Теперь C-модели МПИ-устройств можно с минимальными переделками запускать в эмуляторе ДВК.

  6. #686

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Потихоньку изучаю микрокод и пишу документацию, чтобы завершить проект.
    На днях еще попался симпатичный экземпляр ВМ1Г:



    На плате еще невиданные ранее ВП-шки - 026, 028, 031, 038, а также РЕ-шки 072, 074, 076, 0209. ПЗУ, наверное, имеет смысл считать - это недолго, а ковырять матрицы - уже нет.


  7. #687

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,051
    Спасибо Благодарностей отдано 
    1,142
    Спасибо Благодарностей получено 
    1,473
    Поблагодарили
    525 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    ПЛМ по схеме Sum-Of-Products - это представление любой логической функции в канонической дизъюнктивной форме. ПЛМ можно просто рассматрифать как набор некоторых логических функций (можно реализовать ЛЮБУЮ комбинационную от данного числа входных переменных) с фиксированной одинаковой задержкой распространения.

    Насчет почитать - я в свое время наткнулся на тоненькую книжицу "Секционные процессоры и их программирование" (Гришин, Угольков), она меня в 90-ом году потрясла просто, стало ясно как процессоры внутри устроены. В электронном виде я эту книжку не нашел, но копать в сторону этой тематики.
    Вот тут кое-что есть по предмету.
    Цифровые устройства и микропроцессоры, стр.84 "Построение цифровой схемы по произвольной таблице истинности"
    https://books.google.ru/books?id=kEg...page&q&f=false

  8. #688

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,051
    Спасибо Благодарностей отдано 
    1,142
    Спасибо Благодарностей получено 
    1,473
    Поблагодарили
    525 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Vslav, вчера мне удалось с помощью вашей программы mcode вычислить все невалидные операции процессора, просто подав 0x7E в качестве начального адреса и вычисляя выходной сигнал 12.

    Для того чтобы сигнал 12 выдавался правильно, на входе должно быть:
    mr[14] = 0
    mr[13] = 0
    mr[12] = 1
    mr[11:7] -- (флаги) любые
    mr[6:0] -- (адрес) 0x7E
    Последний раз редактировалось nzeemin; 18.08.2015 в 10:32.

  9. #689

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    613
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    176
    Поблагодарили
    136 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пытаюсь заставить мою модель ВМ1 на си проходить тест 791404.
    В основном проблемы возникали из-за того, что эмулятор терминала неправильно выполнял цикл генерации векторного прерывания.
    Но тут возникла непонятная ситуация в тесте 71
    Вот кусок теста
    Код:
    2$:     tstb  tps		;tps = 177564
            bpl   2$		;
            mov   #0, tpb		;tpb = 177566
            bis   #100, tps		;
            clr   status		;
            mtps  status		;
    wate3:  wait			;
    командой bis #100, tps разрешается генерация векторного прерывания терминалом. Но поскольку прерывания разрешены, то сразу возникает прерывание по вектору 064. Путём манипуляций с задержкой выдачи VIRQ удалось достичь того, что прерывание возникает сразу перед выполнением wait. Увеличение задержки ведёт к тому, что предыдущие тесты перестают проходить. Как можно добиться того, чтобы прерывание происходило тогда, когда этого задумали авторы теста?
    Есть ли где-то информация по растактовке работы ВП1-035/ВП1-065 ? Или описание их работы с временными задержками?
    Последний раз редактировалось gid; 19.08.2015 в 15:11.

  10. #690

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,051
    Спасибо Благодарностей отдано 
    1,142
    Спасибо Благодарностей получено 
    1,473
    Поблагодарили
    525 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    vslav, когда будете заниматься ВМ2 -- напомню что есть Техническое описание от Titus'а:
    http://zx-pk.ru/showthread.php?t=17284
    Вот прямая ссылка на архив: http://www.felixl.com/1801VM2SPECS.zip

    В частности, про блок микропрограммного управления (БМУ) там говорится что он тоже построен на ПЛМ:
    дешифратор команд (ДШК) на 50 логических произведений,
    накопитель микрокоманд (НМК) на 200 логических произведений.

    Ну и по микрокомандам там кое-что расписано.
    И там есть конечно некоторые параллели с тем что мы видим в микрокомандах ВМ1.
    Последний раз редактировалось nzeemin; 19.08.2015 в 17:06.

Страница 69 из 273 ПерваяПервая ... 656667686970717273 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 7
    Последнее: 28.06.2014, 17:50
  2. Микросхемы МПК 580,1801,1810 и другие...
    от Alex_Vac в разделе Барахолка (архив)
    Ответов: 44
    Последнее: 07.04.2012, 08:03
  3. ЦИФРОВАЯ МУЗЫКА НА ZX
    от AAA в разделе Музыка
    Ответов: 98
    Последнее: 18.09.2011, 22:33
  4. Учебный стенд УМПК-1801
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 12.05.2010, 16:52
  5. Цифровая музыка от Вадима Ермеева
    от zxmike в разделе Музыка
    Ответов: 2
    Последнее: 06.08.2007, 23:13

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •