User Tag List

Страница 78 из 273 ПерваяПервая ... 747576777879808182 ... ПоследняяПоследняя
Показано с 771 по 780 из 2727

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

  1. #771

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

    По умолчанию

    CPP-модель процессора 1801ВМ1 перестаёт реагировать на тактовую частоту, если хотя бы один раз деактивировать сигнал RPLY между eval_p и eval_n, а как реагируют в такой ситуации родная модель на Verilog и оригинальный процессор ?
    Последний раз редактировалось Patron; 28.10.2015 в 21:44.

  2. #772

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    как реагируют в такой ситуации родная модель на Verilog и оригинальный процессор ?
    "Родную" модель Async (которая на латчах, асинхронная) я проверил:
    - активация RPLY по фронту и по срезу CLK
    - активация RPLY при высоком уровне CLK
    - активация RPLY при низком уровне CLK
    - деактивация RPLY по фронту и по срезу CLK

    - деактивация RPLY при высоком уровне CLK


    - деактивация RPLY при низком уровне CLK


    Во всех случаях заводской тест 401 успешно проходится.
    Для моделей Qsync/Wsync проверка RPLY не имеет смысла (хотя Qsync тоже немного погонял, все нормально работает) - в Qsync RPLY фиксируется по перепадам CLK (ответ и освобождение шины), в Wsync просто банально нет самого RPLY.

    Реальные схемы на ВМ1 обычно используют синхронизацию RPLY по какому-либо из фронтов (стоит триггер), потому что в ВМ1 есть ошибка. На модели эту ошибку воспроизвести не удалось, предполагаю что она имеет физическую природу - или метастабильность или разброс параметров конкретных транзисторов.

    ---------- Post added at 22:12 ---------- Previous post was at 21:47 ----------

    Немножко размышлений про возможную причину неработоспособности реального ВМ1 при несинхронизированном RPLY.

    Фрагмент схемы:


    RPLY_IN - это входной сигнал RPLY c внешнего вывода микросхемы. ~CLK - тактовый сигнал (с вывода микросхемы через буфер). Представим что на RPLY_IN и ~CLK на транзисторах T15949 и T15977 изменения сигналов происходят одновременно. В итоге на затворе T15981 может запомнится некоторое промежуточное значение (RPLY_IN переходит из одного значения в другое) - НЕ соответствующее строго какому-либо логическому уровню. На выходе Т15981 тоже может быть некоторое значение. Несмотря на то, что это значение "некоторое", дальнейшая схема все равно трактует его определенным образом (потому что есть усиление) - причем каждый транзистор может "трактовать" по-разному, в зависимости от порогового напряжения. Но даже, допустим, мы ближе к логическому нулю, и все работает одинаково. На затворе Т15981 происходит утечка (в неизвестную сторону - повышения или понижения заряда - зависит от конкретного экземпляра), и с ненормированного уровня она может произойти достаточно быстро, а не за гарантированые производителем 5мкс (полупериод от паспортных нижних 100 кГц), в итоге значение на выходе T15981 может изменится при низком ~CLK, на что схема логически не рассчитана - это состояние запоминания. Более того, из-за перекрестных помех там даже может возникнуть генерация, а не просто изменение значения.

  3. #773

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

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    На затворе Т15981 происходит утечка (в неизвестную сторону - повышения или понижения заряда - зависит от конкретного экземпляра), и с ненормированного уровня она может произойти достаточно быстро, а не за гарантированые производителем 5мкс (полупериод от паспортных нижних 100 кГц)
    С чем связана такая быстрая утечка на затворах транзисторов того времени? Современные схемы вполне себе статические.

  4. #774

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    С чем связана такая быстрая утечка на затворах транзисторов того времени? Современные схемы вполне себе статические.
    Да, современные схемы банально имеют другую схемотехнику, уже в ВМ2 нет таких "триггеров" на затворах. В еще более современных - вся логика cинхронная, там вообще латчей может не быть - только флип-флопы. Ну и везде быстрый КМОП, тау метастабильности уменьшается на порядки, в новых ПЛИСах Альтера даже не особо педалирует эту тему.

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

  5. #775

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

    По умолчанию

    Во всех версиях CPP-модели имеется ошибка. Публичный вызов публичного метода void SetCpuType( CPU_TYPE nCPUType ) невозможен из-за того, что тип CPU_TYPE является приватным.

    Из-за этого ( например ) вызов: core.SetCpuType( nC_MicrocodeStepping ? C1801VM1::CPU_TYPE::CPU_VM1G : C1801VM1::CPU_TYPE::CPU_VM1A );
    - компилируется с ошибкой.
    Последний раз редактировалось Patron; 01.11.2015 в 15:52.

  6. #776

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

    По умолчанию

    ...

    Испытания CPP-модели процессора 1801ВМ1Г дали любопытный результат - при установленном бите T команда WAIT не реагирует на сигнал ACLO.

    У обычного 1801ВМ1 такой особенности нет.

  7. #777

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    ...
    Испытания CPP-модели процессора 1801ВМ1Г дали любопытный результат - при установленном бите T команда WAIT не реагирует на сигнал ACLO.
    Такова матрица шифратора прерываний у ВМ1Г, установленный psw[4] (бит Т) вообще запрещает прерывание по ACLO, независимо от состояния ожидания. Поскольку прерывание по Т-биту более приоритетно чем по ACLO, то особенность вылазит только по команде WAIT. Я проверил фотографию и кристалл в микроскоп - в матрице есть только единственный транзистор на линии ACLO, то есть это не внесенная ошибка модели, но надо будет проверить на реальном процессоре. Для ВМ1А в матрице шифратора есть отдельная строчка, отвечающая за прерывание по ACLO в состоянии ожидания при установленном T:
    Код:
    assign p[13]   =  plir  & ~psw[10] &  psw[4] & ~qbto &  aclo & ~uerr &  wcpu;
    Поэтому у ВМ1А такой особенности поведения быть не должно.
    Вообще странно, в матрице шифратора остались неиспользуемые линии произведений, прерывание от таймера вполне можно было добавить без изменений поведения других прерываний - ресурсов достаточно.

  8. #778

    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,072
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    81
    Поблагодарили
    65 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  9. #779

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

    По умолчанию

    ...

    CPP-модель процессора 1801ВМ1Г показывает, что реализация в ВМ1 команды MUL имеет интересную особенность - признак нулевого значения устанавливается без учёта 15-го бита результата ( и для 16-разрядного, и для 32-разрядного результата ). Например, если умножить 128 на 256, то результат получится ненулевой, но бит Z в PSW установится.

    Для проверки можно выполнить такой код:

    Код:
    	Mov	#128., R0
    	Mul	#256., R0
    	MFPS	(R0)
    В результате по нулевому адресу запишется значение PSW с установленным битом Z.

  10. #780

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

    По умолчанию

    Материалы ревизии А по процессору КМ1801ВМ2, маска версии "Торчок-4", различные форматы:

    Транзисторная схема pdf (7 МБ)
    Транзисторная схема sch (18 МБ)
    Топология lay6 (12 МБ)
    Топология pcb (9 МБ)
    Топология tif (14 МБ)

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

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

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

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

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

Похожие темы

  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

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

Ваши права

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