Вход

Просмотр полной версии : Чем отличались КА1515ХМ1-031 и 1515ХМ2-001?



Страницы : [1] 2

Titus
20.01.2013, 02:51
Чем отличались КА1515ХМ1-031 и 1515ХМ2-001?

А так же КА1515ХМ1-039 и 1515ХМ2-003?

И вообще, какие еще различные версии ПЛМ встречались в УКНЦ, и чем они различались?

dk_spb
20.01.2013, 02:54
http://fincoins.spb.ru/oldpc/re2/1515.html
Отличий ХМ2 от аналогичных по назначени ХМ1 я не знаю.

Titus
20.01.2013, 03:27
http://fincoins.spb.ru/oldpc/re2/1515.html
Отличий ХМ2 от аналогичных по назначени ХМ1 я не знаю.

Список есть и в википедии, но подробностей обновления прошивки там не указано.

Кстати, еще интересно, как таймер может иметь минимальный шаг 2мкс, если он тактируется частотой 6.25МГц, у которой период 0.16мкс, из которого целочисленно нельзя получить 2мкс (2 / 0.16 = 12.5)?

dk_spb
20.01.2013, 03:30
Список есть и в википедии
Всегда пожалуйста.
Хотя, к слову, 1515ХМ2-002 в википедии нет

Titus
20.01.2013, 03:51
Всегда пожалуйста.
Хотя, к слову, 1515ХМ2-002 в википедии нет

Ну этот список я тоже видел)

Нет ли у кого внутренней схемы того, что прошито в этих ПЛМ? (хотя, скорее всего нет)

Alex_K
20.01.2013, 11:57
Кстати, еще интересно, как таймер может иметь минимальный шаг 2мкс, если он тактируется частотой 6.25МГц, у которой период 0.16мкс, из которого целочисленно нельзя получить 2мкс (2 / 0.16 = 12.5)?
Чип тактируется двумя сигналами F1 и F2, имеющими частоту 6,25 МГц. При этом между передними фронтами этих сигналов разница в 80 нс, если использовать это обстоятельство, то получается уже 12.5 МГц, соответственно на 2мкс нужно 25 фронтов сигналов F1 и F2. Вот как-то так получается.

---------- Post added at 11:57 ---------- Previous post was at 11:04 ----------


Кстати, еще интересно, как таймер может иметь минимальный шаг 2мкс, если он тактируется частотой 6.25МГц, у которой период 0.16мкс, из которого целочисленно нельзя получить 2мкс (2 / 0.16 = 12.5)?


Чип тактируется двумя сигналами F1 и F2, имеющими частоту 6,25 МГц. При этом между передними фронтами этих сигналов разница в 80 нс, если использовать это обстоятельство, то получается уже 12.5 МГц, соответственно на 2мкс нужно 25 фронтов сигналов F1 и F2. Вот как-то так получается.

Ох!!! Извиняюсь, перепутал с видеоконтроллером. А так действительно 1515ХМ1-031 (он же 1515ХМ2-001) тактируется сигналом F3, частотой 6,25 МГц. Только два предположения - либо используется и прямой и обратный фронт тактового сигнала - нужно 25 фронтов, либо в счетчик попеременно грузится, то 12, то 13. В случае попеременной загрузки время будет плавать на 80 нс, но это не будет заметно. Есть более худший вариант - используется либо 12, либо 13, за секунду убежит на 40 миллисекунд.

Patron
20.01.2013, 12:03
либо используется и прямой и обратный фронт тактового сигналаЕдинственное схемотехническое решение по превращению одного П-импульса в два I-импульса - это последовательное включение конденсатора. Так?

Ал-р
20.01.2013, 12:19
Единственное схемотехническое решение по превращению одного П-импульса в два I-импульса - это последовательное включение конденсатора. Так?
Есть известные схемы формирования коротких импульсов по фронту и спаду без конденсаторов - с использованием задержек в логических элементах.

Patron
20.01.2013, 12:37
Есть известные схемы формирования коротких импульсов по фронту и спаду без конденсаторов - с использованием задержек в логических элементах.Точно!

Если пустить исходный сигнал на два входа элемента AND напрямую и через инвертор, то на каждом переднем фронте будут формироваться импульсы, продолжительность которых будет равна задержке инвертора, а добавив параллельно ещё один такой каскад с инвертированным исходным сигналом - можно получать импульсы и для задних фронтов исходного сигнала:


1111000011110000111100001
000011110000111100001111
-------------------------
000000010000000100000001

0000111100001111000011110
111100001111000011110000
-------------------------
000100000001000000010000

-------------------------
000100010001000100010001

Ал-р
20.01.2013, 12:57
Да, это известные схемы ещё из дискретной логики и во всяких формирователях внутри БИС естественно такое используется, ЛЭ там немеряно а кондёры нарушали бы однородность техпроцесса.
- На двух элементах ИсключающееИЛИ (один из них как инвертор-задержка) формируется два коротких импульса из одного "длинного":
001111000011110000111100
111000011110000111100001
001000100010001000100010

Titus
20.01.2013, 13:27
Ох!!! Извиняюсь, перепутал с видеоконтроллером. А так действительно 1515ХМ1-031 (он же 1515ХМ2-001) тактируется сигналом F3, частотой 6,25 МГц. Только два предположения - либо используется и прямой и обратный фронт тактового сигнала - нужно 25 фронтов, либо в счетчик попеременно грузится, то 12, то 13. В случае попеременной загрузки время будет плавать на 80 нс, но это не будет заметно. Есть более худший вариант - используется либо 12, либо 13, за секунду убежит на 40 миллисекунд.

Сложно представить, что кто-то будет специально в чипе городить сложный огород, чередуя 12/13, или же делая задержку (которая зависит от техпроцесса, и может накосячить при переходе на другой БМК). Скорее всего (к чему я склоняюсь пока что) там не 2мкс, а примерно 2мкс.

Alex_K
20.01.2013, 13:37
Сложно представить, что кто-то будет специально в чипе городить сложный огород, чередуя 12/13, или же делая задержку (которая зависит от техпроцесса, и может накосячить при переходе на другой БМК). Скорее всего (к чему я склоняюсь пока что) там не 2мкс, а примерно 2мкс.
Ну это просто проверить. Прерывания с сетевого таймера и программируемого таймера делаются с разных чипов. Так что можно посчитать, сколько за скажем так за 500 тиков сетевого таймера проскочит прерываний программируемого. А там уже исходя из результатов можно сделать выводы. Собственно известно, что сетевой работает чуточку побыстрее.
А задержку на логике сделать не сложно, также как и переключение 12/13. При переключении достаточно при каждом обнулении счетчика менять состояние триггера, а потом это значение триггера использовать в качестве младшего разряда загружаемого счетчика. Но как на самом деле сделано, наверное мы так никогда и не узнаем.

Titus
20.01.2013, 13:43
Но как на самом деле сделано, наверное мы так никогда и не узнаем.
Да легко узнаем, сделать тест и все)

Кстати, очень оказалась полезной инфа от сетевом таймере, что он работает несколько быстрее. Как вы это выяснили?

А на счет таймера - стал смотреть таблицу выходов для генерации звука, и сразу заподозрил неладное - там очень примерно давалось значение выходных частот. Стал вычислять, выяснилось, что оно весьма отличается, и просто округлено в таблице. Так вышел и на тактирование таймера)

Alex_K
20.01.2013, 14:01
Кстати, очень оказалась полезной инфа от сетевом таймере, что он работает несколько быстрее. Как вы это выяснили?


Ну первое - статьи в журнале ПК УКНЦ № 1-95. Там на странице 17 есть рисунок 13, показывающий структуру видеокадра. Там собственно и показывается, что время между кадровыми синхроимпульсами составляет не 20 мс, а 19,97 мс. Подтвердил эту теорию ТВ-тюнер Beholder. В настройках этого ТВ-тюнера есть пункт меню - "Синхронизация кадров", он может принимать значения - "Нормальный трекинг (по умолчанию)", "Быстрый трекинг" и "Свободный трекинг (нет синхронизации)". Так вот при нормальном и быстром трекинге изображение стоит, а при свободном (без синхронизации) плавно плывет вверх по экрану. Время, за которое кадр проходит полный круг, составляет около 12,5 секунд.

Titus
20.01.2013, 14:09
Ну первое - статьи в журнале ПК УКНЦ № 1-95. Там на странице 17 есть рисунок 13, показывающий структуру видеокадра. Там собственно и показывается, что время между кадровыми синхроимпульсами составляет не 20 мс, а 19,97 мс.

Интересно, откуда знали журнальные люди? Ведь внутренних схем не публиковалось? Или это писали разработчики УКНЦ?

Alex_K
20.01.2013, 14:26
Интересно, откуда знали журнальные люди? Ведь внутренних схем не публиковалось? Или это писали разработчики УКНЦ?
В следующем номере журнала ПК УКНЦ №2-95 уже в статье "Устройство вычислителя: руководство по ремонту" на странице 49 уже прямо сказано: "Продолжаем публиковать заводскую ремонтную документацию к персональному компьютеру УКНЦ. В первом выпуске журнала за 1995 г. рассказывалось об устройстве вычислителя и принципах его работы."

Titus
20.01.2013, 14:31
А что это за линия 'Индекс' в канале ПП?

Alex_K
20.01.2013, 14:38
А что это за линия 'Индекс' в канале ПП?
Это сигнал "Индекс" с контроллера дисковода. Используется в УКНЦ с квантовской схемотехникой для подключения к линии внешнее событие программируемого таймера. Соответственно в квантовской схемотехнике можно к внешнему событию подключить либо линию "Индекс", либо сигнал с магнитофона. В СЭМЗ-овском УКНЦ это дело похерили, остался в качестве внешнего события только сигнал с магнитофона.

Titus
20.01.2013, 14:56
И что означает в технической документации подписи под битами RIN, RD и т.д.?

---------- Post added at 14:39 ---------- Previous post was at 14:38 ----------


Это сигнал "Индекс" с контроллера дисковода. Используется в УКНЦ с квантовской схемотехникой для подключения к линии внешнее событие программируемого таймера. Соответственно в квантовской схемотехнике можно к внешнему событию подключить либо линию "Индекс", либо сигнал с магнитофона. В СЭМЗ-овском УКНЦ это дело похерили, остался в качестве внешнего события только сигнал с магнитофона.
Т.е. в СЭМЗ он висит в воздухе или как?
СЭМЗ это схема более поздняя и урезанная?

---------- Post added at 14:45 ---------- Previous post was at 14:39 ----------

'Смена внешнего события' - это смена как с 0 на 1, так и с 1 на 0?

Как сводятся воедино два внешних события 'Индекс' и магнитофон? Перед микросхемой собрана какая-то логическая схема, или же это все внутри смешивается?

---------- Post added at 14:56 ---------- Previous post was at 14:45 ----------

Зачем нужен бит 'ошибка переполнения' таймера?

А, все, понял, это чтобы понять, что счетчик прокрутился по кругу, а мы за это время не успели считать регистр текущего значения.

Alex_K
20.01.2013, 15:16
И что означает в технической документации подписи под битами RIN, RD и т.д.?
Документацию однако читать надо:


ПРИ ОПИСАНИИ ФОРМАТОВ РЕГИСТРОВ ИСПОЛЬЗОВАНЫ СОКРАЩЕНИЯ:

R - ЧТЕНИЕ
W - ЗАПИСЬ
SD - УСТАНОВКА ПО ВКЛЮЧЕНИЮ ПИТАНИЯ
RD - СБРОС ПО ВКЛЮЧЕНИЮ ПИТАНИЯ
RIN - СБРОС ПО ВКЛЮЧЕНИЮ ПИТАНИЯ ИЛИ КОМАНДЕ RESET
SIN - УСТАНОВКА ПО ВКЛЮЧЕНИЮ ПИТАНИЯ ИЛИ КОМАНДЕ RESET.



Т.е. в СЭМЗ он висит в воздухе или как?
СЭМЗ это схема более поздняя и урезанная?
В СЭМЗ сигнал "Индекс" висит в воздухе, никуда не заводится.
Схема СЭМЗ более поздняя и действительно кое в чем урезанная, добавлена только установка скорости стыка С2 программным способом.

'Смена внешнего события' - это смена как с 0 на 1, так и с 1 на 0?
Да, как туда, так и обратно. Так что на квантовском УКНЦ можно с помощью программируемого таймера померять как скорость вращения дискеты в дисководе, так и длину индексного отверстия.

Как сводятся воедино два внешних события 'Индекс' и магнитофон? Перед микросхемой собрана какая-то логическая схема, или же это все внутри смешивается?
В регистре 177716 с помощью бита 3 делается выбор, что подавать на вход "Внешнее событие": 0 - вход с магнитофона, 1 - линия "Индекс" с дисковода. При этом установкой разряда 2 в единицу надо разрешить приход информации на линию "Внешнее событие".

Titus
20.01.2013, 15:28
Документацию однако читать надо
Вспомнил) Читал, но забыл уже)

---------- Post added at 15:27 ---------- Previous post was at 15:25 ----------


В СЭМЗ сигнал "Индекс" висит в воздухе, никуда не заводится.
Схема СЭМЗ более поздняя и действительно кое в чем урезанная, добавлена только установка скорости стыка С2 программным способом.".
Как по плате сходу различить СЭМЗ и Квант?

---------- Post added at 15:28 ---------- Previous post was at 15:27 ----------

И еще на счет скоростей.
Судя по тестам, 16 тактов на команду типа регистр-регистр ПП было как на Квант'е, так и на СЭМЗ. И 20 было и на той, и на той.

Alex_K
20.01.2013, 15:37
Как по плате сходу различить СЭМЗ и Квант?
Уж неоднократно везде говорилось - если все кварцы в одной куче -то это СЭМЗ (http://uknc.narod.ru/Img/imgp2585.jpg), а если раздельно - Квант (http://uknc.narod.ru/Img/img_1452.jpg). Цвет платы значения не имеет.

И еще на счет скоростей.
Судя по тестам, 16 тактов на команду типа регистр-регистр ПП было как на Квант'е, так и на СЭМЗ. И 20 было и на той, и на той.
Скорость выполнения сильно зависит от задержки как сигнала AR, так и RPLY. В Кванте для задержки AR используется один конденсатор между логическими элементами, в СЭМЗ-е - два. Если емкость чуть повыше, то и задержка больше, соответственно ПП более тормознутый.

Titus
20.01.2013, 15:58
Скорость выполнения сильно зависит от задержки как сигнала AR, так и RPLY. В Кванте для задержки AR используется один конденсатор между логическими элементами, в СЭМЗ-е - два. Если емкость чуть повыше, то и задержка больше, соответственно ПП более тормознутый.

А какая схемотехника была более распространена?

И еще, по поводу звука, ведь если человек писал музыйальный плейер для 16 тактового ПП, а потом будет играться на 20 тактовом, то будут искажения. И наоборот.

---------- Post added at 15:55 ---------- Previous post was at 15:50 ----------

У СЭМЗ'а 2 ПЗУ вместо 4?

У меня обе платы КВАНТ. Я рад этому)

---------- Post added at 15:58 ---------- Previous post was at 15:55 ----------

И чего-то на СЭМЗ'е 3 больших ВП'шки, а на Кванте только одна и одна не запаяна. Это почему?

Alex_K
20.01.2013, 16:13
А какая схемотехника была более распространена?
Вот это я не знаю. А так у меня есть более ранняя квантовская. Схемы на нее увы нет.

И еще, по поводу звука, ведь если человек писал музыйальный плейер для 16 тактового ПП, а потом будет играться на 20 тактовом, то будут искажения. И наоборот.
Задержка обычно делалась пустым циклом SOB. Если УКНЦ медленнее, то просто играть будет медленней, человек с музыкальным слухом конечно же заметит это. А еще играли с помощью загрузки разных значений в буферный регистр программируемого таймера, в качестве примера - игра GOBLIN.[/QUOTE]

У СЭМЗ'а 2 ПЗУ вместо 4?
С какого такого перепугу? Естественно те же четыре, та же самая прошивка.

---------- Post added at 16:13 ---------- Previous post was at 16:04 ----------


И чего-то на СЭМЗ'е 3 больших ВП'шки, а на Кванте только одна и одна не запаяна. Это почему?
Не везде запаивался последовательный порт на 1801ВП1-065, там на Кванте рядом с ВП-шкой место под него.
И еще - разъемы ВУ1 и ВУ2 обрамляет серый пластик. Так вот под этим пластиком справа от разъемов на Кванте находится 1801ВП1-055 (тот самый буфер), а на СЭМЗ-е те самые недостающие две микросхемы ПЗУ.

Titus
20.01.2013, 16:17
С какого такого перепугу? Естественно те же четыре, та же самая прошивка.
Я на плате вижу всего 2 ПЗУ в правом ряду, а на Кванте 4.

---------- Post added at 16:15 ---------- Previous post was at 16:13 ----------


Вот это я не знаю. А так у меня есть более ранняя квантовская. Схемы на нее увы нет.
А фотку сделать?

---------- Post added at 16:17 ---------- Previous post was at 16:15 ----------


Задержка обычно делалась пустым циклом SOB. Если УКНЦ медленнее, то просто играть будет медленней, человек с музыкальным слухом конечно же заметит это.

Это, конечно, не дело, что там 16, тут 20.
На более сложной, тем более полифонической музыке выплывет.

Alex_K
20.01.2013, 16:17
Я на плате вижу всего 2 ПЗУ в правом ряду, а на Кванте 4.
Ответ в моем предыдущем посте.

А фотку сделать?
Фото не мои, а с сайта Arseny http://uknc.narod.ru.
У меня самого СЭМЗ-а нету.

Titus
20.01.2013, 16:20
Фото не мои, а с сайта Arseny http://uknc.narod.ru.
У меня самого СЭМЗ-а нету.
Я имел ввиду сделать фотку старой Квантовской платы.

---------- Post added at 16:20 ---------- Previous post was at 16:18 ----------

Интересно, зачем вообще СЭМЗ переразводил плату? Ведь фактически корпусов столько же.

dk_spb
20.01.2013, 16:23
А что, КВАНТ делал только с раздельными кварцами?

