User Tag List

Страница 57 из 273 ПерваяПервая ... 535455565758596061 ... ПоследняяПоследняя
Показано с 561 по 570 из 2727

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

  1. #561

    Регистрация
    06.05.2006
    Адрес
    Ливны, Орловская обл
    Сообщений
    1,169
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тут MOV может на сотню тактов растянуться, а он об умножении... =)

  2. #562

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

    По умолчанию

    Цитата Сообщение от NovaStorm Посмотреть сообщение
    Тут MOV может на сотню тактов растянуться, а он об умножении... =)
    Если поставить сверхтормозную память, то и на 1000. Да что там 1000... Миллион)

  3. #563

    Регистрация
    06.05.2006
    Адрес
    Ливны, Орловская обл
    Сообщений
    1,169
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну с нашими РУшками главный тормоз всё равно же именно проц? И это видимо не только из-за кривой архитектуры с диким обменом с памятью. А из-за реализации.

  4. #564

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

    По умолчанию

    Цитата Сообщение от NovaStorm Посмотреть сообщение
    главный тормоз всё равно же именно проц? И это видимо не только из-за кривой архитектуры с диким обменом с памятью. А из-за реализации.
    Да, процессор является главным тормозом, а реализация такая, какую транзисторный бюджет на тот момент позволял. Сейчас потихоньку смотрю LSI-11, есть у меня подозрение что оно еще медленее. И, много знакомого, люди делавшие ВМ1 явно LSI-11 и его устройство и микропрограмму изучали.

  5. #565

    Регистрация
    06.05.2006
    Адрес
    Ливны, Орловская обл
    Сообщений
    1,169
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    а реализация такая, какую транзисторный бюджет на тот момент позволял
    На тот момент уже были 8086 и 68k примерно на тех же технологиях. Да и 8МГц тогда было вполне на уровне. Так что, наверное, не в кремнии дело. Ведь IPC ВМ2 почему-то катастрофически маленький =(

  6. #566

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    В принципе - для встраивания V-модели процессора в любой существующий эмулятор достаточно написать "прокси-адаптер", который будет преобразовывать циклы шины ( и другие сигналы ) на выходах V-модели в запросы API эмулятора.
    Ну, мне в этом плане проще гораздо, нет никакого апи - не нужно ничего
    адаптировать, зато можно нужное апи создать.

    Цитата Сообщение от Patron Посмотреть сообщение
    Мало того, можно использовать V-модель одновременно со старой абстрактной моделью того же процессора и на каждом шаге эмуляции автоматически сравнивать их поведение.
    Вам может и можно, а у меня всё гораздо проще, что вижу - о том и пою, имеющаяся у меня абстрактная модель абсолютно несовместима с V-моделью. Там даже сравнивать нечего, как мокрое с мягким.

    Вот я пытаюсь собрать минимальный инструментарий для запуска сдаточных тестов ВМ1: модель процессора (правильность которой как раз и над проверить), простейшая модель памяти, простейшая модель терминального устройства, и всё это взаимодействует между собой посредством сигналов ОШ МПИ, по диаграммам из соответствующего ГОСТа (без учёта времянок естественно, лишь бы сигналы выставлялись в соответствующем порядке). Как-то тяжко идёт. У меня есть подозрение, что это дело можно сэмулировать как-то проще, но в голову ничего иного не приходит.

  7. #567

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

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    есть подозрение, что это дело можно сэмулировать как-то проще
    Если согласовать интерфейс V-модели процессора 1801ВМ1 ( т.е. полный перечень публичных методов для чтения/записи сигналов на входах и выходах процессора ) - я могу сделать специальный вариант эмулятора ДВК-1 с исходниками отдельного модуля ( в виде проекта Visual C++ 2005 ), создающего объекты с таким интерфейсом. Тогда V-модель можно будет запускать в эмуляторе ДВК.

  8. #568

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    т.е. полный перечень публичных методов для чтения/записи сигналов на входах и выходах процессора
    А их нету, так что подойдут любые.
    Сейчас у меня сделано так: есть структура MPI в которой заданы все гостовские сигналы типа bool, а шина адрес-данные - слово unsigned short int, всё это в инверсном виде, для аутентичности, потому что у Vslav модель процессора тоже получает/выдаёт инверсные данные.
    И есть единственная функция, отрабатывающая один такт устройства:
    Код:
    void tboard::maincycle()
    {
    	m_CPU.eval_p(&m_MPI); //отработаем передний фронт ТЧ
    	m_Memory.eval(&m_MPI);
    	m_IRPS.eval(&m_MPI);
    	OutLog();
    	m_CPU.eval_n(&m_MPI); //отработаем задний фронт ТЧ
    	m_Memory.eval(&m_MPI);
    	m_IRPS.eval(&m_MPI);
    	OutLog();
    	m_nClk++;
    }
    CPU получает сигналы МПИ, отрабатывает полутакт ТЧ, если есть изменения - изменяет данные сигналов структуры МПИ, затем все остальные устройства, сидящие на шине, таким же образом. Всё это теоретически. Практически работоспособность не проверена, т.к. сейчас модель процессора не работает, ищу опечатки, так что даже публиковать исходники смысла нету. Конкретно сейчас - цикл dati не завершается, после съёма внешним устройством RPLY, процессор не хочет снимать SYNC, поэтому дело дальше не идёт.

    Vslav, QSync\vm1_qbus.v, строка 683 - там длинное условие получается такое
    if (pin_dmgi & ... & ~pin_dmgi), т.е. никогда не true, нету ли ошибки?

  9. #569

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

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    if (pin_dmgi & ... & ~pin_dmgi), т.е. никогда не true, нету ли ошибки?
    Да, получается есть ошибка, внесена при переносе на синхронную модель, должно быть так:
    Код:
    if (pin_dmgi & (qbus_nosr_rc | (sync_out & ~qbus_win)) & qbus_req)
    Выходит что генерация SACК привязана к срезу DMGI_IN, а не к уровню, потому что работает дополнительный триггер qbus_req.

  10. #570

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

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    CPU получает сигналы МПИ
    Правильно ли я понимаю, что следующий интерфейс является исчерпывающим для V-модели 1801ВМ1:

    Код:
    	typedef	unsigned short  word;
    
    	struct  MPI_signals_type
    	{
    		bool	SACK;
    		bool	DMGO;
    		bool	DMR;
    		bool	SEL1;
    		bool	SEL2;
    		word	AD;
    		bool	BSY;
    		bool	DCLO;
    		bool	ACLO;
    		bool	IRQ1;
    		bool	IRQ2;
    		bool	IRQ3;
    		bool	INIT;
    		bool	VIRQ;
    		bool	IAKO;
    		bool	DOUT;
    		bool	DIN;
    		bool	RPLY;
    		bool	WTBT;
    		bool	SYNC;
    	};
    
    	class	VM1_MPI_interface {
    	public:
    		virtual void                 Clock()=0;
    		virtual MPI_signals_type &   Link_MPI() 
    		{
    			return MPI_signals;
    		}
    
    	protected:
    		MPI_signals_type             MPI_signals;
    	};
    Последний раз редактировалось Patron; 27.04.2015 в 20:26.

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

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

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

Эту тему просматривают: 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

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

Ваши права

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