Alex_K
20.01.2013, 16:29
Я имел ввиду сделать фотку старой Квантовской платы.
Я уже ее как-то выкладывал (http://zx.pk.ru/showpost.php?p=471819&postcount=185), и даже прогонял тесты.

Интересно, зачем вообще СЭМЗ переразводил плату? Ведь фактически корпусов столько же.
Автором новой схемотехники все-таки я думаю является Квант, но в массовом порядке она производилась на СЭМЗ, потому и назвалась СЭМЗ-овской. У меня кстати оба УКНЦ с Квантовской схемотехникой, но оба сделаны на СЭМЗ.

Titus
20.01.2013, 16:31
Я уже ее как-то выкладывал (http://zx.pk.ru/showpost.php?p=471819&postcount=185), и даже прогонял тесты.
Да, изрядно отличается.

Интересно все же, зачем делали модификации?

Alex_K
20.01.2013, 16:33
А что, КВАНТ делал только с раздельными кварцами?

Собственно я уже написал постом повыше, что автором всех схемотехник является Квант, да и выпускались УКНЦ и на Кванте и на СЭМЗ, как с квантовской схемотехникой, так и с СЭМЗ-овской.
Но собственно СЭМЗ больше выпускал с новой схемотехникой, потому и прозвали СЭМЗ-овской, чтобы как-то отличать их.

hobot
21.01.2013, 06:47
Интересно все же, зачем делали модификации?
Я склоняюсь к мнению Арсения, что вешали то, что было )
И опять-же по информации от ветерана производства оба конвейера выпускали все
модификации, КВАНТОВСКИЙ работал на год или полтора дольше. Как-то так.

Titus
21.01.2013, 21:23
Для любителей интеллектуального юмора - предделитель в таймере на реале НЕ работает) Во всяком случае так, как описано. Пробовал ставить 8мкс и 16мкс, а результат, как у <8мкс (точнее не мерил). Причем, в эмуляторах все честно, как будто период 8 и 16мкс соответственно. А вот на двух реалах пофигу)

Alex_K
21.01.2013, 21:37
Для любителей интеллектуального юмора - предделитель в таймере на реале НЕ работает) Во всяком случае так, как описано. Пробовал ставить 8мкс и 16мкс, а результат, как у <8мкс (точнее не мерил). Причем, в эмуляторах все честно, как будто период 8 и 16мкс соответственно. А вот на двух реалах пофигу)
Да ну!!! А вот в системном ПЗУ драйвер магнитофона использует таймер с тактовой частотой 2 мкс, а драйвер дисковода с тактовой частотой 16 мкс. И ничего, работает.

Titus
21.01.2013, 21:38
Да ну!!! А вот в системном ПЗУ драйвер магнитофона использует таймер с тактовой частотой 2 мкс, а драйвер дисковода с тактовой частотой 16 мкс. И ничего, работает.

Говорю, как есть) Пробовал на двух реалах - на обоих 8 и 16 не так работают)
А на двух эмуляторах так, т.к. по инструкции писаны)

Alex_K
21.01.2013, 21:40
Говорю, как есть) Пробовал на двух реалах - на обоих 8 и 16 не так работают)
А на двух эмуляторах так, т.к. по инструкции писаны)
Текст программы в студию, смотреть будем.

Titus
21.01.2013, 22:18
Текст программы в студию, смотреть будем.
Сперва сам попробую выяснить, потом скажу.

---------- Post added at 22:18 ---------- Previous post was at 21:41 ----------

Все, разобрался.
Это все потому, что забыл сбросить блокировку с регистра текущего значения, и там хранилось другое число. А оба эмулятора написаны неправильно, и тест работал тоже неправильно)

Итак, о скорости таймера - его тактирование... 1.92мкс )
В общем, делитель 12, как я и предполагал, без каких-то лишних ухищерений.

А еще - курсор на реале светится ярким цветом, а экран темным. А на эмуляторах (и в документации) все наоборот)

Alex_K
21.01.2013, 22:22
Все, разобрался.
Это все потому, что забыл сбросить блокировку с регистра текущего значения, и там хранилось другое число. А оба эмулятора написаны неправильно, и тест работал тоже неправильно)
Не знаю как в EmuStudio, а в UKNCBTL действительно неправильно, не исправлялось.

Итак, о скорости таймера - его тактирование... 1.92мкс )
В общем, делитель 12, как я и предполагал, без каких-то лишних ухищерений.
Это точно? Каким способом определялось?

А еще - курсор на реале светится ярким цветом, а экран темным. А на эмуляторах (и в документации) все наоборот)
Да об этом уже говорилось ...дцать раз. Разные версии машин, где-то яркость нормальная, где-то инверсная.

Titus
21.01.2013, 22:25
Это точно? Каким способом определялось?

Да об этом уже говорилось ...дцать раз. Разные версии машин, где-то яркость нормальная, где-то инверсная.

Замером числа тиков между двумя прерываниями сетевого таймера.

Инверсная? Из-за чего она инверсная? Квант, СЭМЗ? Какие причины?
У меня на двух машинах яркий курсор.

Alex_K
21.01.2013, 22:35
Замером числа тиков между двумя прерываниями сетевого таймера.
Надеюсь программируемый таймер запускали синхронно с сетевым, т.е. после тика сетевого запустили программируемый.

Titus
21.01.2013, 22:39
Надеюсь программируемый таймер запускали синхронно с сетевым, т.е. после тика сетевого запустили программируемый.
Разумеется все было как положено)

---------- Post added at 22:39 ---------- Previous post was at 22:37 ----------

На эмуляторах тест дает 2500 тиков таймера, на реале 2600 при шаге 8мкс.
Что соответствует 2мкс и 1.92мкс, соответственно.

Alex_K
21.01.2013, 22:48
Инверсная? Из-за чего она инверсная? Квант, СЭМЗ? Какие причины?
У меня на двух машинах яркий курсор.
Из статьи Р.Худякова "Практика работы с периферийным процессором УКНЦ" в журнале "Информатика и образование" №1-93:

На машинах литеры 5 завода «Квант» из схемы контроллера цветного монитора удалена ИС 155ЛП9, поэтому яркостный бит не оказывает влияния на изображение; на почти половине машин завода «СЭМЗ» ИС 155ЛП9 заменена на ИС 155ЛН2, поэтому в яркостный бит для получения 100 % яркости нужно записать 0, а для 50 % — 1. Все это справедливо только для цветного монитора, на отображение градаций яркости на черно-белом мониторе яркостный бит не влияет.
Отметим также, что в начале 1991 г. изменена схема подключения цветного монитора (поменялись местами выходы красного и зеленого цветов).

Titus
21.01.2013, 22:52
Это плохо, что яркость хаотично перепутана. Сложно получить идентичные цветные картинки, использующие яркость.
Только две мои машины Квант. И у них курсор яркий.

---------- Post added at 22:52 ---------- Previous post was at 22:51 ----------

Что такое 'литера 5'?

Alex_K
21.01.2013, 22:55
На эмуляторах тест дает 2500 тиков таймера, на реале 2600 при шаге 8мкс.
Что соответствует 2мкс и 1.92мкс, соответственно.
Ну все соответствует частоте сетевого таймера 50,08 Гц (период 19968 мкс), ну и программируемый таймер - действительно 1,92 мкс, откуда получается тактовая частота 6,25 МГц при делителе 12.
Кстати, а программа для проверки другими пользователями будет выложена? Мало ли у кого не так пойдет.

Titus
21.01.2013, 22:56
Кстати, а программа для проверки другими пользователями будет выложена? Мало ли у кого не так пойдет.
Думаю, что будет, только она пока сыренькая, как подсохнет)

Alex_K
21.01.2013, 23:04
Что такое 'литера 5'?
Надо на плате найти номер 17.102.246, рядом будет еще цифра, это и есть код литеры, фактически подверсия УКНЦ.
Самая старая УКНЦ у меня с литерой 3, а две других - 7, при этом на одной уже стоят 1515ХМ2-001, 1515ХМ2-003 и 1515ХМ1-136.

dk_spb
21.01.2013, 23:06
Что такое 'литера 5'?
Версия печатной платы. Обозначена на плате как 5 в квадатике.

Titus
21.01.2013, 23:08
Получается, их еще больше, чем старый Квант, Квант и СЭМЗ?

dk_spb
21.01.2013, 23:10
а две других - 7, при этом на одной уже стоят 1515ХМ2-001, 1515ХМ2-003 и 1515ХМ1-136.
7 - это последняя для видимо любимых Вами "кварцы врозь".
Но самый писк это СЭМЗовская плата, на которой черной краской написано 10, а поверх неё белой 11 ;-)

Alex_K
21.01.2013, 23:13
7 - это последняя для видимо любимых Вами "кварцы врозь".
Ну так эта и есть самая навороченная квантовская схемотехника. Правда эти навороты никому оказались не нужны, и уже дальше от них отказались.

Titus
21.01.2013, 23:14
Ну так эта и есть самая навороченная квантовская схемотехника. Правда эти навороты никому оказались не нужны, и уже дальше от них отказались.
Что там навернуто?

Alex_K
21.01.2013, 23:18
Что там навернуто?
Регулировка яркости по каждому каналу RGB в отдельной видеостроке, правда для этого придется строить свою таблицу видеострок из регистров отображения. Использование в качестве внешнего события программируемого таймера, либо вход с магнитофона, либо линия "Индекс" с дисковода. В новой схемотехнике это все убрали, но зато добавили регулировку скорости стыка С2 программным способом.

Titus
21.01.2013, 23:19
Регулировка яркости по каждому каналу RGB в отдельной видеостроке, правда для этого придется строить свою таблицу видеострок из регистров отображения.
Вах! Хочу)
Можно подробнее?

Это другая версия видеоконтроллера там прошита? Или реализовали на внешней обвязке?

Это описано в стандартной инструкции?

dk_spb
21.01.2013, 23:21
Самое интересное это то, что послужило причиной полной переразводки платы. Все упомянутые "навороты" или их отсутствие вряд ли требовали такой работы. Даже если предположить (невероятное) жуткий дефицит 580ГФ, то все-равно непонятно зачем ВСЮ плату переразводить.
Вот бы узнать такие подробности.

Alex_K
21.01.2013, 23:24
Вах! Хочу)
Можно подробнее?

Это другая версия видеоконтроллера там прошита? Или реализовали на внешней обвязке?

Это описано в стандартной инструкции?
Titus, надеюсь все это есть и в Ваших версиях УКНЦ (кстати какая на них литера?). Все описано в документации про регистр отображения. Но это только для того, чтобы демку сделать, стандартные подпрограммы в ПЗУ заточены только для работы со своей таблицей видеострок.

---------- Post added at 23:24 ---------- Previous post was at 23:22 ----------


Самое интересное это то, что послужило причиной полной переразводки платы. Все упомянутые "навороты" или их отсутствие вряд ли требовали такой работы. Даже если предположить (невероятное) жуткий дефицит 580ГФ, то все-равно непонятно зачем ВСЮ плату переразводить.
Вот бы узнать такие подробности.
Мне тоже интересно. Вроде бы и 3-я и 7-я платы состоят из одних деталей (на первый взгляд, подробно не сравнивал), но разводка их абсолютно разная. Вот СЭМЗ-овская схемотехника там немного другая, надо было переразводить.

dk_spb
21.01.2013, 23:27
Alex_K, И что там было настолько другое что переразвели вообще все, включая положение ПЗУшек и ВПшек. Не думаю что это из-за кварцев и прочих мелочей.

Alex_K
21.01.2013, 23:35
Alex_K, И что там было настолько другое что переразвели вообще все, включая положение ПЗУшек и ВПшек. Не думаю что это из-за кварцев и прочих мелочей.
Ну да, 580ГФ24 исчезли, сделали на мелкой логике, также не использовали на полную катушку 1801ВП1-055, все линии задержки также сделали на мелкой логике, у буфера используют только шину адреса-данных. Упрощен выходной каскад видеоконтроллера. Внешнее событие - только магнитофон. Программная регулировка скорости С2 - поставили регистр (D24). Может еще какие мелочи, надо подробно осматривать.

dk_spb
21.01.2013, 23:40
Ну вот и я про тоже: все упрощения явно не причина переразвода. ГФы и изменения С2 - тоже не похоже. Хотя может раньше это было в порядке вещей, когда из-за 5-10% изменения просто переразводили всю плату. Это ведь муторно и багоопасно (снова всякие проводки-перемычки и т.д.)

Titus
21.01.2013, 23:41
Titus, надеюсь все это есть и в Ваших версиях УКНЦ (кстати какая на них литера?). Все описано в документации про регистр отображения. Но это только для того, чтобы демку сделать, стандартные подпрограммы в ПЗУ заточены только для работы со своей таблицей видеострок.
Это надо расскрывать корпус, пока не хочу.

Если как в документации, значит у меня это реализовано в эмуляторе.

А что тогда урезали, относительно документации в тех версиях, где была яркость, но уже не такая как в навороченной плате?

Alex_K
21.01.2013, 23:47
Ну вот и я про тоже: все упрощения явно не причина переразвода. ГФы и изменения С2 - тоже не похоже. Хотя может раньше это было в порядке вещей, когда из-за 5-10% изменения просто переразводили всю плату. Это ведь муторно и багоопасно (снова всякие проводки-перемычки и т.д.)
Интересно, а как делать? Некоторые элементы убирают, другие ставят. При этом другим близлежащие линии может и не нужны, а нужные прямо не протянуть.

---------- Post added at 23:47 ---------- Previous post was at 23:44 ----------


А что тогда урезали, относительно документации в тех версиях, где была яркость, но уже не такая как в навороченной плате?
В седьмой версии только яркость наоборот, да и R с G перепутан, остальное вроде не урезано. Квантовская схемотехника совпадает с документацией.

А так не поленитесь, откройте корпус, посмотрите литеру, да и выходной каскад видеоконтроллера, мало ли там чего не хватает.

Titus
22.01.2013, 00:00
А так не поленитесь, откройте корпус, посмотрите литеру, да и выходной каскад видеоконтроллера, мало ли там чего не хватает.
Я выкладывал фотки турбированной УКНЦ (http://zx.pk.ru/showpost.php?p=471646&postcount=155), только чего-то не вижу на них номера.

---------- Post added at 23:56 ---------- Previous post was at 23:51 ----------


Регулировка яркости по каждому каналу RGB в отдельной видеостроке
Ну, это, проще говоря, палитра на 16 цветов для каждой строчки экрана.

---------- Post added 22.01.2013 at 00:00 ---------- Previous post was 21.01.2013 at 23:56 ----------


В седьмой версии только яркость наоборот, да и R с G перепутан, остальное вроде не урезано. Квантовская схемотехника совпадает с документацией.
Вы что-то говорили о версиях, где яркость целиком на экран задается, если я правильно помню.

Alex_K
22.01.2013, 00:02
Я выкладывал фотки турбированной УКНЦ (http://zx.pk.ru/showpost.php?p=471646&postcount=155), только чего-то не вижу на них номера.
Номер находится на аппендиксе в правом нижнем углу платы, но у Вас его нет, наверное срезан. По виду похожа на 7-ю. Выходной каскад видеоконтроллера полный, ничего не изъято.

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

Titus
22.01.2013, 00:06
В одной строке - 8 цветов, из палитры - тут считать надо, можно красный повышенной яркости, а зеленый нормальной. На выходе все делается аналоговым способом, так что нормальная и повышенная яркость может быть как у повышенной, так и нормальной яркости (во завернул).
Я и говорю - в одной строке 8 цветов из палитры 16.

Alex_K
22.01.2013, 00:07
Вы что-то говорили о версиях, где яркость целиком на экран задается, если я правильно помню.
Не помню такого. Яркость задается в регистре цвета, но на все каналы RGB сразу, и в регистре отображения, отдельно по каждому каналу, но только на эту видеостроку.

---------- Post added at 00:07 ---------- Previous post was at 00:06 ----------


Я и говорю - в одной строке 8 цветов из палитры 16.
Поболее чем 16 получается. Ведь яркость можно задавать для каждого канала в отдельности, получается почти 64.

Но все надо проверять экспериментально.

Titus
22.01.2013, 00:09
Поболее чем 16 получается. Ведь яркость можно задавать для каждого канала в отдельности, получается почти 64.

Но все надо проверять экспериментально.

Тю... какие 64 нафиг? Если в выходном каскаде R, G, B, и Y? Только 16 комбинаций, не более.

Alex_K
22.01.2013, 00:15
Тю... какие 64 нафиг? Если в выходном каскаде R, G, B, и Y? Только 16 комбинаций, не более.
С самого видеоконтроллера поступают семь сигналов - P0, P1, P2 (соответствуют RGB), Y (общая яркость) и PL0, PL1, PL2 (яркости каналов RGB по отдельности). А далее все это замешивается в выходном каскаде. Да собственно часть схемы (http://uknc.narod.ru/Trofimov/uknc125.jpg).

Titus
22.01.2013, 00:44
Пока рассматриваю схему, как вы обьясните такое поведение регистра текущего значения таймера, вернее биение скорости доступа к нему.

Выполняется линейная программа состоящая из всего одной повторяющейся команды:

MOVB (R0),(R1)+

где R0 - это адрес регистра текущего значение таймера, а R1 указатель на память, в которую складываются значения. Используются байтовые значения, чтобы на 4 такта убыстрить запись, т.к. шина 8-битная.

Итак, казалось бы, после выполнения подобной программы в памяти должно быть что-то типа:

5, 5, 5, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, и т.д.

Т.е. биение не более, чем на одну единицу.

Однако в реальности:

4, 4, 3, 2, 1, 1, 0, 34, 34, 34, 32, 31, 31, 30, 29, 28, 28, 27, 26, 26, 26, 24, 23, 23, 22, 21, и т.д.

Как видно биение ОЧЕНЬ большое, от 0 (число 25 выпало, а могло выпасть любое другое), до повторения по 3 раза одного и того же числа.

Процессор работает фиксированно, прерывания запрещены, таймер тоже имеет фиксированную скорость. Остается какая-то непонятная цикличность плаванья доступа к регистру таймера? Есть обьяснение?

---------- Post added at 00:35 ---------- Previous post was at 00:24 ----------


С самого видеоконтроллера поступают семь сигналов - P0, P1, P2 (соответствуют RGB), Y (общая яркость) и PL0, PL1, PL2 (яркости каналов RGB по отдельности). А далее все это замешивается в выходном каскаде. Да собственно часть схемы (http://uknc.narod.ru/Trofimov/uknc125.jpg).

Так это же круто, получается, что мы имеем 2^(3+3+1) = 128 разных цветов! Хотя, учитывая то, что Y устанавливается для всего экрана, то поменьше.
В каком регистре устанавливается общая яркость Y?
Какими будут PL0, PL1 и PL2, если их не устанавливать в таблице строк? 0? 1?

---------- Post added at 00:44 ---------- Previous post was at 00:35 ----------

Почитал еще раз документацию - там все же палитра не более 16 цветов, т.к. там нет раздельного задавания яркости для каждой компоненты. Там YRGB. Тогда не понятно, где устанавливаются PL0, PL1 и PL2?

Titus
22.01.2013, 01:06
Плохо читали :) Y - устанавливается для строки и устанавливает повышенную яркость для всех трех компонент RGB. PL0-2 устанавливают другую повышенную яркость, тоже в пределах строки, но для каждой компоненты раздельно.
Регистр, сестра, регистр? В каком регистре PL0, PL1, PL2?

---------- Post added at 01:06 ---------- Previous post was at 01:01 ----------


http://s018.radikal.ru/i509/1301/d2/b1a84c9bcaf0t.jpg (http://radikal.ru/F/s018.radikal.ru/i509/1301/d2/b1a84c9bcaf0.jpg)
Да по схеме-то все понятно, не понятно, в каком регистре PL0-2.

Titus
22.01.2013, 01:12
Ну ваще!
У меня в фирменной доке эти биты помечены, как неиспользуемые!
Дока от 28.10.1987, завод Квант.

Titus
22.01.2013, 01:25
Осталось дождаться от dr. Titus`a поддержки в эмуляторе и фото с подтверждением этого феномена :) У меня УКНЦ уже с не подключенными PL0-2...
Ну, блин, я даже представить не мог, что это поддерживается) В доке нет, а откуда еще мне придумать.
Не? СЭМЗ?

Titus
22.01.2013, 01:32
Я их путаю, там где три кварца растут пучком :) И можно устанавливать скорость обмена С2
СЭМЗ) Я уже отличаю)

Vamos
22.01.2013, 01:33
У Арсения на сайте есть распознанный номер 1 1993 ИНФО, там статья Худякова с программой переключения палитры, можно скопипастить для теста.

Titus
22.01.2013, 01:39
У Арсения на сайте есть распознанный номер 1 1993 ИНФО, там статья Худякова с программой переключения палитры, можно скопипастить для теста.
Там ни слова о PL0-2, только о 16 базовых цветах.

dk_spb
22.01.2013, 09:47
Интересно, а как делать? Некоторые элементы убирают, другие ставят. При этом другим близлежащие линии может и не нужны, а нужные прямо не протянуть.
Как обычно делают: переразводят только близлежащие элементы.
А уж всю плату переразводят только при большой нужде. Тем более с изменением местоположения, например, ПЗУшек (уж их разводку-то точно не меняли)

Vamos
22.01.2013, 10:18
dk_spb, Вы забываете про рационализаторские предложения за которые денег давали и бумажку(типа грамоты), да ради этого могли и не один раз переразвести :)

dk_spb
22.01.2013, 11:52
Вот мне и интересны детали вопроса. ;-)

Titus
26.01.2013, 22:08
Обнаружил, что не всегда чтение регистра текущего состояния таймера срасывает бит 7 в регистре статуса, а так же разблокирует регистр текущего значения. Однако два чтения подряд в моих экспериментах всегда снимали этот бит и разблокировали регистр.

Alex_K
26.01.2013, 22:18
Обнаружил, что не всегда чтение регистра текущего состояния таймера срасывает бит 7 в регистре статуса, а так же разблокирует регистр текущего значения. Однако два чтения подряд в моих экспериментах всегда снимали этот бит и разблокировали регистр.
Titus, посмотрите внимательно драйвер канала 2 в системном ПЗУ (http://felixl.com/Uknc_ROM_disasm_-_4). Таймер используется в драйверах магнитофона и дисковода. Там этот тонкий момент тоже учитывается. Тут по поводу несброса нужно обратить внимание еще на бит переполнения, может при его установке надо читать два раза.

Titus
26.01.2013, 22:56
Titus, посмотрите внимательно драйвер канала 2 в системном ПЗУ (http://felixl.com/Uknc_ROM_disasm_-_4). Таймер используется в драйверах магнитофона и дисковода. Там этот тонкий момент тоже учитывается. Тут по поводу несброса нужно обратить внимание еще на бит переполнения, может при его установке надо читать два раза.
Нет, бит переполнения сброшен.

Alex_K
26.01.2013, 23:29
Нет, бит переполнения сброшен.
А бит фиксации внешнего события также сброшен?

Titus
26.01.2013, 23:38
А бит фиксации внешнего события также сброшен?
Да, сброшен, хотя о нем я не думал.

---------- Post added at 23:38 ---------- Previous post was at 23:37 ----------

Короче, ситуация такая.
Из регистра читается 132 (бит переполнения установлен и режим 8мкс),
затем идет чтение из регистра текущего значения, и опять читается регистр статуса. В большинстве случаев там оказывается 4 (сбросился бит переполнения), но иногда так и остается 132.

Alex_K
26.01.2013, 23:48
Короче, ситуация такая.
Из регистра читается 132 (бит переполнения установлен и режим 8мкс),
затем идет чтение из регистра текущего значения, и опять читается регистр статуса. В большинстве случаев там оказывается 4 (сбросился бит переполнения), но иногда так и остается 132.
132, как я понимаю, в десятичной системе счисления, в восьмеричной это будет 204. Если так, то бита переполнения не установлено, а установлен бит готовности при обнулении счетчика. К тому же счетчик в режиме "СТОП".
А если в режиме "СТОП" записывается значение в буферный регистр 177712, то оно сразу появляется в регистре текущего значения 177714, или тоже через два чтения?

SKcorp.
26.01.2013, 23:51
У меня в "свежей" партии УК-НЦ 1989 года, ХМ вообще без маркировки, только № "матрицы".

Titus
26.01.2013, 23:57
А если в режиме "СТОП" записывается значение в буферный регистр 177712, то оно сразу появляется в регистре текущего значения 177714, или тоже через два чтения?
Тоже не сразу, но это понять можно, т.к. запись стробируется сигналом с делителя.

Alex_K
27.01.2013, 00:02
Тоже не сразу, но это понять можно, т.к. запись стробируется сигналом с делителя.
Здравая мысль. Может быть это также связано с делителем. Скажем при 2 мкс чтение регистра текущего значения 177714 сразу будет сбрасывать бит готовности. При 16 мкс потребуется время. Кстати можно попробовать так - если после первого чтения не был сброшен бит готовности, то просто не читать регистр текущего значения 177714, а сделать небольшую паузу и заново прочесть регистр управления 177710 и проверить бит готовности.

Titus
27.01.2013, 00:09
Здравая мысль. Может быть это также связано с делителем. Скажем при 2 мкс чтение регистра текущего значения 177714 сразу будет сбрасывать бит готовности. При 16 мкс потребуется время. Кстати можно попробовать так - если после первого чтения не был сброшен бит готовности, то просто не читать регистр текущего значения 177714, а сделать небольшую паузу и заново прочесть регистр управления 177710 и проверить бит готовности.
Я все и пробую при больших значениях - 8 и 16мс (это 48 и 96 тактов, соответственно).
Я пробовал читать и так и эдак. Если чтение его не сбросило, то и после он остается таким же, сколько не читай бит состояния.

Alex_K
27.01.2013, 00:15
Я все и пробую при больших значениях - 8 и 16мс (это 48 и 96 тактов, соответственно).
Я пробовал читать и так и эдак. Если чтение его не сбросило, то и после он остается таким же, сколько не читай бит состояния.
Можно попробовать при 2 и 4 мкс. А так действительно задачка, понять чего этому таймеру надо. Но судя по всему разработчики кода в системном ПЗУ знали об этой особенности и предприняли меры. Интересно, эта особенность есть и в 1515ХМ2-001, или только в 1515ХМ1-031?

Titus
27.01.2013, 01:06
Можно попробовать при 2 и 4 мкс. А так действительно задачка, понять чего этому таймеру надо. Но судя по всему разработчики кода в системном ПЗУ знали об этой особенности и предприняли меры. Интересно, эта особенность есть и в 1515ХМ2-001, или только в 1515ХМ1-031?
Единственную предусмотрительность, которую я у них увидел - это чтение регистра текущего значения, пока в нем не появится то же, что и было записано в буфер. Других предусмотрительностей пока не заметил.

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

Alex_K
27.01.2013, 01:13
Не знаю, для этого нужно запускать тесты на машинах с разными чипами. А для этого их надо еще и найти)
Если у Вас нет, так у других найдутся.

Titus
27.01.2013, 03:05
В общем, выяснил такие вещи. Условия: период предделителя 8мкс.

В режиме счета:

1. Буферный регистр записывается в счетчик только по такту PCLK. Если во время счета сбросить бит 0 регистра состояния и тут же установить, то буферный регистр может вполне не прописаться в счетчик, и счет будет идти своим ходом.

В режиме останова:

2. Информация в буферный регистр может вообще не записаться. Значит запись в буферный регистр идет тоже синхронно с PCLK?

3. При чтении заблокированного регистра текущего значения, он может не разблокироваться, а так же при этом не сняться бит 7 региста состояния. Два чтения подряд всегда (при моих тестах) разблокировали регистр. Тоже синхронно с PCLK?

Отсюда такие соображения. То, что запись из буферного регистра происходит по такту PCLK это нормально для регистров. А вот то, что другие регистры тоже завязаны с PCLK, понятно, но не вполне понятно как. Зачем, скажем, запись в буферный регистр завязана с PCLK, если это отдельный регистр? Так же не понятно, по фронту ли PCLK происходит запись в буферный регистр, и разблокировка регистра текущего значения, или же по уровню? Если по фронту, то, учитывая период PCLK 48 тактов, а время записи в регистр, скажем, 20 тактов, вероятность попадания момента записи на фронт PCLK не более 1/3. Тогда как в большинстве случаев запись в буферный регистр проходит без проблем, и с меньшей вероятностью не проходит. Пока что обьяснить это не могу.

* PCLK - Prescalar Clock

---------- Post added at 03:05 ---------- Previous post was at 02:34 ----------

Попробовал потестировать несброс 7-го бита регистра состояния при 2мкс и при 16мкс. Результат практически один и тот же. 1 раз из 10 (ну это порядок) не сбрасывается. Вот такие непонятки)

Titus
27.01.2013, 14:24
Ну что же идей-то ни у кого нет)

Alex_K
27.01.2013, 15:22
Titus, все же хотелось бы уточнить, что же это за Prescalar Clock. Объясните пожалуйста поподробнее, что Вы под этим подразумеваете.
Теперь по поводу загрузки счетчика: собственно в документации эти моменты прописаны, что счетчик (который не выводится ни на какие регистры) загружается из буферного регистра (177712) в следующих случаях:

в режиме останова таймера;
при обнулении (после формирования требования прерывания);
при фиксации внешнего события (после формирования требования прерывания).

Titus
27.01.2013, 15:36
Titus, все же хотелось бы уточнить, что же это за Prescalar Clock. Объясните пожалуйста поподробнее, что Вы под этим подразумеваете.
Теперь по поводу загрузки счетчика: собственно в документации эти моменты прописаны, что счетчик (который не выводится ни на какие регистры) загружается из буферного регистра (177712) в следующих случаях:

в режиме останова таймера;
при обнулении (после формирования требования прерывания);
при фиксации внешнего события (после формирования требования прерывания).


Предделитель - это предделитель, который тактирует счетчик таймера, и имеет коэффициенты деления 12, 24, 48 и 96 соответственно при 2, 4, 8 и 16мкс цикле.

Все, что в базовой документации я давно прочитал) Этого мало)

Alex_K
27.01.2013, 15:54
Кстати, а при чем тут буферный регистр (177712) и PCLK? Запись в буферный регистр (177712) происходит во время адресного обмена по шине МПИ, соответственно запись происходит по сигналу DOUT.
Вот уже запись в счетчик из буферного регистра (177712) вполне может быть привязана к импульсам с делителя. Поэтому, скажем так, что таймер в режиме СТОП, стоит 16 мкс. Проскочил импульс, прошла 1 мкс, записали в буфер (177712) новое значение, на запись ушло 4 мкс, соответственно через 11 мкс новое значение появится в счетчике.
А узнать, прописалось ли новое значение в буфер, можно только через регистр текущего значения (177714).

Titus
27.01.2013, 16:12
Кстати, а при чем тут буферный регистр (177712) и PCLK? Запись в буферный регистр (177712) происходит во время адресного обмена по шине МПИ, соответственно запись происходит по сигналу DOUT.
Теоретически должно быть так, но на практике оно не всегда прописывается. Естественно, это я проверял по чтению регистра текущего значения, причем многократного чтения.

Alex_K
27.01.2013, 16:16
Теоретически должно быть так, но на практике оно не всегда прописывается. Естественно, это я проверял по чтению регистра текущего значения, причем многократного чтения.
Проделал небольшой опыт в пультовом отладчике ПП. Сперва остановил таймер записью 0 в регистр 177710. Потом записывал в буфер 177712 новое значение и смотрел в 177714. Между 177712 и 177714 ходил стрелками вверх и вниз. Никаких сбоев не было.

Titus
27.01.2013, 16:27
Проделал небольшой опыт в пультовом отладчике ПП. Сперва остановил таймер записью 0 в регистр 177710. Потом записывал в буфер 177712 новое значение и смотрел в 177714. Между 177712 и 177714 ходил стрелками вверх и вниз. Никаких сбоев не было.
А вот у меня получалось.
Правда, эта ситуация выскакивала крайне редко.
Гораздо легче получить неразблокировку регистра текущего значения при его чтении.

---------- Post added at 16:27 ---------- Previous post was at 16:19 ----------

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

Alex_K
27.01.2013, 16:35
А вот у меня получалось.
Правда, эта ситуация выскакивала крайне редко.
Гораздо легче получить неразблокировку регистра текущего значения при его чтении.
Titus, если мало ли тест сырой, то подчистите и выложите, во всяком случае у меня есть УКНЦ и с 1515ХМ1-031 и 1515ХМ2-001.

А незапись, как я понимаю происходила в режиме СТОП?

Titus
27.01.2013, 16:45
Titus, если мало ли тест сырой, то подчистите и выложите, во всяком случае у меня есть УКНЦ и с 1515ХМ1-031 и 1515ХМ2-001.

А незапись, как я понимаю происходила в режиме СТОП?

Да, в режиме останова.

---------- Post added at 16:41 ---------- Previous post was at 16:36 ----------

Последовательность такая:

1) 4 -> регистр состояния (останов, цикл 8мкс)
2) 4095 -> буферный регистр (0xFFF в шестнацатиричном)
(очень редко запись может не пройти, и в регистре останется старое значение)
3) читаем регистр текущего значения
4) читаем много раз регистр состояния
(в регистре состояния в одном и 10 случаев, а то и чаще, так и остается значение 132 (0x84 в шестнацатиричном), что говорит о заблокированном регистре текущего значения. В большинсве же случаев читается 0x04)

---------- Post added at 16:45 ---------- Previous post was at 16:41 ----------

Кстати, о том, что запись в регистры может не пройти, говорит и кусок кода из драйвера дисковода, где:

Loop:
0 -> регистр состояния
число -> буферный регистр
читаем регистр текущего значения, и если <> числу, то цикл на Loop

Что говорит нам о том, что:
1) запись нуля в регистр состояния может не пройти?
2) запись в буферный регистр может не пройти

Alex_K
27.01.2013, 16:50
Последовательность такая:

1) 4 -> регистр состояния (останов, цикл 8мкс)
2) 4095 -> буферный регистр (0xFFF в шестнацатиричном)
(очень редко запись может не пройти, и в регистре останется старое значение)
3) читаем регистр текущего значения
4) читаем много раз регистр состояния
(в регистре состояния в одном и 10 случаев, а то и чаще, так и остается значение 132 (0x84 в шестнацатиричном), что говорит о заблокированном регистре текущего значения. В большинсве же случаев читается 0x04)
После останова таймера надо обязательно прочесть регистр текущего значения (177714), т.к. если в регистре состояния (177710) стоит бит готовности, то естественно после записи в буфер (177712) новое значение и не перепишется в регистр текущего значения (177714), если стоит бит готовности, несмотря на то, что таймер в режиме СТОП. А вот после установки режима СТОП и чтения регистра текущего значения (177714) должны сбросится биты готовности, переполнения, фиксации внешнего события и буфер (177712) должен переписаться в регистр текущего значения (177714) (через счетчик естественно).
Если выразится точнее, то в режиме СТОП и установленном бите готовности буфер (177712) переписывается в счетчик, а вот счетчик перепишется в регистр текущего значения (177714) только после сброса бита готовности.

Titus
27.01.2013, 16:53
Если выразится точнее, то в режиме СТОП и установленном бите готовности буфер (177712) переписывается в счетчик, а вот счетчик перепишется в регистр текущего значения (177714) только после сброса бита готовности.
Это все понятно, и не имеет отношения к глюку.

Содержимое регистров и результат работы таймера я читаю значительно позже, а не сейчас. И по последствиям работы и выявляется вышеописанное мною.

Alex_K
27.01.2013, 16:56
Кстати, о том, что запись в регистры может не пройти, говорит и кусок кода из драйвера дисковода ...
Это есть только в двух местах. В том же драйвере дисковода буфер (177712) грузится новым значением прям посреди процесса без всякой проверки. А вот в драйвере магнитофона когда в режиме СТОП заносится новое значение, то проверяется только регистр текущего значения (177714) и заново новое значение в буфер (177712) не заносится.

Titus
27.01.2013, 17:39
Вот набросок теста, который выявляет некоторые особенности.

На скринах три варианты работы:


Нормальный:
http://i024.radikal.ru/1301/f2/8779009c0ac3.jpg

С несбросившимся регистром текущего значения:
http://s017.radikal.ru/i433/1301/e0/1bdb2bf71edc.jpg

С непрописавшимся буферным регистром:
http://s019.radikal.ru/i626/1301/7b/17ff64c1cb0c.jpg

Хотя, встречалась и такая ситуация:
http://s018.radikal.ru/i513/1301/3c/51c96b07fcef.jpg


Интерес представляют только две нижние строчки дампа, а так же два числа итогового значения таймера, считанные друг за другом.
Изначально, таймер останавливается, в него загружается число 0xFFF, и идет обратный отсчет с приходом сетевого прерывания. Во время следующего прерывания от сетевого таймера, значение регистра текущего значения считывается два раза подряд.

Две строчки дампа представляют из себя фрагмет последовательного чтения регистра состояния в разные моменты времени. Первые 4 числа это чтение до чтения регистра текущего значения, остальные числа - после.

Как видно из второго примера, после чтения регистра текущего значения так и остался установлен бит 7, т.к. во всей строке чисел прописано 132. Так же по итоговым значениям таймера видно, что идет 0 (занчит регистр действительно был заблокирован), а потом уже 1493, что означает, что таймер все же работал правильно.

В третьем примере самый редкий случай. Хотя регистр текущего значения и разблокировался, но в итоге все равно получилось 0, 1523, что означает, что счет начался не с числа 0xFFF, а с числа на 20 больше, которое было до этого в таймере, и осталось, возможно, после работы драйвера дисковода. Так же видно, что при переходе через 0, регистр текущего значения заблокировался.

Alex_K
27.01.2013, 18:22
С учетом 2013 года запустил 13 раз тест TSTMR на УКНЦ с 1515ХМ2-001.
Представляем результаты:

http://kisly-alexey.pisem.net/TSTMR/XM2/130127-174926-609.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/130127-174945-421.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/130127-175000-625.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/130127-175012-437.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/130127-175023-125.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/130127-175033-593.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/130127-175045-375.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/130127-175045-500.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/130127-175124-218.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/130127-175134-421.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/130127-175147-046.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/130127-175158-968.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/130127-175209-812.jpg

Уважаемый Titus ждем ваших комментариев. Так на первый взгляд вроде бы нормально.

Titus
27.01.2013, 18:25
Уважаемый Titus ждем ваших комментариев. Так на первый взгляд вроде бы нормально.
Так все же одинаково)
Я по 100 раз запускал, чтобы добиться отличий)
Как будет в счетчике не 2600, а 4097 или что-то подобное, вот такой скриншот нужен)

BYTEMAN
27.01.2013, 18:38
Titus, если не секрет, что за монитор у тебя?

Titus
27.01.2013, 18:43
Titus, если не секрет, что за монитор у тебя?
Microvitec, а что? )

BYTEMAN
27.01.2013, 18:47
Microvitec, а что? )
картинка хорошая :)

Titus
27.01.2013, 18:49
картинка хорошая :)
Да, мониторы очень хорошие) Мультисинки. Мы их раньше с Амигами использовали и вообще. Черные кубики железные такие.

Alex_K
27.01.2013, 18:57
Я по 100 раз запускал, чтобы добиться отличий)
Как будет в счетчике не 2600, а 4097 или что-то подобное, вот такой скриншот нужен)
Ох, и пришлось же помучиться! Когда запускал с дискеты, то все нормально. Мне это надоело, да и дисковод с дискетой стало жаль, загрузился с IDE Flash-карты, переписал с дискеты тест. Запускаю - все нормально, никаких сбоев. Решил выключить УКНЦ, загрузится сразу с IDE и позапускать без обращения к дисководу. Вот тут-то и понеслось, почти через раз, то нормально, то со сбоем. Прочитал каталог с дискеты - не помогло.
Ну лучше сразу видеть:

http://kisly-alexey.pisem.net/TSTMR/XM2/BUG/130127-183657-984.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/BUG/130127-183715-609.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/BUG/130127-183728-906.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/BUG/130127-183743-171.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/BUG/130127-183758-750.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/BUG/130127-183806-312.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/BUG/130127-183822-843.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/BUG/130127-184028-171.jpg

Ну теперь то, что надо?
Кстати, еще при значении 2600 очень часто переходная пара 0->65535.

Titus
27.01.2013, 19:12
Ну теперь то, что надо?
Кстати, еще при значении 2600 очень часто переходная пара 0->65535.
Да, один из глюков проявился, который третий (самый редкий у меня).

Правда, при работе с жесткого диска, входящие условия разные. Таймер перед тестом остановлен, и переполнения нет, что видно по первому значению 000 в нижних строчках. Далее в таймер заносится новое значение - 0xFFF (которое в данном случае заносится через раз), и таймер переключается в формат 004 (8мкс)

Глюк второго типа тут невозможен, т.к. таймер не был заблокирован на момент начала теста.

Переходная пара может глючить - не обращайте внимания, т.к. на нее распространяются все текущие глюки.

Alex_K
27.01.2013, 19:20
Да, один из глюков проявился, который третий (самый редкий у меня).

Правда, при работе с жесткого диска, входящие условия разные. Таймер перед тестом остановлен, и переполнения нет, что видно по первому значению 000 в нижних строчках. Далее в таймер заносится новое значение - 0xFFF (которое в данном случае заносится через раз), и таймер переключается в формат 004 (8мкс)

Глюк второго типа тут невозможен, т.к. таймер не был заблокирован на момент начала теста.

Переходная пара может глючить - не обращайте внимания, т.к. на нее распространяются все текущие глюки.
Да, таймер действительно остановлен. Получается, что это делает резидент WDR, т.к. нет звука по УПР+G. Попробую еще с дискеты. Может получиться поймать глюк. А так таймер во время неиспользования находится в режиме ПУСК, чтобы был звук при обработке управляющего кода УПР+G. Щелчки при нажатии клавиш будут даже в режиме СТОП.

Titus
27.01.2013, 19:25
Не исключено, что у меня глюкнутая УКНЦ (ну нельзя же это исключать), поэтому повторяемость глюков должна быть в каком-то виде на других компах.

Кстати, таймер, который по УСТ включается/выключается - это что за таймер?

Alex_K
27.01.2013, 19:31
Не исключено, что у меня глюкнутая УКНЦ (ну нельзя же это исключать), поэтому повторяемость глюков должна быть в каком-то виде на других компах.
Ну у меня есть еще пара экземпляров с 1515ХМ1-031, один из них с литерой 3.


Кстати, таймер, который по УСТ включается/выключается - это что за таймер?
Перекрывается сигнал сетевого таймера 50 Гц на ЦП через регистр 177054, бит 9.

Titus
27.01.2013, 19:34
Перекрывается сигнал сетевого таймера 50 Гц на ЦП через регистр 177054, бит 9.
А зачем это может быть нужно?

Alex_K
27.01.2013, 19:53
А зачем это может быть нужно?
На ДВК есть на передней панели тумблер включить/выключить таймер, на УКНЦ этих тумблеров нет, вот и сделали через меню УСТ. А на самом деле иногда надо выключать таймер, например пакет тестов ТМОС требует этого.

---------- Post added at 19:53 ---------- Previous post was at 19:39 ----------

Позапускал с дискеты. Глюки проявляются, но очень-очень редко.
Кратенький отчет:

http://kisly-alexey.pisem.net/TSTMR/XM2/BUG1/130127-192251-546.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/BUG1/130127-192350-093.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/BUG1/130127-193257-031.jpg
http://kisly-alexey.pisem.net/TSTMR/XM2/BUG1/130127-193502-250.jpg

Titus
27.01.2013, 19:55
А нужен этот таймер системе вообще зачем?

---------- Post added at 19:55 ---------- Previous post was at 19:53 ----------


Позапускал с дискеты. Глюки проявляются, но очень-очень редко.

Странно, все тот же третий глюк (который и у меня редко), и не одного глюка второго типа, который у меня гораздо чаще.

Alex_K
27.01.2013, 20:03
А нужен этот таймер системе вообще зачем?
Titus, вы меня удивляете. Для чего он нужен в ПП, думаю объяснять не стоит, сами использовали в своих тестах, также как и в ЦП - для подсчета времени выполнения команд. Таймер с интервалом 19958 мкс, 50 Гц. Вектор прерывания - 0100.

А в RT-11 он используется в первую очередь для часов, а в системах с поддержкой таймера для обработки запросов .CMKT/.MRKT.

Titus
27.01.2013, 20:08
А в RT-11 он используется в первую очередь для часов, а в системах с поддержкой таймера для обработки запросов .CMKT/.MRKT.
А, ну значит для часов) Я-то системы не знаю)

Alex_K
27.01.2013, 20:45
А, ну значит для часов) Я-то системы не знаю)
В RT-11 есть команды DATE и TIME для установки и просмотра текущих даты и времени.

---------- Post added at 20:45 ---------- Previous post was at 20:09 ----------

Теперь небольшая подборка ошибок на УКНЦ с 1515ХМ1-031 литера 3. На этом УКНЦ контроллер IDE не запустился (во втором слоте УКНЦ вообще виснет), поэтому тесты только с дисковода.

http://kisly-alexey.pisem.net/TSTMR/XM1-3/BUG/130127-203153-906.jpg
http://kisly-alexey.pisem.net/TSTMR/XM1-3/BUG/130127-203219-890.jpg
http://kisly-alexey.pisem.net/TSTMR/XM1-3/BUG/130127-203334-203.jpg
http://kisly-alexey.pisem.net/TSTMR/XM1-3/BUG/130127-203405-343.jpg
http://kisly-alexey.pisem.net/TSTMR/XM1-3/BUG/130127-203525-031.jpg
http://kisly-alexey.pisem.net/TSTMR/XM1-3/BUG/130127-203631-390.jpg

Titus
27.01.2013, 21:03
Теперь небольшая подборка ошибок на УКНЦ с 1515ХМ1-031 литера 3. На этом УКНЦ контроллер IDE не запустился (во втором слоте УКНЦ вообще виснет), поэтому тесты только с дисковода.

Вот это как раз полный набор глюков. И даже еще кое-что, чего у меня не было)

Запустите, кстати, на этой машине тест скорости УКНЦ, что там выдаст тест ПП?

Alex_K
27.01.2013, 21:04
Запустите, кстати, на этой машине тест скорости УКНЦ, что там выдаст тест ПП?
Запускал же, даже выкладывал.

Titus
27.01.2013, 21:05
Запускал же, даже выкладывал.
Это та, у которой 16 тактов на команду или 20?

Alex_K
27.01.2013, 21:37
Это та, у которой 16 тактов на команду или 20?
Эта та, которая старая.

---------- Post added at 21:37 ---------- Previous post was at 21:13 ----------

У которой 16 тактов на команду.

Titus
27.01.2013, 21:54
Эта та, которая старая.

---------- Post added at 21:37 ---------- Previous post was at 21:13 ----------

У которой 16 тактов на команду.
Это та самая раритетная Квант?

Alex_K
27.01.2013, 21:57
Это та самая раритетная Квант?
Она самая.

hobot
27.01.2013, 23:35
на УКНЦ с 1515ХМ1-031 литера 3. На этом УКНЦ контроллер IDE не запустился (во втором слоте УКНЦ вообще виснет), поэтому тесты только с дисковода.
Причина? Или для всех [3] это норма или только с конкретной платой проблемы?


Это та самая раритетная Квант?
сколько УК-НЦ наплодилось ) А ведь был ещё тираж - штук 100 машин (одна их них и стояла у меня дома) - не кондиц. причём что там было не кондиц. я не знал (не знаю), БП был 220В, С2 - не было и СА - не было - то есть для предприятий и домаш.использования - стоили 1000р или 1500р в комплект к ним давали без корпуса контроллер для дисководов (без перемычки кстати говоря).
Для сравнения Ереванская БК0010-01 в полном комплекте, новенькая в магазине с гарантией и проч. стоила 650р. Цены Зеленоградские - год точный скажу лишь примерно 89-90 где то так.

Alex_K
27.01.2013, 23:51
Причина? Или для всех [3] это норма или только с конкретной платой проблемы?
А причина в том, что на разъемы ВУ1 и ВУ2 не выведен сигнал CE0, поэтому контроллер IDE думает, что он активирован и занимает область адресов 100000-117777 совместно с системным ПЗУ. Соответственно при чтении из этого диапазона данные складываются по ИЛИ. Проблему можно решить, если кинуть проводок с ПЗУ 1801РЕ2-205 на разъемы ВУ1 и ВУ2.

hobot
27.01.2013, 23:57
Проблему можно решить, если кинуть проводок с ПЗУ 1801РЕ2-205 на разъемы ВУ1 и ВУ2.
Этот рецепт надо что-бы на форуме не затерялся, вдруг у кого-то раритетная плата
всплывёт с контроллером и хардом? ) А ВУ1 и ВУ2 это соответственно два слота? Внеш.Устр.1 и 2 ? (схему смотреть наверное надо?).

Titus
28.01.2013, 01:28
Попробуйте у себя на разных машинах приложенный тестик.

В общем, таймер - это еще тот ахтнуг. Живет свой жизнью по многим параметрам. Даже в голову не могло прийти, что там столько загадок.
Сделал тест скорости доступа к его регистрам вот почему.
Сперва снял 4 дампа по 128 значений счета таймера при 2, 4, 8 и 16 мкс. Значения снимались командой MOVB (R0),(R1)+, где R0 - регистр текущего значения, а R1 - буфер. Потом уже понял, что снимать надо было словным чтением, т.к. байтовая запись в буфер только кажется быстрее, но из-за того, что цикл RMW, она медленее - 68 тактов против 60 (в случае чтения из регистров ПП). Так вот, вычислил, что команда занимает 68 тактов, и стал вычислять, правильно ли таймер работает согласно рассчетам. При 2мкс дамп показал полную идентичность теоретическим рассчетам, за исключением переходного момента с нуля на значение буферного регистра, где иногда лишний раз задерживалось не то число, что однако не сбивало общую скорость счета. Проверка таблицы на 4мкс тоже совпала с рассчетами. А вот 8мкс стала расходиться. Причем явно какое-то плавание таймингов команды MOVB (R0),(R1)+. В связи с этим написал тест скорости чтения регистров таймера при разных условиях. И догадки подтвердились.
Словом, регистр статуса - совершенно нормальный регистр, такой же, как и остальные в поле ПП. А вот регистр текущего значения имеет какие-то собственные тайминги, связанные так же с периодом счета. Вот такой он загадочный.

p.s.: Пока тестировал чтение регистров командой словного чтения (потом перешел к байтовому), чтение из регистра статуса происходило за 56 тактов, а чтение из регистра текущего значения за 60. Но как только компьютер нагрелся, они сравнялись 60/60.

Alex_K
28.01.2013, 01:45
Попробуйте у себя на разных машинах приложенный тестик.
Файл скопировал. Запущу ну уже сегодня вечером, а то ночь на дворе. Соответственно на всех трех экземплярах.

В общем, таймер - это еще тот ахтнуг. Живет свой жизнью по многим параметрам. Даже в голову не могло прийти, что там столько загадок.
Titus, не унывайте, вникните, раскопаете, построите математическую модель, все эмуляторописатели будут пользоваться. Я тоже сейчас подробно изучаю ловушку адреса, так есть кое-что, чего нет в документации. Так что, УДАЧИ!!!

Titus
28.01.2013, 02:01
Гораздо легче раскопать авторов прошивок и пристать к ним с пристрастием)

Alex_K
28.01.2013, 10:05
Гораздо легче раскопать авторов прошивок и пристать к ним с пристрастием)
Вот здесь (http://forum.ixbt.com/topic.cgi?id=64:3394-67) иногда бывает Отрохов (http://www.zelao50.ru/articles/?SECTION_ID=210&IBLOCK_ID=20&SUBSECTION_ID=224&ELEMENT_ID=2052), можете попытаться поприставать.

Titus
28.01.2013, 14:09
Вот здесь (http://forum.ixbt.com/topic.cgi?id=64:3394-67) иногда бывает Отрохов (http://www.zelao50.ru/articles/?SECTION_ID=210&IBLOCK_ID=20&SUBSECTION_ID=224&ELEMENT_ID=2052), можете попытаться поприставать.
Какое участие он принимал в УКНЦ? Вы с ним общались? Что-то рассказывает?

Alex_K
28.01.2013, 14:14
Какое участие он принимал в УКНЦ? Вы с ним общались? Что-то рассказывает?
Я с ним не общался, только читал форум. В разработке УКНЦ судя по всему участия он не принимал, а вот в разработке БИС серии 1801 принимал.

Titus
28.01.2013, 14:17
Я с ним не общался, только читал форум. В разработке УКНЦ судя по всему участия он не принимал, а вот в разработке БИС серии 1801 принимал.
Да чего толку в БИС'е, полная дока по ВМ2 и так есть.
А как узнать фамилии разработчиков самой УКНЦ?

Alex_K
28.01.2013, 14:24
Да чего толку в БИС'е, полная дока по ВМ2 и так есть.
А как узнать фамилии разработчиков самой УКНЦ?
Кроме 1801ВМ2 существуют и 1801ВП1. Через него можно выйти и на других.
А разработчики УКНЦ - в соответствующей статье Википедии: Главный конструктор — А. Е. Абрамов, зам. ГК А. Н. Полосин (http://www.zelao50.ru/articles/index.php?SECTION_ID=210&IBLOCK_ID=20&SUBSECTION_ID=224&ELEMENT_ID=2056), ведущие разработчики: Н. Г. Карпинский, А. И. Половянюк, О. Л. Семичастнов, Б. Г. Бекетов, А. Д. Развязнев, И. О. Лозовой, М. И. Дябин, В. Л. Сафонов, И. Н. Селянко, В. Н. Дронов и др.

Titus
28.01.2013, 14:35
Целый хоровод разработчиков, где их теперь искать.

А можно ли в электронный микроскоп увидеть прошивку БМК? Или же она в таком виде не смотрится?

NovaStorm
28.01.2013, 15:55
Alex_K, интересно, а автор jcuken раскладки известен? =Е

Titus
28.01.2013, 16:01
Alex_K, интересно, а автор jcuken раскладки известен? =Е
Это обычная латинская транскрипция)

NovaStorm
28.01.2013, 16:45
Так вот какой ... её придумал? ФИО, адрес? =)
QWERTY уже чертте сколько лет была, так нет, надо своё придумать!

Titus
28.01.2013, 17:04
Так вот какой ... её придумал? ФИО, адрес? =)
QWERTY уже чертте сколько лет была, так нет, надо своё придумать!
Видимо, считалось, что латинская раскладка для нас не основная, и логичнее латинские буквы разместить по их сходному звучанию с русскими, чтобы человек не запоминал две разные раскладки.

Я, кстати, на PC имею русскую раскладку ЯВЕРТЫ именно по этой же причине)

---------- Post added at 17:04 ---------- Previous post was at 17:03 ----------

Хобот, мои тесты и для тебя тоже.)

hobot
28.01.2013, 18:41
Хобот, мои тесты и для тебя тоже.)
Как в анекдоте да? Про нового мальчика в классе? )
Сожалею, Titus, обязательно прогоню - на всех платах даже при случае, просто в данный момент у меня все УК-НЦшки собранные отложены в сторонку, две ожидают сборки, а почти весь стол занят древним компом от Compaq и ноутом для интернета)
То есть я по этому пока и пропускаю. Машинка с ТВ-тюнером для УК-НЦшек то же сильно не под рукой - занята другими задачами ) (ситуация временная, хорошо что есть эмуляторы!)

Alex_K
28.01.2013, 19:11
Начнем, пожалуй. УКНЦ с 1515ХМ2-001, тест TSSPD. УКНЦ свежевключенная, непрогретая, загрузка с дисковода.
Скриншоты сняты сегодня, 28.01.2013 в 18:18.

http://kisly-alexey.pisem.net/TSSPD/XM2/1/TSSPD_1.jpg
http://kisly-alexey.pisem.net/TSSPD/XM2/1/TSSPD_2.jpg
http://kisly-alexey.pisem.net/TSSPD/XM2/1/TSSPD_3.jpg
http://kisly-alexey.pisem.net/TSSPD/XM2/1/TSSPD_4.jpg
http://kisly-alexey.pisem.net/TSSPD/XM2/1/TSSPD_5.jpg

Собственно почему контроллер дисковода медленнее других внешних регистров? И можно было бы сделать еще сколько тактов занимает чтение из ОЗУ и ПЗУ.

Думаю часик для прогрева хватит?

Titus
28.01.2013, 19:16
Собственно почему контроллер дисковода медленнее других внешних регистров? И можно было бы сделать еще сколько тактов занимает чтение из ОЗУ и ПЗУ.

Думаю часик для прогрева хватит?

У меня тоже контроллер дисковода медленнее. Не знаю, почему, видимо, тоже есть моменты, когда он не сразу отзывается, или не синхронно работает.

Интересно, что у меня характеристики другие от теста.
Сделайте еще на других машинах.

Alex_K
28.01.2013, 19:50
Продолжение. УКНЦ с 1515ХМ2-001, тест TSSPD. УКНЦ прогревалась почти полтора часа.
Скриншоты сняты сегодня, 28.01.2013 в 19:42.

http://kisly-alexey.pisem.net/TSSPD/XM2/2/TSSPD_1.jpg
http://kisly-alexey.pisem.net/TSSPD/XM2/2/TSSPD_2.jpg
http://kisly-alexey.pisem.net/TSSPD/XM2/2/TSSPD_3.jpg
http://kisly-alexey.pisem.net/TSSPD/XM2/2/TSSPD_4.jpg
http://kisly-alexey.pisem.net/TSSPD/XM2/2/TSSPD_5.jpg

Изменений вроде почти никаких.
Переходим к следующему экземпляру.

Titus
28.01.2013, 19:58
Немножко все же уплыло, спишем это на изменение характеристики аналоговой линии задержки, раз там такие (я не смотрел).

Alex_K
28.01.2013, 20:05
Немножко все же уплыло, спишем это на изменение характеристики аналоговой линии задержки, раз там такие (я не смотрел).
А все уплыло, или что-то конкретное, я вроде так на первый взгляд не заметил.

Titus
28.01.2013, 20:06
А все уплыло, или что-то конкретное, я вроде так на первый взгляд не заметил.
На первый взгляд все слегка, но это нормально.

Alex_K
28.01.2013, 20:35
Продолжение. УКНЦ с 1515ХМ1-031 литера 7, тест TSSPD. УКНЦ свежевключенная, непрогретая, загрузка с дисковода.
Скриншоты сняты сегодня, 28.01.2013 в 20:20.

http://kisly-alexey.pisem.net/TSSPD/XM1-7/1/TSSPD_1.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-7/1/TSSPD_2.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-7/1/TSSPD_3.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-7/1/TSSPD_4.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-7/1/TSSPD_5.jpg


Ситуация значительно похуже, чем на УКНЦ с 1515ХМ2-001. Запустил тест еще раз, изменения только в последних двух экранах.

http://kisly-alexey.pisem.net/TSSPD/XM1-7/1/TSSPD_4_1.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-7/1/TSSPD_5_1.jpg

Titus
28.01.2013, 20:45
От моих результатов на аналогичной УКНЦ отличается.
Буду анализировать.

---------- Post added at 20:45 ---------- Previous post was at 20:42 ----------

Я так понял, что первый тест на раритетной Квантовской машине, однако на которой стоит более новый чип 2-001?

Alex_K
28.01.2013, 20:47
Я так понял, что первый тест на раритетной Квантовской машине, однако на которой стоит более новый чип 2-001?
Нет, первая машина - это КВАНТ литеры 7, но уже с 1515ХМ2-001. Раритетная с литерой 3 будет последней.

Titus
28.01.2013, 20:49
Вообще, хорошо бы на второй машине еще несколько раз погонять тест, чтобы понять, действительно ли 72 такта появляется в регистре текущего значения таймера только при включенном счете, или же это совпадение было.

Alex_K
29.01.2013, 00:03
Вообще, хорошо бы на второй машине еще несколько раз погонять тест, чтобы понять, действительно ли 72 такта появляется в регистре текущего значения таймера только при включенном счете, или же это совпадение было.

Позапускал несколько раз, изменения следующие: на третьем экране основной тест регистра 177714 в основном 32 такта, но иногда проскакивает 36 тактов. Далее во время теста таймера 72 такта появляются при чтении регистра 177714 только на 2 мкс и 4мкс, независимо от того запущен таймер или нет.

---------- Post added at 22:16 ---------- Previous post was at 21:00 ----------

Продолжение. УКНЦ с 1515ХМ1-031 литера 7, тест TSSPD. УКНЦ прогрелась.
Скриншоты сняты сегодня, 28.01.2013 в 22:01.

http://kisly-alexey.pisem.net/TSSPD/XM1-7/2/TSSPD_1.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-7/2/TSSPD_2.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-7/2/TSSPD_3.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-7/2/TSSPD_4.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-7/2/TSSPD_5.jpg


И вот здесь наступил очень интересный момент. УКНЦ "подвисла" на вычислении быстродействия чтения с регистра 177714 при запущенном таймере на 8 мкс. Даже курсор не моргал, но при нажатии на клавиши щелчки были. Нажал "СТОП" и "ИСП", продолжение в следующем скриншоте. Подвисания происходили только с дискретным рулоном, с плавным проблем не было.
http://kisly-alexey.pisem.net/TSSPD/XM1-7/2/TSSPD_5_1.jpg

Кстати говоря эта УКНЦ у меня чуть-чуть глючноватая, виснет иногда при операциях с дисководом. Я даже запускаю на контроллере без перемычки, чтобы время шага была большое, а то при времени шага 3 мс очень частые зависоны. На скриншоте виден адрес останова в ЦП, так что Titus наверняка скажет, что же такое произошло.

---------- Post added at 23:17 ---------- Previous post was at 22:16 ----------

Продолжение. УКНЦ с 1515ХМ1-031 литера 3 (та самая раритетная), тест TSSPD. УКНЦ свежевключенная, непрогретая, загрузка с дисковода.
Скриншоты сняты сегодня, 28.01.2013 в 22:48.

http://kisly-alexey.pisem.net/TSSPD/XM1-3/1/TSSPD_1.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-3/1/TSSPD_2.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-3/1/TSSPD_3.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-3/1/TSSPD_4.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-3/1/TSSPD_5.jpg


---------- Post added 29.01.2013 at 00:03 ---------- Previous post was 28.01.2013 at 23:17 ----------

Продолжение. УКНЦ с 1515ХМ1-031 литера 3 (та самая раритетная), тест TSSPD. УКНЦ прогретая.
Скриншоты сняты сегодня, 28.01.2013 в 23:59.

http://kisly-alexey.pisem.net/TSSPD/XM1-3/2/TSSPD_1.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-3/2/TSSPD_2.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-3/2/TSSPD_3.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-3/2/TSSPD_4.jpg
http://kisly-alexey.pisem.net/TSSPD/XM1-3/2/TSSPD_5.jpg

Titus
29.01.2013, 00:27
Будем думать. Надеюсь, еще кто-нить сделает этот тест и предыдущий тест, и не только Хобот)

Alex_K
29.01.2013, 00:29
Будем думать. Надеюсь, еще кто-нить сделает этот тест и предыдущий тест, и не только Хобот)
Titus, ваше мнение по поводу "подвисания".

И по поводу тестов - а сколько среди нас владельцев реальных УКНЦ?

palsw
29.01.2013, 00:29
Titus, я смогу сделать на днях.только у меня нет контроллеров дискет и дисков

Titus
29.01.2013, 00:31
Titus, ваше мнение по поводу "подвисания".

И по поводу тестов - а сколько среди нас владельцев реальных УКНЦ?
По поводу подвисания мыслей нет - это даже не столь важно в данном случае.

Машины есть у многих, просто ленится народ)

---------- Post added at 00:31 ---------- Previous post was at 00:31 ----------


Titus, я смогу сделать на днях.только у меня нет контроллеров дискет и дисков
он не нужен в данных тестах.

Alex_K
29.01.2013, 00:37
По поводу подвисания мыслей нет - это даже не столь важно в данном случае.
Для меня важно. Как я понял по командам в памяти ЦП, программа в ЦП опрашивает ячейку, пока она не станет ненулевой. А ячейку эту записывает программа из ПП. Вот и хотелось бы узнать из-за чего программа в ПП может "подвиснуть".

Titus
29.01.2013, 00:39
Вот и хотелось бы узнать из-за чего программа в ПП может "подвиснуть".
В том-то и дело, что из-за чего угодно. Глюкнула память, глюкнули чипы. Что угодно.

Alex_K
29.01.2013, 00:45
В том-то и дело, что из-за чего угодно. Глюкнула память, глюкнули чипы. Что угодно.
Но когда я нажимаю друг за другом "СТОП" и "ИСП", то все продолжается. В ПП единственно работает п/п обслуживания прерываний клавиатуры, ну и пультовый отладчик выводит надписи на экран. Вот после вывода надписей судя по всему ваша программа и отвисает, ставит флаг в ячейке в памяти ЦП и завершается.

Titus
29.01.2013, 00:51
Но когда я нажимаю друг за другом "СТОП" и "ИСП", то все продолжается. В ПП единственно работает п/п обслуживания прерываний клавиатуры, ну и пультовый отладчик выводит надписи на экран. Вот после вывода надписей судя по всему ваша программа и отвисает, ставит флаг в ячейке в памяти ЦП и завершается.
У меня там ничего особого нет, инициализируются данные, подменяется прерывание сетевого таймера два раза - первый раз для синхронизации, второй для выхода из цикла замера, потом восстанавливается вектор прерывания от таймера, данные записываются через регистры в памятц ЦП и завершается обработчик ПП.

Alex_K
29.01.2013, 00:56
У меня там ничего особого нет, инициализируются данные, подменяется прерывание сетевого таймера два раза - первый раз для синхронизации, второй для выхода из цикла замера, потом восстанавливается вектор прерывания от таймера, данные записываются через регистры в памятц ЦП и завершается обработчик ПП.
Но вот где-то чего-то происходит, хочется узнать из-за чего у меня эта УКНЦ чуточку глючная, кстати она по тестам в ПП самая медленная.

Titus
29.01.2013, 01:00
Но вот где-то чего-то происходит, хочется узнать из-за чего у меня эта УКНЦ чуточку глючная, кстати она по тестам в ПП самая медленная.
Это, как я понял, классическая скорость. У меня такая же - 20 тактов.

Alex_K
29.01.2013, 01:06
Это, как я понял, классическая скорость. У меня такая же - 20 тактов.
Но ведь это на турбированной УКНЦ? Задержки памяти остались же такими же, а такты процессора по времени уменьшились, потому и больше тактов на задержку памяти.

Titus
29.01.2013, 01:19
Но ведь это на турбированной УКНЦ? Задержки памяти остались же такими же, а такты процессора по времени уменьшились, потому и больше тактов на задержку памяти.
Не, не, турбированная у меня дает 16 тактов.
А 20 тактов самая обычная, классическая.
У меня 2 УКНЦ.

hobot
29.01.2013, 01:59
А 20 тактов самая обычная, классическая
номерок на платке какой? или ты уже писал-отвечал?

Titus
29.01.2013, 02:08
номерок на платке какой? или ты уже писал-отвечал?
Не разбирал)

felix
29.01.2013, 06:39
Целый хоровод разработчиков, где их теперь искать.

А можно ли в электронный микроскоп увидеть прошивку БМК? Или же она в таком виде не смотрится?
Она смотрится и в обычный. Думаю к маю дойду до сканирования. Вот только кто по транзисторам будет схему восстанавливать а потом в логические элементы переводить?

Titus
29.01.2013, 09:53
Она смотрится и в обычный. Думаю к маю дойду до сканирования. Вот только кто по транзисторам будет схему восстанавливать а потом в логические элементы переводить?
Думаю, что сперва надо сделать внятную фотку, а энтузиасты найдутся. Ктоме того, не всегда обязательно все восстанавливать досканально. Можно сперва в первом приближении, поняв спорные моменты, а уж если надо то и точнее.

---------- Post added at 09:53 ---------- Previous post was at 09:52 ----------

У нас тут на форуме промелькивал недавно человек тоже делающий фотки. Может отправить ему чипы? Не у кого нет лишних?

hobot
29.01.2013, 12:11
Хобот, мои тесты и для тебя тоже.)
Пожалуйста сделай подборку на пустую DSK болванку актуальных версий своих тестов
(скорость, таймер) с исходниками (которыми готов поделиться), мне что-бы подшить, ну и непосредственно для тестов ) Просто они разбросаны по теме (темам) и затерялись уже, я поглядел у меня исходник TSSPD - тот который С, а вы уже d гоняете во всю? ) Прилепи к ответу образ, лады?

Titus
29.01.2013, 15:53
Пожалуйста сделай подборку на пустую DSK болванку актуальных версий своих тестов
(скорость, таймер) с исходниками (которыми готов поделиться), мне что-бы подшить, ну и непосредственно для тестов ) Просто они разбросаны по теме (темам) и затерялись уже, я поглядел у меня исходник TSSPD - тот который С, а вы уже d гоняете во всю? ) Прилепи к ответу образ, лады?
Ни тот, ни другой не являются финальными, а являются исследовательскими и в подборке быть не должны.

hobot
29.01.2013, 18:15
Ни тот, ни другой не являются финальными, а являются исследовательскими и в подборке быть не должны.
Ладно, но какую мне версию допустим у себя гонять, если самую первую я уже гонял,
если помнишь на двух платах (там скорость меряли), если С прогнать, то какие отличия от d-версии? Я просто уже не уверен какую версию теста ты просишь использовать сейчас-сегодня (условно), d-версии у меня нету ( Ссылку не нашёл,
или проглядел, поэтому и попросил актуальные собрать ближе к свежим обсуждениям.

Titus
29.01.2013, 18:31
Ладно, но какую мне версию допустим у себя гонять, если самую первую я уже гонял,
если помнишь на двух платах (там скорость меряли), если С прогнать, то какие отличия от d-версии? Я просто уже не уверен какую версию теста ты просишь использовать сейчас-сегодня (условно), d-версии у меня нету ( Ссылку не нашёл,
или проглядел, поэтому и попросил актуальные собрать ближе к свежим обсуждениям.
Листай тему вверх, и единственные два теста, которые в ней найдешь - гоняй)

palsw
31.01.2013, 22:18
ALL, Если не трудно оба теста добавить в образ диска :)

Titus
31.01.2013, 22:24
ALL, Если не трудно оба теста добавить в образ диска :)
Кинь еще раз ссылку на диск, а то я его не отслеживаю.

palsw
01.02.2013, 00:12
Titus,

Titus
01.02.2013, 00:19
Диск с тестами:

Первый тест - TSTMR. Желательно запускать несколько раз, пока не заглючит счетчик, и не покажет значение отличное от 1.92мкс.

Второй тест запустить тоже несколько раз, на холодной и на горячей машинке - TSSPD.

palsw
01.02.2013, 00:47
TSTMR

УКНЦ прогретая примерно 1 час

http://i.piccy_.info/i7/67e12fe326208d04b92889c0f88b1466/4-55-1350/53853193/lv01.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-43/i7-4064628/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-43/i7-4064628/720x576-r)
http://i.piccy_.info/i7/4f7211c7f256d163adca7674b5eab5e0/4-55-1350/55073901/lv02.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-43/i7-4064632/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-43/i7-4064632/720x576-r)
http://i.piccy_.info/i7/78d991942cfde8cb4eefddddb0867faa/4-55-1350/56121540/lv03.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-44/i7-4064634/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-44/i7-4064634/720x576-r)
http://i.piccy_.info/i7/4a26c1659c78cdfe60a51dd196f80755/4-55-1351/1053004/lv04.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-47/i7-4064665/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-47/i7-4064665/720x576-r)
http://i.piccy_.info/i7/fbaf36418044784f8674e3893cfa507a/4-55-1350/58984307/lv06.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-45/i7-4064642/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-45/i7-4064642/720x576-r)
http://i.piccy_.info/i7/118748b83738e3fae88fad6c13d62dad/4-55-1350/61507001/lv07.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-46/i7-4064649/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-46/i7-4064649/720x576-r)
http://i.piccy_.info/i7/b0105e276513326265cb2a2ef1f6d7f1/4-55-1350/62794654/lv08.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-46/i7-4064652/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-46/i7-4064652/720x576-r)

Titus
01.02.2013, 00:53
TSTMR

УКНЦ прогретая примерно 1 час
Не обязательно столько экранов, т.к. все данные одинаковые, ввиду того, что результат 1.92мкс. Если б там было другое число, скажем 0.6 и т.д., то такой экран имел бы ценность.

---------- Post added at 00:53 ---------- Previous post was at 00:51 ----------

Результаты тестирования таймингов таймера:




Результаты тестирования таймера УКНЦ:
=======================================


УКНЦ L7t.2-001 (Alex K.)
==========================

Чтение из памяти (8-битная шина):

Мнемоника Тактов Циклы шины Фазы шины Замечания

MOV R0,R0 16 R+R 4 TBus
MOV (R0),R1 36 R+R+R+R 9 TBus
MOV (R0),(R0)+ 60 R+R+R+R+R+R 15 TBus 60..61 такта, 15/16 TBus
MOVB (R0),(R0)+ 68 R+R+R+RMW(?) 17 TBus 68..68.4 такта, 17/18 TBus

Чтение стандартных регистров системных устройств ПП (16-битная шина):

MOV (R0),R1 28 R+R+R 7 TBus

Чтение регистров дисковода (16-битная шина):

MOV (R0),R1 31.88 R+R+R 7/8 TBus 31.88..31.91

Чтение стандартных регистров системных устройств ПП (16-битная шина) в память (8-битная шина):

MOVB (R0),(R0)+ 60 R+R+R+RMW(?) 15 TBus 60..61 такта, 15/16 TBus

Чтение регистра текущего значения таймера при периоде 16мкс (16-битная шина) в память (8-битная шина):

MOVB (R0),(R0)+ 64 R+R+R+RMW(?) 16 TBus

Замечание по тесту:
1) Плавающие такты говорят о том, что конец цикла доступа к памяти расположен на границе двух фаз шины.
Так как длительность цикла задается аналоговым способом, и может плавать на несколько процентов.
2) Доступ к регистрам контроллера дисковода имеет завышенный дробный коэффициенет, что означает одну из двух
причин - либо доступ к регистрам возможен только в определенные фазы работы дисковода, что вызывает биение
и, как результат, дробный коэффициент с чередованием примерно 40 циклов задержанного чтения (8 TBus)
на 1 цикл обычного чтения (7 ТBus). Либо же возможен вариант, когда цикл чтения стандартен (7 TBus), но
изредка затормаживается на на какое-то большое количество тактов.
3) Регистры таймера имеют стандартные временные характеристики, за исключением регистра текущего значения (177714)
и ТОЛЬКО(!) при периоде таймера 16мкс. В данном случае мы имеем лишний цикл TBus для чтения. Ввиду такой точной
градации исключается теория длинновременного биения, как в случае с регистрами дисковода.




УКНЦ L7.1-031 (Alex K.)
==========================

Чтение из памяти (8-битная шина):

Мнемоника Тактов Циклы шины Фазы шины Замечания

MOV R0,R0 20 R+R 5 TBus
MOV (R0),R1 40 R+R+R+R 10 TBus
MOV (R0),(R0)+ 68 R+R+R+R+R+R 17 TBus
MOVB (R0),(R0)+ 76 R+R+R+RMW(?) 19 TBus

Чтение стандартных регистров системных устройств ПП (16-битная шина):

MOV (R0),R1 32 R+R+R 8 TBus

Чтение регистров дисковода (16-битная шина):

MOV (R0),R1 32.16 R+R+R 8/9 TBus 32.16..32.25

Чтение стандартных регистров системных устройств ПП (16-битная шина) в память (8-битная шина):

MOVB (R0),(R0)+ 68 R+R+R+RMW(?) 17 TBus 68..68.90 такта, 17/18 TBus

Чтение регистра текущего значения таймера при периоде 2 и 4 мкс (16-битная шина) в память (8-битная шина):

MOVB (R0),(R0)+ 68/72 R+R+R+RMW(?) 17/18 TBus

Чтение регистра текущего значения таймера при периоде 8 и 16 мкс (16-битная шина) в память (8-битная шина):

MOVB (R0),(R0)+ 68.56 R+R+R+RMW(?) 17/18 TBus

Замечания по тесту:
1) В данном случа различается работа регистра текущего значения таймера в зависимости от его периода:
2мкс - часто 68 тактов, редко 72 такта, и только при ВКЛЮЧЕННОМ(!) таймере.
4мкс - часто 72 такта, редко 68 тактов, и только при ВКЛЮЧЕННОМ(!) таймере.
8 и 16мкс - всегда 68.56 тактов.
Вывод: Для периодов 2 и 4мкс исключается биение циклов, т.к. фазы шины целые. Возможно, связано с изначальным
попаданием в ту или иную фазу работы таймера, и синхронное выполнение в более медленном или быстром
образовавшимся таким образом синхронном цикле.
Для периодов 8 и 16мкс присутствует биение с чередованием примерно 6 циклов стандартных (17 TBus),
и один цикл медленный (18 TBus).



УКНЦ L3t.1-031 (Alex K.)
==========================

Идентично модели УКНЦ L7t.2-001 (Alex K.)

Чтение регистров дисковода (16-битная шина):

MOV (R0),R1 30.95 R+R+R 7/8 TBus 30.95..31.02

Замечания по тесту:
1) Единственное отличие от L7t.2-001 (Alex K.) - это незначительное отличие в таймингах регистра дисковода, что, очевидно
определяется разбросом характеристик времязадающей цепочки на разных машинах.



УКНЦ L?.? (Titus)
===================

Идентично модели УКНЦ L7.1-031 (Alex K.)

Чтение из памяти (8-битная шина):

Мнемоника Тактов Циклы шины Фазы шины Замечания

MOV R0,R0 20 R+R 5 TBus
MOV (R0),R1 40 R+R+R+R 10 TBus
MOV (R0),(R0)+ 64.08 R+R+R+R+R+R 16 TBus 64.08 16/17 TBus
MOVB (R0),(R0)+ 72.09 R+R+R+RMW(?) 18 TBus 72.09 18/19 TBus

Чтение регистров дисковода (16-битная шина):

MOV (R0),R1 32.11 R+R+R 8/9 TBus 32.11..32.19

Чтение стандартных регистров системных устройств ПП (16-битная шина) в память (8-битная шина):

MOVB (R0),(R0)+ 64.15 R+R+R+RMW(?) 16 TBus 64.15..64.52 такта, 16/17 TBus

Чтение регистра текущего значения таймера при периоде 8 и 16 мкс (16-битная шина) в память (8-битная шина):

MOVB (R0),(R0)+ 64.82 R+R+R+RMW(?) 17/18 TBus 64.12..64.82 такта, 16/17 TBus

Чтение стандартных регистров системных устройств ПП (16-битная шина) в память (8-битная шина):

MOV (R0),(R0)+ 52.08 R+R+R+R+R 13 TBus 52.08..52.55 такта, 13/14 TBus

Чтение регистра текущего значения таймера при периоде 2, 4 и 8 мкс (16-битная шина) в память (8-битная шина):

MOV (R0),(R0)+ 56.16 R+R+R+R+R 17/18 TBus 56.16..56.26 такта, 14/15 TBus

Чтение регистра текущего значения таймера при периоде 16 мкс (16-битная шина) в память (8-битная шина):

MOV (R0),(R0)+ 57.58 R+R+R+R+R 17/18 TBus

Замечания по тесту:
1) В связи с несколько иными характеристиками времязадающей цепочки времени доступа к памяти, слегка отличаются
характеристики от L7.1-031 (Alex K.), однако принципиальных различий не выявлено.



УКНЦ L7t.0-031 (palsw)
==========================

Идентично модели L7t.2-001 (Alex K.)

Чтение стандартных регистров системных устройств ПП (16-битная шина) в память (8-битная шина):

MOVB (R0),(R0)+ 60 R+R+R+RMW(?) 15 TBus 60..61 такта, 15/16 TBus

Чтение регистра текущего значения таймера при периоде 8мкс (16-битная шина) в память (8-битная шина):

MOVB (R0),(R0)+ 61.70 R+R+R+RMW(?) 16 TBus 61.70 15/16 TBus

Чтение регистра текущего значения таймера при периоде 16мкс (16-битная шина) в память (8-битная шина):

MOVB (R0),(R0)+ 64 R+R+R+RMW(?) 16 TBus

Замечания: небольшие отличия от модели L7t.2-001 (Alex K.) в связи с разбросом таймингов времязадающей цепочки.




Итоговый результат:
1) По итогам тестов таймингков отличий между 1515ХМ1-031 и 1515ХМ2-001 не выявлено.
2) Регистры контроллера дисковода имеют собственные фазы доступа, отличающиеся от системных регистров ПП.
3) Временные характеристики чтения из регистра состояния таймера зависят от периода таймера.
4) Временные характеристики чтения из регистра состояния таймера не зависят от того, запущен таймер или нет,
что подтверждает теорию о том, что продвижение информации внутри таймера по направлению буферный регистр ->
счетчик -> регистр текущего значения происходит постоянно по такту с предделителя, и работа таймера в режиме
пуск/стоп различается лишь тем, передает ли счетчик по такту предделителя данные со своего входа на выход
с декрементом, или же без него.

Замечание: тест машинки УКНЦ L7.1-031 (Alex K.) выявил различия таймингов в режиме пуск и стоп, что может быть
случайностью и нуждается в перепроверке.

palsw
01.02.2013, 00:55
TSSPD
http://i.piccy_.info/i7/ce8f47b1f5076e0fea8488ce34bf860f/4-55-1351/7305526/lv01.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-50/i7-4064679/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-50/i7-4064679/720x576-r)
http://i.piccy_.info/i7/c1381df28d3e0491d230dafc4467e69d/4-55-1351/7953112/lv02.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-50/i7-4064682/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-50/i7-4064682/720x576-r)
http://i.piccy_.info/i7/b8d523f07230c429e6f6dbab9eea3796/4-55-1351/8071893/lv03.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-50/i7-4064683/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-50/i7-4064683/720x576-r)
http://i.piccy_.info/i7/e79e056d9f1d5ce3133b14c142effa1d/4-55-1351/9340639/lv04.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-51/i7-4064689/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-51/i7-4064689/720x576-r)
http://i.piccy_.info/i7/e79e056d9f1d5ce3133b14c142effa1d/4-55-1351/9340639/lv04.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-51/i7-4064689/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-51/i7-4064689/720x576-r)
http://i.piccy_.info/i7/8ca4fbee56edc5648271b48a1d36a985/4-55-1351/10384885/lv06.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-52/i7-4064693/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-52/i7-4064693/720x576-r)
http://i.piccy_.info/i7/28f716d3551f2274b80838a3c2c74253/4-55-1351/11808029/lv07.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-52/i7-4064698/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-52/i7-4064698/720x576-r)
http://i.piccy_.info/i7/31b80df188a9ae77cd6dfdcb89d3fb36/4-55-1351/12463781/lv08.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-52/i7-4064700/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-52/i7-4064700/720x576-r)
http://i.piccy_.info/i7/31b80df188a9ae77cd6dfdcb89d3fb36/4-55-1351/12463781/lv08.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-52/i7-4064700/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-52/i7-4064700/720x576-r)
http://i.piccy_.info/i7/2e5af299936ffaf84b1882d1fae2ac74/4-55-1351/14788178/lv09.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-53/i7-4064707/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-53/i7-4064707/720x576-r)
http://i.piccy_.info/i7/df91dfc2701847d00b65a4e04f0f95d7/4-55-1351/14894916/lv10.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-53/i7-4064708/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-53/i7-4064708/720x576-r)
http://i.piccy_.info/i7/0517b6f64a7c53694f3a8ab81d62eb9d/4-55-1351/16331408/lv11.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-53/i7-4064713/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-53/i7-4064713/720x576-r)
http://i.piccy_.info/i7/1fb03022e3c43c870c60a37cd68b9136/4-55-1351/16454948/lv12.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-53/i7-4064714/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-53/i7-4064714/720x576-r)
http://i.piccy_.info/i7/1f726d54c0b1682e22219943a3ce53e6/4-55-1351/16801976/lv13.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-54/i7-4064717/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-54/i7-4064717/720x576-r)
http://i.piccy_.info/i7/649fc970b130d25a32a546b9663e45af/4-55-1351/17850599/lv14.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-54/i7-4064720/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-54/i7-4064720/720x576-r)
http://i.piccy_.info/i7/f164dd1b76cb143fbe9c64561b1f77c3/4-55-1351/18817267/lv15.jpg (http://piccy_.info/)http://i.piccy_.info/a3/2013-01-31-20-54/i7-4064724/720x576-r/i.gif (http://i.piccy_.info/a3c/2013-01-31-20-54/i7-4064724/720x576-r)

Titus
01.02.2013, 00:57
Какая литера на плате и какая микросхема?

palsw
01.02.2013, 01:03
Titus, http://piccy_.info/view3/4024745/98c7b562bad6513e324d37241d82d4f6/orig/

Alex_K
01.02.2013, 01:04
Titus, а ПП и дисковод тактируются по разному. Классически на ПП идет 6,25 МГц, как и на память, и на контроллер ОЗУ ПП, на программируемый таймер. А вот на разъемы ВУ1 и ВУ2 поступает всего лишь 4 МГц. Так что небольшая разница, но есть. Поэтому ответ от контроллера дисковода не привязан к тактовой частоте ПП, отсюда и такое плавание.

palsw
01.02.2013, 01:04
031 ктороя на клаву - была паянная и возможно уже не родная.

на 3х других есть надпись 128 ,а на этой нету

Titus
01.02.2013, 01:14
031 ктороя на клаву - была паянная и возможно уже не родная.

на 3х других есть надпись 128 ,а на этой нету
Добавил результат в отчет.

---------- Post added at 01:07 ---------- Previous post was at 01:07 ----------


Titus, а ПП и дисковод тактируются по разному. Классически на ПП идет 6,25 МГц, как и на память, и на контроллер ОЗУ ПП, на программируемый таймер. А вот на разъемы ВУ1 и ВУ2 поступает всего лишь 4 МГц. Так что небольшая разница, но есть. Поэтому ответ от контроллера дисковода не привязан к тактовой частоте ПП, отсюда и такое плавание.
Тогда все понятно и сходится.

---------- Post added at 01:13 ---------- Previous post was at 01:07 ----------

Надо бы повторно запустить тест на УКНЦ L7.1-031 (Alex K.), чтобы удостовериться, что 72 такта появляется не только при включенном счете, но и при выключенном. Если такого не окажется, то передумывать теорию)

---------- Post added at 01:14 ---------- Previous post was at 01:13 ----------

Буковка t после литеры обозначает, что машинка Turbo, т.е. 16 тактов на базовую команду ПП, а не 20.

Titus
01.02.2013, 21:32
Добавил в TSTMR (тест таймера) новый тест, позволяющий вычислить сколько раз запись в буферный регистр прошла неудачно, запускаю на реале и... 1000 из 1000 удачных записей. Я и так, его и эдак, все равно все окейно.
Стал разбираться, почему в предыдущей версии теста были неудачные записи в буферный регистр и выяснил, что... забыл запретить прерывания)
А стало быть, как минимум фигачили прерывания от сетевого таймера.
Интересно, могли они повлиять на регистры программируемого?

Alex_K
01.02.2013, 21:40
Стал разбираться, почему в предыдущей версии теста были неудачные записи в буферный регистр и выяснил, что... забыл запретить прерывания)
А стало быть, как минимум фигачили прерывания от сетевого таймера.
Интересно, могли они повлиять на регистры программируемого?
А каким $$$$ они связаны, все находится в разных БМК и никакой связи между собой не имеет.

Titus
01.02.2013, 21:43
А каким $$$$ они связаны, все находится в разных БМК и никакой связи между собой не имеет.

Системно. Может какой-то обработчик прерываний сетевого таймера в ПЗУ что-то делает с таймером. Ну вдруг.

Alex_K
01.02.2013, 21:52
Системно. Может какой-то обработчик прерываний сетевого таймера в ПЗУ что-то делает с таймером. Ну вдруг.
Классическая п/п обработки прерывания сетевого таймера в ПЗУ ничего не делает с программируемым. Единственно за время обработки прерывания сетевого таймера может произойти переполнение программируемого.

Titus
01.02.2013, 21:56
Классическая п/п обработки прерывания сетевого таймера в ПЗУ ничего не делает с программируемым. Единственно за время обработки прерывания сетевого таймера может произойти переполнение программируемого.
Это да, оно явно и происходило, в связи с чем иногда получалось, что как будто не записалось нужное число в буферный регистр.
Ну что же, это все упрощает.

Может быть и ситуация с тем, что регистр текущего значения не разблокировался иногда тоже с этим связана? Хотя сложно представить как.

Alex_K
01.02.2013, 22:01
Может быть и ситуация с тем, что регистр текущего значения не разблокировался иногда тоже с этим связана? Хотя сложно представить как.
Если таймер в режиме СТОП то при записи в буфер через некоторое время информация должна появится в регистре текущего значения. В режиме СТОП кстати бит готовности не устанавливается, даже если в буфер пишется ноль.

Таким образом, если остановили таймер, но в регистре статуса стоял бит готовности, то при записи в буфер сперва из регистра текущего значения прочтется ноль, в регистре статуса сбросится бит готовности, а при втором чтении уже прочтется новое значение.

Titus
01.02.2013, 22:07
Если таймер в режиме СТОП то при записи в буфер через некоторое время информация должна появится в регистре текущего значения. В режиме СТОП кстати бит готовности не устанавливается, даже если в буфер пишется ноль.

Таким образом, если остановили таймер, но в регистре статуса стоял бит готовности, то при записи в буфер сперва из регистра текущего значения прочтется ноль, в регистре статуса сбросится бит готовности, а при втором чтении уже прочтется новое значение.

Это потому, что бит готовности устанавливается при переходе счетчика из 1 в 0.

Я останавливаю таймер, записываю новое значение, затем, читаю регистр текущего значения, чтобы сбросить бит готовности, но он сбрасывается не всегда, как показал тест. Правда, тест был с включенными прерываниями.

Alex_K
01.02.2013, 22:09
Это потому, что бит готовности устанавливается при переходе счетчика из 1 в 0.

Я останавливаю таймер, записываю новое значение, затем, читаю регистр текущего значения, чтобы сбросить бит готовности, но он сбрасывается не всегда, как показал тест. Правда, тест был с включенными прерываниями.
А как тут может повлиять прерывание сетевого таймера? Пока не вижу взаимосвязи.

Titus
01.02.2013, 22:11
А как тут может повлиять прерывание сетевого таймера? Пока не вижу взаимосвязи.
Вот и я не вижу. Значит этот глюк надо тестировать.

Alex_K
01.02.2013, 22:17
Вот и я не вижу. Значит этот глюк надо тестировать.

Значит надо взять программу с глюками и сначала с помощью BIS #400,@#177054 запретить сетевой таймер в канале ПП, после теста разрешить с помощью BIC #400,@#177054.

Titus
01.02.2013, 22:27
Значит надо взять программу с глюками и сначала с помощью BIS #400,@#177054 запретить сетевой таймер в канале ПП, после теста разрешить с помощью BIC #400,@#177054.
Логично) Я примерно так и сделал, только запретил все прерывания)

Alex_K
01.02.2013, 22:33
Логично) Я примерно так и сделал, только запретил все прерывания)
Ну можно по моему методу, все остальные прерывания будут разрешены.

Titus
02.02.2013, 01:09
Нашел очень интересный глюк.
Если запустить такую конструкцию при остановленном таймере:

1) Записываем в буферный регистр число
2) Если содержимое регистра текущего значения не равно числу, то идти на пункт 1

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

Зависает как при 16мкс, так и при 2мкс. Другие значения в отдельности не проверял.

Привожу тест с этим глюком. Если при запуске он повиснет, значит зависла данная конструкция. Проверять только на реале.

p.s.: Глюк выяснен. Исходя из ниже приведенной информации, если цикл чтения синхронен с периодом таймера, и момент чтения попал на фронт PCLK, то цикл будет вечным, т.к. регистр текущего значения никогда не разблокируется, и все время будет содержать ноль.

Titus
02.02.2013, 03:04
Итак, обновленный тест показал следующие результаты:

1) Работа таймера в режиме счета/останова отличается лишь тем, что в режиме счета по фронту PCLK декрементируется счетчик таймера, а в режиме останова сохраняет свое значение.
2) Значение из счетчика в регистр текущего значения переписывается по отрицательному фронту PCLK, таким образом, в режиме счета невозможно получить на выходе число, загруженное в буферный регистр, т.к. по переднему фронту PCLK оно декрементируется, а по заднему уже уменьшенное на единицу запишется в регистр текущего значения.
3) Флаг нуля счетчика формируется по отрицательному фронту PCLK, если в РЕГИСТРЕ ТЕКУЩЕГО ЗНАЧЕНИЯ, а не в счетчике содержится ноль, не зависимо от режима пуск/стоп. Таким образом можно получить счет от нуля до нуля без переполнения, т.к. пройдя счетчик мы сразу получим значение 0xFFF.
4) Если в регистре текущего значения в режиме останова находится число 0, то он будет блокироваться вновь и вновь по фронту PCLK, независимо от содержимого счетчика. Таким образом, чтение регистра текущего значения совпавшее с очередным фронтом PCLK, мешает разблокировке регистра текущего значения, с вероятностью тем большей, чем меньше период PCLK.
5) Содержимое буферного регистра записывается в счетчик по фронту PCLK в следующих случаях:
а) Переход флага нуля 0->1
б) Ноль в 0-м бите регистра состояния
в) Новый фронт по линии внешнего события
Из-за того, что буферный регистр записывается в счетчик только по фронту PCLK, кратковременная установка нуля в 0-м бите регистра состояния, попавшая между двумя фронтами PCLK (а это до 96 тактов ПП), не окажет воздействия.



http://s45.radikal.ru/i109/1302/df/e94f4db27926.jpg

Alex_K
02.02.2013, 10:56
Итак, обновленный тест показал следующие результаты:
Итак, начнем критический анализ:

1) Работа таймера в режиме счета/останова отличается лишь тем, что в режиме счета по фронту PCLK декрементируется счетчик таймера, а в режиме останова сохраняет свое значение.
Интересный момент. Насколько я знаю, в режиме останова содержимое буферного регистра переписывается в счетчик. Да, в режиме СТОП счетчик не декрементируется, но и не сохраняет то значение, при котором его остановили. Узнать, что находится в счетчике в данный момент невозможно, он не выводится ни на какие регистры.

2) Значение из счетчика в регистр текущего значения переписывается по отрицательному фронту PCLK, таким образом, в режиме счета невозможно получить на выходе число, загруженное в буферный регистр, т.к. по переднему фронту PCLK оно декрементируется, а по заднему уже уменьшенное на единицу запишется в регистр текущего значения.
Такое возможно наверное получить, если в режиме ПУСК динамически менять содержимое буферного регистра, и с довольно большой скорость прочитывать содержимое регистра текущего значения. Но нужны доказательства на экран.

3) Флаг нуля счетчика формируется по отрицательному фронту PCLK, если в РЕГИСТРЕ ТЕКУЩЕГО ЗНАЧЕНИЯ, а не в счетчике содержится ноль, не зависимо от режима пуск/стоп. Таким образом можно получить счет от нуля до нуля без переполнения, т.к. пройдя счетчик мы сразу получим значение 0xFFF.
Флаг нуля формируется в режиме СТОП? Интересно, интересно. Да, если остановили таймер, а в регистре текущего значения был ноль до этого, то флаг нуля стоит, но если прочесть регистр текущего значения, то флаг сбросится и уже любое значение, загружаемое в буфер через некоторое время появляется в регистре текущего значения (надо проверить), но флага нуля уже в режиме СТОП установлено не будет. Если в буфер загрузить ноль, то де-факто будет, как-будто это загружено 010000(0x1000), об этом может где-то и писалось.

4) Если в регистре текущего значения в режиме останова находится число 0, то он будет блокироваться вновь и вновь по фронту PCLK, независимо от содержимого счетчика. Таким образом, чтение регистра текущего значения совпавшее с очередным фронтом PCLK, мешает разблокировке регистра текущего значения, с вероятностью тем большей, чем меньше период PCLK.
Т.е. остановили таймер, прочитываем регистр текущего значения бесконечное число раз, а регистре управления бит нуля так и будет стоять? Чего-то не верится.

5) Содержимое буферного регистра записывается в счетчик по фронту PCLK в следующих случаях:
а) Переход флага нуля 0->1
б) Ноль в 0-м бите регистра состояния
в) Новый фронт по линии внешнего события
Ну вот здесь вроде совпали с документацией.

Из-за того, что буферный регистр записывается в счетчик только по фронту PCLK, кратковременная установка нуля в 0-м бите регистра состояния, попавшая между двумя фронтами PCLK (а это до 96 тактов ПП), не окажет воздействия.
Т.е. такой код не окажет воздействия на таймер, особенно чем ближе к 16 мкс?


MOV #1,R0
MOV #177710,R1
BIC R0,@R1
BIS R0,@R1

Titus
02.02.2013, 12:22
Интересный момент. Насколько я знаю, в режиме останова содержимое буферного регистра переписывается в счетчик. Да, в режиме СТОП счетчик не декрементируется, но и не сохраняет то значение, при котором его остановили. Узнать, что находится в счетчике в данный момент невозможно, он не выводится ни на какие регистры.
Сохраняет свое значение, каждый такт загружаемое по PCLK из буферного регистра, так будет точнее сказать.


Такое возможно наверное получить, если в режиме ПУСК динамически менять содержимое буферного регистра, и с довольно большой скорость прочитывать содержимое регистра текущего значения. Но нужны доказательства на экран.
Зачем такие сложности? Достаточно рассмотреть переходный дамп, который всегда гласит 0->98, при том, что в буферном регистре 99.


Флаг нуля формируется в режиме СТОП? Интересно, интересно.
Да, формируется, см. пункт 3 и 4.

Т.е. остановили таймер, прочитываем регистр текущего значения бесконечное число раз, а регистре управления бит нуля так и будет стоять? Чего-то не верится.
Бесконечное число раз, если только цикл чтения точно совпал по фазе с периодом таймера, а так же попал изначально в нужный такт. О чем написано постом выше в вопросе о глюках. А так - читайте пункт 3 и смотрите тесты вероятностей, которые статистически так же подтверждают эту теорию.


Т.е. такой код не окажет воздействия на таймер, особенно чем ближе к 16 мкс?


MOV #1,R0
MOV #177710,R1
BIC R0,@R1
BIS R0,@R1

Это очень медленный код.
Лучше так:


MOV #1,R0
MOV #177710,R1
MOV R0,(R1)
CLR (R1)

Да, я это проверял, хотя в тест пока что это не вошло.

Alex_K
02.02.2013, 12:39
Сохраняет свое значение, каждый такт загружаемое по PCLK из буферного регистра, так будет точнее сказать.
Но при этом Вы сами пишете, что:

5) Содержимое буферного регистра записывается в счетчик по фронту PCLK в следующих случаях:
б) Ноль в 0-м бите регистра состояния

Как-то не сходится.

Да, формируется, см. пункт 3 и 4.
Ну не смог я увидеть в режиме СТОП и при загруженном в буфер нуле установленного бита нуля в регистре состояния.

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

Ну а теперь результаты моих тестов на УКНЦ литеры 7 с 1515ХМ2-001:

http://kisly-alexey.pisem.net/TSTMR2/XM2/TSTMR1.jpg
http://kisly-alexey.pisem.net/TSTMR2/XM2/TSTMR2.jpg

Запускал как с дисковода, так и с IDE-Flash, результат в принципе один и тот же. Уже и прогрелась, и включал/выключал, но неснятия бита готовности не наблюдалось. Или тоже надо как минимум пятьсот раз запускать?

---------- Post added at 12:39 ---------- Previous post was at 12:36 ----------


Это очень медленный код.
Лучше так:


MOV #1,R0
MOV #177710,R1
MOVB R0,(R1)
CLRB (R1)


Этот код ничем не отличается от моего, т.к. байтовые операции MOVB и CLRB также делают предварительное фиктивное чтение. Лучше так:


MOV #1,R0
MOV #177710,R1
MOV R0,(R1)
CLR (R1)

Titus
02.02.2013, 12:52
Но при этом Вы сами пишете, что:
Как-то не сходится.
Все сходится. Если бы счетчик не хранил текущее значение (а оно все время обновляется по тому же PCLK из буферного регистра), а декрементировал его, то мы бы не получили на выходе неизменнное значение буферного регистра.


Ну не смог я увидеть в режиме СТОП и при загруженном в буфер нуле установленного бита нуля в регистре состояния.
Такую комбинацию я еще не проверял.


Ну а теперь результаты моих тестов на УКНЦ литеры 7 с 1515ХМ2-001:
Запускал как с дисковода, так и с IDE-Flash, результат в принципе один и тот же. Уже и прогрелась, и включал/выключал, но неснятия бита готовности не наблюдалось. Или тоже надо как минимум пятьсот раз запускать?
Нет, не надо 500. На моей УКНЦ это стабильно и четко каждый запуск.
Попробуйте с 1-031.


Этот код ничем не отличается от моего, т.к. байтовые операции MOVB и CLRB также делают предварительное фиктивное чтение. Лучше так:
Да, изначально написал байтовую запись, но потом исправил)

---------- Post added at 12:52 ---------- Previous post was at 12:50 ----------

Видимо, вот и нашли отличие 2-001 от 1-031)

Alex_K
02.02.2013, 13:24
Итак, обновленный тест показал следующие результаты:
1) Работа таймера в режиме счета/останова отличается лишь тем, что в режиме счета по фронту PCLK декрементируется счетчик таймера, а в режиме останова сохраняет свое значение.
5) Содержимое буферного регистра записывается в счетчик по фронту PCLK в следующих случаях:
б) Ноль в 0-м бите регистра состояния

Интересный момент. Насколько я знаю, в режиме останова содержимое буферного регистра переписывается в счетчик. Да, в режиме СТОП счетчик не декрементируется, но и не сохраняет то значение, при котором его остановили. Узнать, что находится в счетчике в данный момент невозможно, он не выводится ни на какие регистры.

Сохраняет свое значение, каждый такт загружаемое по PCLK из буферного регистра, так будет точнее сказать.

Все сходится. Если бы счетчик не хранил текущее значение (а оно все время обновляется по тому же PCLK из буферного регистра), а декрементировал его, то мы бы не получили на выходе неизменнное значение буферного регистра.

Так все-таки на расставить все точки над И:
1. Когда остановили таймер, то содержимое буферного регистра копируется в счетчик.
2. Когда остановили таймер, то в счетчике сохраняется содержимое на момент останова.

Что же все-таки верно?

Titus
02.02.2013, 13:25
Так все-таки на расставить все точки над И:
1. Когда остановили таймер, то содержимое буферного регистра копируется в счетчик.
2. Когда остановили таймер, то в счетчике сохраняется содержимое на момент останова.

Что же все-таки верно?

1.

Alex_K
02.02.2013, 13:40
Нет, не надо 500. На моей УКНЦ это стабильно и четко каждый запуск.
Попробуйте с 1-031.
---------- Post added at 12:52 ---------- Previous post was at 12:50 ----------
Видимо, вот и нашли отличие 2-001 от 1-031)

Рано еще говорить, пока не запускал, подождите чуток.

---------- Post added at 13:40 ---------- Previous post was at 13:25 ----------

Ну вот, загрузился с УКНЦ литеры 7 с 1515ХМ1-031. Сначала с дисковода, потом с IDE-Flash, потом снова с дисковода. Все загрузки происходили на холодную, т.е. после нажатия СБРОСА.

http://kisly-alexey.pisem.net/TSTMR2/XM1-7/TSTMR1.jpg
http://kisly-alexey.pisem.net/TSTMR2/XM1-7/TSTMR2.jpg
http://kisly-alexey.pisem.net/TSTMR2/XM1-7/TSTMR3.jpg
http://kisly-alexey.pisem.net/TSTMR2/XM1-7/TSTMR4.jpg

Titus
02.02.2013, 13:52
Ну, а что я говорил)

---------- Post added at 13:52 ---------- Previous post was at 13:47 ----------

Надо бы подписать, какие параметры с чего грузились.

Alex_K
02.02.2013, 13:54
Надо бы подписать, какие параметры с чего грузились.
А с чего грузились и так видно по промптеру приглашения RT-11.
Поперезагружал еще, выключал/включал питание, главным образом два последних скрина, последний чаще всего.

Titus
02.02.2013, 13:58
А с чего грузились и так видно по промптеру приглашения RT-11.
Поперезагружал еще, выключал/включал питание, главным образом два последних скрина, последний чаще всего.
Понятно. Это значит не зависит от привода.
Это 16тактовая УКНЦ или 20?

---------- Post added at 13:58 ---------- Previous post was at 13:56 ----------

Хотя и так понятно, что 20.

Alex_K
02.02.2013, 14:16
Ну вот подоспели тесты и на раритетной УКНЦ литеры 3 с 1515ХМ1-031.

http://kisly-alexey.pisem.net/TSTMR2/XM1-3/TSTMR1.jpg
http://kisly-alexey.pisem.net/TSTMR2/XM1-3/TSTMR2.jpg
http://kisly-alexey.pisem.net/TSTMR2/XM1-3/TSTMR3.jpg


Заметил, что процентные соотношения не меняются до холодного перезапуска. Просто при холодном перезапуске перезапускаются и генераторы 580ГФ24 и счетчики в 1515ХМ1-031 относительно тактовой процессора и контроллера ОЗУ по другому работают. Вот как-то так.

А для подтверждения теории нужны запуски на других УКНЦ с 1515ХМ2-001, и желательно с СЭМЗ-овской схемотехникой, т.к. там нет 580ГФ24.

Patron
02.02.2013, 14:17
Когда остановили таймер, то содержимое буферного регистра копируется в счетчикЕсли не ошибаюсь, у встроенного таймера 1801ВМ1 - буферный регистр копируется в счётчик при любой записи в регистр статуса.

Alex_K
02.02.2013, 14:19
Если не ошибаюсь, у встроенного таймера 1801ВМ1 - буферный регистр копируется в счётчик при любом обращении к регистру статуса.

Patron, здесь речь идет о таймере в 1515ХМ1-031/1515ХМ2-001. Не надо здесь разводить флуд о похожести или непохожести этих таймеров с таймером в 1801ВМ1. Разные вещи и разные схемотехнические решения.

Patron
02.02.2013, 14:21
Разные вещи и разные схемотехнические решения.Если копирование в счётчик происходит вне зависимости от состояния битов регистра статуса, а только по самому факту записи в него, то кое-что общее явно просматривается.

Titus
02.02.2013, 14:22
А для подтверждения теории нужны запуски на других УКНЦ с 1515ХМ2-001, и желательно с СЭМЗ-овской схемотехникой, т.к. там нет 580ГФ24.
Только их ни у кого нет, из тех, кто здесь запускал тесты.

Да, скорее всего так и есть, зависит еще от фазы тактирования.

Alex_K
02.02.2013, 14:24
Только их ни у кого нет, из тех, кто здесь запускал тесты.
У других точно есть. Уж у hobot-а точно есть (кстати, сколько у него уже УКНЦ?), есть наверняка у Arseny, да и у dk_spb найдется.

Titus
02.02.2013, 15:05
Заметил, что процентные соотношения не меняются до холодного перезапуска. Просто при холодном перезапуске перезапускаются и генераторы 580ГФ24 и счетчики в 1515ХМ1-031 относительно тактовой процессора и контроллера ОЗУ по другому работают. Вот как-то так.
В таком случае должно получаться 4 различных набора данных, т.к. фазы доступа к шине у ПП кратны 4 тактам.

Alex_K
02.02.2013, 15:11
В таком случае должно получаться 4 различных набора данных, т.к. фазы доступа к шине у ПП кратны 4 тактам.
Сколько различных наборов Вы можете узнать и сами, тем более у Вас две УКНЦ с 1515ХМ1-031. Единственное неудобство, что перезагружать все время надо.

hobot
02.02.2013, 15:32
Объяснительная записка от участника форума [hobot].


У других точно есть. Уж у hobot-а точно есть
Все фотки моих плат совсем недавно перевыкладывал же) По схемотехнике у меня все КВАНТЫ - нет ни одной где кварцы в кучку и текстолит красный (смотрите фото - я что то не нашёл "смайл"), а вот по выпуску (судя по шилдикам на корпусах) и с того и с того конвейера.

(кстати, сколько у него уже УКНЦ?)
Так вышло! Было пусто, стало густо, последнюю мне DATAsoft задарил, я же не мог отказаться, а денег он брать не стал за неё ) Остальные попали ко мне разными путями. В целом я ещё раз все платы перепроверю(прогоню тесты) и может пару машинок в обменный фонд для фанатов выделю! - почему нет? ) В целом я бы себе оставил пару где для полного С2 (если я правильно понимаю) не хватает только преобразователя питания. СА есть для всех плат. Как только - так сразу выложу скрины. Живые машинки рулят! Но сейчас просто места нет и тв-тюнера (временно) нет - опять же уже писал. Наткнулся на видео от palsw (http://www.youtube.com/watch?v=wexswhkpUf8) - настройка SL.SYS и файл HUST.SAV порадовали своей узнаваемостью ) И в целом я рад, что все движения на форуме и по архиву используются и нужны кому-то.

http://s12.rimg.info/fed29b40178301fb6007afa5553e9a2c.gif (http://smayliki.ru/smilie-821669703.html)

Titus
02.02.2013, 15:40
Сколько различных наборов Вы можете узнать и сами, тем более у Вас две УКНЦ с 1515ХМ1-031. Единственное неудобство, что перезагружать все время надо.
Я ее не вскрывал, но, похоже, что с ней)

Alex_K
02.02.2013, 16:00
По схемотехнике у меня все КВАНТЫ - нет ни одной где кварцы в кучку и текстолит красный
Но надеемся, что есть с 1515ХМ2-001. А то надо проверить теорию, опыты на одном экземпляре ничего не говорят.

В целом я ещё раз все платы перепроверю(прогоню тесты) ... Как только - так сразу выложу скрины. Живые машинки рулят! Но сейчас просто места нет и тв-тюнера (временно) нет
Ждем, надеемся и верим.

Alex_K
02.02.2013, 19:49
В таком случае должно получаться 4 различных набора данных, т.к. фазы доступа к шине у ПП кратны 4 тактам.
Сейчас стоит включенной раритет литеры 3 с 1515ХМ1-031. Все и везде уже давно прогрелось. Так вот неоднократные нажатия СБРОСа и выключение/включения питания эффекта не дали. Все устаканилось, как на последнем скриншоте (http://kisly-alexey.pisem.net/TSTMR2/XM1-3/TSTMR3.jpg): 0%, 0%, 4.9%, 5.1%.

Alex_K
02.02.2013, 22:56
СЭМЗ врывается в трэд :v2_dizzy_punk:
Плата 9А (если правильно разглядел) БМК:
ХМ2-001
ХМ2-003
ХМ1-136
ХМ1-032
УКНЦ прогретая около часа, пока искал тесты образы и т.д.
Keeper, возьмите TSTMR из этого поста (http://zx.pk.ru/showpost.php?p=572447&postcount=204), он там очень свежий и там есть измерения, которые интересно провести на УКНЦ с 1515ХМ2-001.

Alex_K
02.02.2013, 23:26
Alex_K, можно Вас попросить собрать все актуальные версии тестов в один образ, который я смогу подключить к HX? Работе с dsk образами не обучен... :(
Пожалуйста! В архиве образ DSK, в нем два файла - TSSPD.SAV и TSTMR2.SAV. Этот образ можно присоединить в качестве диска к HX-серверу и запускать по команде RUN на нем или перекопировать на системный диск и уже запускать с него.

Alex_K
03.02.2013, 00:22
УКНЦ холодная.
Такой же результат по неснятию бита готовности, как и у меня на УКНЦ с 1515ХМ2-001. Так что уже кое-что становится понятным, какой глюк устранили в новом чипе.

Keeper, увидел в конфигурации вашего УКНЦ, что стоит 1515ХМ1-136. Проведите пожалуйста такой тест: выберите цвет символов 8 (по умолчанию так и есть), а цвет курсора - 4. Если курсор оказывается над символом, то он во время высвечивания его полностью закрывает или накладывается по ИЛИ (белый символ просвечивается сквозь курсор).

Alex_K
03.02.2013, 00:56
Alex_K, накладывается по ИЛИ.
Ещё я запускал TUK, пишет:

ППИ ошибка 2
КНМЛ ошибка 1
Что значат номера этих ошибок?
ППИ - это параллельный программируемый интерфейс, наверное нужна заглушка, так же как и на КНМЛ - накопитель на магнитной ленте. А что означают коды, я не знаю, это только разработчикам теста известно.

Titus
03.02.2013, 02:20
увидел в конфигурации вашего УКНЦ, что стоит 1515ХМ1-136. Проведите пожалуйста такой тест: выберите цвет символов 8 (по умолчанию так и есть), а цвет курсора - 4. Если курсор оказывается над символом, то он во время высвечивания его полностью закрывает или накладывается по ИЛИ (белый символ просвечивается сквозь курсор).
А это что еще за верисии чипов?

Titus
03.02.2013, 12:54
ХМ1-136 вроде как следующая ревизия ХМ1-036. Я теперь понял суть вопроса Alex_K, посмотрел в эмуляторах, курсор полностью закрывает символ под ним, а у меня символ просвечивается сквозь курсор...

Что бы это значило? :)
Фотку просвечивания можно? Лучше несколько.

Это значит, что регистры палитры на чтение не доступны. Но вдруг где-то доступны, вот тест их и читает.

---------- Post added at 12:54 ---------- Previous post was at 12:42 ----------


СЭМЗ врывается в трэд
Как удалось получить это в виде текста?)

Alex_K
03.02.2013, 13:05
Фотку просвечивания можно? Лучше несколько.
А зачем несколько. На одной и так все видно. Цвет фона и знакоместа - 1 (черный), цвет курсора - 5, цвет символа - 8. Номера цветов по пунктам режима УСТАНОВКА.
http://kisly-alexey.pisem.net/136/CURSOR.jpg

---------- Post added at 13:05 ---------- Previous post was at 12:55 ----------


Как удалось получить это в виде текста?)
Это надо сказать большое спасибо Patron-у. Есть у него сборка RT-11 для HX-сервера, в которой вывод в регистры 177560-177566 заменены на вывод в регистры стыка С2 176570-176576. Так же большое спасибо хочу сказать и Вам, Titus, за то что используете для вывода системные запросы RT-11, если бы использовали вывод напрямую через регистры 177564/177566, то такой текст получить бы не удалось.

Titus
03.02.2013, 13:15
Так же большое спасибо хочу сказать и Вам, Titus, за то что используете для вывода системные запросы RT-11, если бы использовали вывод напрямую через регистры 177564/177566, то такой текст получить бы не удалось.
Стараюсь, чтоты тесты были чесными системными.

---------- Post added at 13:15 ---------- Previous post was at 13:14 ----------


А зачем несколько. На одной и так все видно. Цвет фона и знакоместа - 1 (черный), цвет курсора - 5, цвет символа - 8. Номера цветов по пунктам режима УСТАНОВКА.
Здесь черно-белый пример.
Мне интересно, как вообще там цвета смешиваются, по какому принципу?
И это единственное изменнение в этом чипе? В какие машины его ставили?

Alex_K
03.02.2013, 13:20
Здесь черно-белый пример.
Мне интересно, как вообще там цвета смешиваются, по какому принципу?
И это единственное изменнение в этом чипе? В какие машины его ставили?
Цвет курсора накладывается по ИЛИ на изображение экрана. Соответственно, если курсор черный (RGB=0), то его вообще нет на экране. Накладка по ИЛИ происходит уже на сигналы RGB. А насчет единственное или нет, не знаю. Регистров на шине ПП у него нету, все делается через регистры управления цветом и отображением.

Titus
03.02.2013, 13:23
Цвет курсора накладывается по ИЛИ на изображение экрана. Соответственно, если курсор черный (RGB=0), то его вообще нет на экране. Накладка по ИЛИ происходит уже на сигналы RGB.
А если курсор красный, скажем RGB = 100, а фон синий RGB = 001, то итог будет фиолетовый? А с яркостью как?

Alex_K
03.02.2013, 13:26
А если курсор красный, скажем RGB = 100, а фон синий RGB = 001, то итог будет фиолетовый? А с яркостью как?
Да, итог будет фиолетовый. А насчет яркости не могу сказать, тюнер у меня выводит только Ч/Б изображение, это надо к телевизору подключать и смотреть (но это не всегда возможно).

Titus
03.02.2013, 13:27
Да, итог будет фиолетовый. А насчет яркости не могу сказать, тюнер у меня выводит только Ч/Б изображение, это надо к телевизору подключать и смотреть (но это не всегда возможно).
Наверное это сделали, чтобы видней было символ за курсором.

---------- Post added at 13:27 ---------- Previous post was at 13:27 ----------

В какие версии машин ставили такой чип?

Alex_K
03.02.2013, 13:30
Наверное это сделали, чтобы видней было символ за курсором.
Что-то слабо верится, если курсор белый, то он все будет закрывать, эффекта никакого не будет. Может хотели сделать накладку курсора по MOV/AND/OR/XOR? А может просто глюк какой, который не заметили.

В какие версии машин ставили такой чип?
В любой. Заменил собой "морально устаревший" 1515ХМ1-036.

Titus
03.02.2013, 13:33
Что-то слабо верится, если курсор белый, то он все будет закрывать, эффекта никакого не будет. Может хотели сделать накладку курсора по MOV/AND/OR/XOR? А может просто глюк какой, который не заметили.

В любой. Заменил собой "морально устаревший" 1515ХМ1-036.

Если накладку по разным функциям, то она должна была выбираться.

У меня в машинках нет такого чипа, и вообще не видел такие, чтобы курор был прозрачным.

Кстати, тут сон приснился, что я нашел программу, которая использовала дополнительные цвета (с палитрой). Может стоит поискать? )

hobot
03.02.2013, 16:46
Кстати, тут сон приснился, что я нашел программу, которая использовала дополнительные цвета (с палитрой). Может стоит поискать? )
PC1.SAV - не поддерживает? )
осторожно скриншот!

http://savepic.ru/3319228.png

Titus
07.02.2013, 03:41
Провел еще несколько тестов, и результат неутешительный.
Все касается чипа 1-031.

Случайно заметил, что иногда (редко) переходная пара равна 0->4095, а это означает, что... В буферный регистр не прописалось число 99!

Итак, как могло оказаться в буферном регистре число 4095 + 1 = 4096, т.е. 0? Да никак! Предыдущий тест туда записывал 4095, а текущий 99.
Отсюда вывод, что при записи 99 запись просто НЕ ПРОШЛА! Вот и что думать?

Titus
07.02.2013, 05:14
Итак, в обновленном тесте таймера подвердилось еще одно предположение о вероятности незаписи из буферного регистра в счетчик при кратковременном импульсе останова таймера, попавшем между двумя тиками предделителя. Но, это и так уже было описано чуть ранее.

Кстати, тут есть еще одно замечание. Судя по всему, цикл доступ к регистру состояния таймера (а может и не только), имеет кратность > 4 тактов. Т.к. выравнивалка на случайное число тактов, кратное 4 (т.е. циклу доступа ПП к шине), нейтрализуется после чтения регистра состояния.

Осталось выяснить как минимум два момента:

1) Неподтвердилась догадка, что если в буферном регистре ноль, и в режиме остановленного таймера прочитать регистр текущего значения, то он никогда не разблокируется, т.к. из счетчика все время будет заноситься новый ноль. Это надо проверять.

2) Удалось иногда словить переходную пару 0->4095, что было описано постом выше. Тут надо исследовать. В обновленном тесте сделано так, что если будет переходная пара 0->4095, то именно данный дамп будет отражен в тесте.

Тестируем на разных чипах!

http://s017.radikal.ru/i406/1302/2e/38dd14786a9c.jpg

SKcorp.
07.02.2013, 12:56
Провел еще несколько тестов, и результат неутешительный.
Все касается чипа 1-031.

Случайно заметил, что иногда (редко) переходная пара равна 0->4095, а это означает, что... В буферный регистр не прописалось число 99!

Итак, как могло оказаться в буферном регистре число 4095 + 1 = 4096, т.е. 0? Да никак! Предыдущий тест туда записывал 4095, а текущий 99.
Отсюда вывод, что при записи 99 запись просто НЕ ПРОШЛА! Вот и что думать?

Явно не пишется какой-то бит.
99= 1100011
4095 = 111111111111

Т.е. при записи нуля в какой-то из этих битов регистр не пишется.

Titus
07.02.2013, 13:00
СЭМЗъ :)
0->4095 поймать не удалось, да и вряд ли такое будет на исправленном 2-001. Хотя, надо тестировать.
А вот то, что незапись буферного регистра в счетчик не проходит только на 16мкс, а у меня на 1-031 на 8 и 16мкс, интересно. Прохождение записи означает, что короткий импульс записи, равный длительности выполнения команды MOV R0,(R1) (а это должно быть 36/40 тактов на разных машинах), длиннее, чем период предделителя таймера.
Периоды таймера таковы:
2мкс - 12 тактов (12 < 36, запись будет всегда, подтверждено тестом)
4мкс - 24 такта (24 < 36, запись будет всегда, подтверждено тестом)
8мкс - 48 тактов (48 > 36 или 40, что должно дать периодическую незапись, подтверждено тестом на моей 1-031, не подтверждено на СЭМЗ)
16мкс - 96 тактов (96 > 36 или 40, что должно дать периодическую незапись, подтверждено тестами).

Судя по тесту СЭМЗ, возникает ощущение, что или команды гораздо длиннее (запись > 48 тактов).

Так, посмотрел тесты скорости работы с регистрами от Keeper'а. Действительно СЭМЗ еще чуть помедленнее, чем 20-тактовый КВАНТ.



---------- Post added at 13:00 ---------- Previous post was at 13:00 ----------


Явно не пишется какой-то бит.
99= 1100011
4095 = 111111111111

Т.е. при записи нуля в какой-то из этих битов регистр не пишется.
Нет, там все посложнее)

Alex_K
07.02.2013, 14:24
Тестируем на разных чипах!
Начнем! УКНЦ КВАНТ литеры 7 с 1515ХМ1-031. А почему с нее? А потому что сейчас подключена. Остальные будут позже.

Холодная. Загрузка с дисковода:

http://kisly-alexey.pisem.net/TSTMR3/XM1-7/TSTMR01.jpg
http://kisly-alexey.pisem.net/TSTMR3/XM1-7/TSTMR02.jpg
http://kisly-alexey.pisem.net/TSTMR3/XM1-7/TSTMR03.jpg
http://kisly-alexey.pisem.net/TSTMR3/XM1-7/TSTMR04.jpg


Чуточку прогрелась. Загрузка с IDE-Flash:

http://kisly-alexey.pisem.net/TSTMR3/XM1-7/TSTMR05.jpg
http://kisly-alexey.pisem.net/TSTMR3/XM1-7/TSTMR06.jpg
http://kisly-alexey.pisem.net/TSTMR3/XM1-7/TSTMR07.jpg
http://kisly-alexey.pisem.net/TSTMR3/XM1-7/TSTMR08.jpg


Выключил. Включил. Загрузился с IDE-Flash (снова):

http://kisly-alexey.pisem.net/TSTMR3/XM1-7/TSTMR09.jpg
http://kisly-alexey.pisem.net/TSTMR3/XM1-7/TSTMR10.jpg
http://kisly-alexey.pisem.net/TSTMR3/XM1-7/TSTMR11.jpg
http://kisly-alexey.pisem.net/TSTMR3/XM1-7/TSTMR12.jpg

Titus
07.02.2013, 14:46
Начнем! УКНЦ КВАНТ литеры 7 с 1515ХМ1-031. А почему с нее? А потому что сейчас подключена. Остальные будут позже.
Все стабильно, как в аптеке.
Подозреваю, что 0->4095 удавалось получить при определенной компиляции, пока не внес изменения в последовательность команд. Но факт, что это было - остается фактом.

Кстати, параметры незаписи буферного регистра в счетчик на столько стабильны (а как могло быть иначе), что только по одним им можно идентифицировать модель машинки - быстрый Квант, медленный, СЭМЗ)

Alex_K
07.02.2013, 15:34
Все стабильно, как в аптеке.
Подозреваю, что 0->4095 удавалось получить при определенной компиляции, пока не внес изменения в последовательность команд. Но факт, что это было - остается фактом.

Кстати, параметры незаписи буферного регистра в счетчик на столько стабильны (а как могло быть иначе), что только по одним им можно идентифицировать модель машинки - быстрый Квант, медленный, СЭМЗ)
По поводу этих глюков сказать ничего не могу, нет исходного текста, не видно как делается. Хотя, если мне будет интересно, то дизассемблировать не составит труда, кода там не много.
И если по некоторым глюкам можно отличить 1515ХМ1-031 от 1515ХМ2-001, то одну схемотехнику от другой вряд ли, т.к. задержка SYNC->AR делается аналоговым способом, за счет конденсаторов, и от емкости конденсатора, сопротивления резисторных сборок, да и задержек в логических элементах много чего зависит, тут и СЭМЗ покажется КВАНТ-ом, и наоборот.

Titus
07.02.2013, 16:31
И если по некоторым глюкам можно отличить 1515ХМ1-031 от 1515ХМ2-001, то одну схемотехнику от другой вряд ли, т.к. задержка SYNC->AR делается аналоговым способом, за счет конденсаторов, и от емкости конденсатора, сопротивления резисторных сборок, да и задержек в логических элементах много чего зависит, тут и СЭМЗ покажется КВАНТ-ом, и наоборот.
Не по глюкам, а характерным особенностям конкретных чипов.

Да, задержки могут быть какие угодно, однако в СЭМЗ'е чаще такие, в Кванте такие. Чисто статистически.

Кстати, у ЦП тоже аналоговым способом сделана задержка?

Alex_K
07.02.2013, 16:37
Кстати, у ЦП тоже аналоговым способом сделана задержка?
Там только через один логический элемент, вроде ЛП.

Titus
07.02.2013, 16:38
Там только через один логический элемент, вроде ЛП.
А зачем такие навороты и несовместимость по скорости в ПП?

Alex_K
07.02.2013, 16:51
А зачем такие навороты и несовместимость по скорости в ПП?
В магистрали ПП очень много устройств, и если их все прицепить непосредственно к процессору, то его выходы не выдержат такой нагрузки. Поэтому и используется буферная развязка 1801ВП1-055. А раз есть развязка, то в ней естественно есть задержка с распространением сигнала, потому для задержки SYNC->AR и делается схема, также есть и задержка на RPLY. Кстати 1515ХМ1-031(1515ХМ2-001) расположена за буферной развязкой.

Titus
07.02.2013, 16:58
В магистрали ПП очень много устройств, и если их все прицепить непосредственно к процессору, то его выходы не выдержат такой нагрузки.
Но зачем там задержки на аналоговых элементах?

Titus
07.02.2013, 17:14
Экономия должна быть экономной :) Ведь увеличить емкость конденсатора несколько проще чем добавить ещё один триггер :)
А тыкать многотысячевентеливые ПЛМ в схему проще? Могли бы из них кусочек использовать.