На ВМ3 нет таймера.
Вид для печати
На ВМ3 нет таймера.
Ещё раз для особо не читающих. В процессоре ВМ3 таймера нет. И у меня не платы 1201.03 1201.04
И если системы
сгенерировали с выключенной поддержкой таймера, так что они
то это проблемы тех, кто генерировал. ВСЕ вопросы к ним.
Когда я переносил RT11 v5.0 на свой Квант, у меня не было НИКАКИХ проблем с видением системой таймера (за исключением того, что надо было нажать кнопку, что бы часы начали тикать) и с вводом-просмотром текущего времени командой TIME, потому что я умею генерить нужные мне системы - с нужными характеристиками.
Учитывая, что у DEC тоже были платы с таймером без аппаратного регистра - её системы (при условии правильной их генерации) этот факт не смущает ни капли и они отлично начинают поддерживать текущее время после включения таймера тем или иным способом. Опыт работы с RSX-11M-PLUS на 1201.04 (лет так за 10 до того, как на этом форуме начали вести споры - а заработает ли RSX на ДВК) - ещё одно тому подтверждение.
А на плате с условным названием МС 1201.2018, с которой я сейчас развлекаюсь у таймера ЕСТЬ регистр, так что система ещё и включить прерывания от таймера может.
Так что фиксить надо кому то руки и мозги, а RT (по крайне мере с 5.0, с более ранними не игрался, но подозреваю, что и там все нормально) проблем с таймером не испытывает
- - - Добавлено - - -
Ну, вроде как осталось пофиксить только ошибки в драйвере для XM монитора. Хотя меня тут тоже терзают смутные сомнения.. А есть ли они.. Попробую некоторые тесты и отпишусь..
- - - Добавлено - - -
Увы, ошибка всё таки моя и похоже, где то в начальном загрузчике.. Ну, я много чего трогал в драйвере, так что.. Бум исправлять
RT11DS (SJ) V05.01
Код:***** ДОСТУПНОЕ ОЗУ - 1 M *
@ 001000
@177226G
AZ v1 Boot-I-Cold boot..
AZ (177220) disk driver v1.1 2019
SL V08.00 [SW] Сторожевых С.В. 1988
RT11-SJ (DS) V05.01
Date [24-APR-92]
24-APR-92, Пятница
SET EXIT NOSWAP
SET USR NOSWAP
SET TT SCOPE
LO LD
! < UNUSED >
! < UNUSED >
! < UNUSED >
SET SL ON
AS LD1 DK
Assignments:
Symbol Status Value
------ ------ -----
^I auto DIR/FU/BL
? EDK
> /NOOBJ
^ /LIS:TT:
; auto DIR/FU/BL SY:
^\ auto ,C:(SPEIS,CXLIB,CMLIB)/BOT:4000
^V auto VT52
^N LINK
---------------------
Empty bytes: 200.
LD1> TI
?KMON-W-No clock
LD1> SH CONF
RT11-SJ (DS) V05.01
BOOTED FROM AZ1:RT11DS
USR IS SET NOSWAP
EXIT IS SET NOSWAP
KMON IS SET NOIND
TT IS SET NOQUIET
ERROR IS SET ERROR
SL IS SET ON
EDIT IS SET EDIT
KMON NESTING DEPTH IS 3
PDP 11/34 PROCESSOR
248KB OF MEMORY
EXTENDED INSTRUCTION SET (EIS)
KT11 MEMORY MANAGEMENT UNIT
SJ TIMER SUPPORT
LD1> TI
?KMON-W-No clock
LD1> R VM3TIM
LD1> TI
00:00:00
LD1> TI
00:00:04
LD1> TY TMON.MAC
R6=%6
R7=%7
.DSABL GBL
.DSABL MCL
.MCALL .EXIT
.ENABL LC
START: MOV @#54,R0
BIS #100040,300(R0)
.EXIT
.END START
LD1>
[свернуть]
Ага, два раза. Поддержка сетевого таймера - без CSR сама собой (вернее, начальным загрузчиком) включается на ограниченном наборе моделей - LSI-11/03, LSI-11/23, LSI-11/73 и не помню, как там зовут последние модели на J-11.
И 11/34 в этот список точно не входит.
Какой ты умный - это что-то!
RT-11SB (Y) V05.07
Код:LD1> BO/FO AZ3:
AZ v1 Boot-I-Cold boot..
AZ (177220) disk driver v1.1 2019
SL V08.00 [SW] Сторожевых С.В. 1988
RT-11SB (Y) V05.07
.SET TT FORM
.SET TT SCOPE
.SET EDIT K52
.SET SL ON
.DAY
Время Дата
00:00:13 01-Сен-2019, Воскресенье
.TI
?KMON-W-No clock
.VM3TIM
.TI
00:00:51
.SH CONF
RT-11SB (Y) V05.07
Booted from AZ3:RT11SB
USR is set SWAP
EXIT is set SWAP
KMON is set NOIND
MODE is set NOSJ
TT is set NOQUIET
ERROR is set ERROR
SL is set ON
EDIT is set K52
FORTRAN is set FORTRA
KMON nesting depth is 3
CLI is set DCL, CCL, UCL, NO UCF
PDP 11/34 Processor
1024KB of memory
Extended Instruction Set (EIS)
Memory Management Unit
50 Hertz System Clock
No SYSGEN options enabled
.
[свернуть]
Да, конечно. А слова SJ TIMER SUPPORT в в выдаче SH CONF системы 5.01 тебе ничего не говорят? Тем более, в сочетании с ?KMON-W-No clock? В SH CONF системы 5.07 фразу про поддержку таймера, по всей видимости, потеряли, но по программе DAY видно, что таймер тикает - раз в секунду добавляется единичка ко времени, а вот KMON считает, что таймера нет. И, когда я объясняю ему своей самодельной программой VM3TIM, что таймер есть, он показывает натикавшее время, а не с нуля. А твоё "НИКАКИХ проблем с таймером" - это одно из двух - или ты забыл, или в твоей системе кто-то таки подправил загрузчик до того, как она попала к тебе в руки. И, учитывая, что ты работал, в основном, с RSX-11, скорее всего, ты просто забыл.
Ну, и, на закуску, ХМ-система. Она взята из дистрибутива 5.1, естественно, в ней есть и простая поддержка таймера, и тайм-аут устройств, и точно так же ?KMON-W-No clock. Так, что...
RT-11XM V05.01
Код:AZX (177220) disk driver v1.1 2019
RT-11XM V05.01
.DAY
Date [24-APR-92]
24-APR-92, Пятница
SET EXIT NOSWAP
SET USR NOSWAP
SET TT SCOPE
LO LD
AS LD0 DK
LO SL
!R VM3TIM
SET SL ON
! < UNUSED >
.SH CONF
RT-11XM V05.01
BOOTED FROM AZ2:RT11XM
22 BIT ADDRESSING IS ON
USR IS SET NOSWAP
EXIT IS SET NOSWAP
KMON IS SET NOIND
TT IS SET NOQUIET
ERROR IS SET ERROR
SL IS SET ON
EDIT IS SET KEX
KMON NESTING DEPTH IS 3
PDP 11/34 PROCESSOR
1024KB OF MEMORY
EXTENDED INSTRUCTION SET (EIS)
KT11 MEMORY MANAGEMENT UNIT
DEVICE I/O TIME-OUT SUPPORT
SYSTEM JOB SUPPORT
.TI
?KMON-W-No clock
.R VM3TIM
.TI
00:01:49
.00:01:49
.SH CONF
RT-11XM V05.01
BOOTED FROM AZ2:RT11XM
22 BIT ADDRESSING IS ON
USR IS SET NOSWAP
EXIT IS SET NOSWAP
KMON IS SET NOIND
TT IS SET NOQUIET
ERROR IS SET ERROR
SL IS SET ON
EDIT IS SET KEX
KMON NESTING DEPTH IS 3
PDP 11/34 PROCESSOR
1024KB OF MEMORY
EXTENDED INSTRUCTION SET (EIS)
KT11 MEMORY MANAGEMENT UNIT
50 CYCLE SYSTEM CLOCK
DEVICE I/O TIME-OUT SUPPORT
SYSTEM JOB SUPPORT
.
[свернуть]
Лучше бы сразу сказал, что у тебя таймер с CSR и не выпендривался...
НАСТОЯЩИЙ ретро: Gigatron TTL microcomputer https://hackaday.io/project/20781/logs. Only 7400 logic. No microprocessor, no video chip, no sound chip.
Off topic: а как тебе такое, FAIRCHILD SEMICONDUCTOR?
Тактовая - 5 МГц
- - - Добавлено - - -Код:.RUN ZA:SPEED
ТЕСТ БЫСТРОДЕЙСТВИЯ
КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 1248
КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 424
КОМАНДА УМНОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 88
КОМАНДА ДЕЛЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 336
.RUN ZA:SPEED
ТЕСТ БЫСТРОДЕЙСТВИЯ
КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 1264
КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 424
КОМАНДА УМНОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 88
КОМАНДА ДЕЛЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 336
.
Не помню, писал или нет - в своём варианте прошивки поправил глупость писателей - теперь она принимает команды как в верхнем регистре (типа Т), так и в нижнем (t), а то я запарился Патроновский VT52 переключать :)
- - - Добавлено - - -
Из мира прекрасного:
http://www.KpXX.Ru/Днепр/Фото/Стенд.jpg
На мониторе не видно, там:
Код:@T4* ДОСТУПНОЕ ОЗУ - 3,7 M @
ИДЕТ ПРЯМАЯ ЗАПИСЬ
ИДЕТ ЧТЕНИЕ И ОБРАТНАЯ ЗАПИСЬ
ИДЕТ ЧТЕНИЕ ОБРАТНОЙ ЗАПИСИ
@
@ 173000
@B
$MY0
@ 140164
@P
RSX-11M-PLUS V4.6 BL87
>
DEV
VF0: Offline Loaded Type=unknown
VF1: Offline Loaded Type=unknown
VF2: Offline Loaded Type=unknown
VF3: Offline Loaded Type=unknown
TT0: [1,54] [1,54] - Logged in Loaded
TT1: Offline Loaded
VT0: Offline Loaded
RD0: Loaded
MT0: Offline Loaded Type=unknown
MT1: Offline Loaded Type=unknown
LP0: Offline Loaded
NL0: Offline Loaded
MY0: Loaded Type=unknown
Seek_Optimization=Nearest:0.
MY1: Offline Loaded Type=unknown
Seek_Optimization=Nearest:0.
WQ0: Offline Loaded Type=unknown
Seek_Optimization=Nearest:0.
WQ1: Offline Loaded Type=unknown
Seek_Optimization=Nearest:0.
WQ2: Offline Loaded Type=unknown
Seek_Optimization=Nearest:0.
WQ3: Offline Loaded Type=unknown
Seek_Optimization=Nearest:0.
ZF0: Offline Loaded Type=unknown
Seek_Optimization=Nearest:0.
TI0:
CO0: TT0:
CL0: TT0:
SP0: MY0:
LB0: MY0:
SY0: MY0:
>
Все-таки, покажи, что выдает SPEED.SAV. Если что, она есть в HDSYS.DSK в эмуляторе Патрона, на том самом диске, который загружается дефолтно.
Это 5 МГц на статике без ожидания. На шести предположительно покажет полтора миллиона, но надо кварц менять
На 5-ти вроде все мои ВМ3 заводятся, из предыдущих опытов, на 6-ти - надо подбирать.
а если DHRY запустить ?
Не интересно
На ДВК с клавой МС7004 оно работало без вопросов. А эмуляция VT52 у Патрона таки да, прихрамывает. Тем более, этот VT52 эмулирует 15ИЭ-00-013. Возможно, тем, кто за ним много работал, он и навевает тёплые ностальгические чувства, но, например, меня он конкретно раздражает. Ни в реале терпеть не мог 15ИЭ, ни в эмуляторе...
Вы лично занимались исследованием частоты использования разных команд в типичных программах ? Если да, то поделитесь своими результатами и чем Ваши результаты отличаются от других ? Да и зачем потом пересчитывать средний (синтетический) показатель из результатов для отдельных операций ?
В реальных программах ведь разные команды с разной частотой используются. Синтетический тест и показывает результат наиболее близкий к реальному на реальных программах. Да и померить для Вас никакого труда не составляет. Неужели нельзя это сделать, если просят ?
Что бы закрыть В ЭТОЙ ТЕМЕ обсуждение ВСЕХ синтетических тестов, конкретно DHRSTONE и конкретно его реализации DHRY.SAV, результаты:
Поскольку я НЕ ЗАИНТЕРЕСОВАН в обсуждении результатов теста, результаты которого считаю не адекватными, прочитайте ВНИМАТЕЛЬНО ниже написанноеКод:***** ДОСТУПНОЕ ОЗУ - 3,7 M *
@ 001000
@B
$ZF0
.RUN ZA:DHRY
DHRY v3.0 - Dhrystone (1.1)
This machine benchmarks at 278 dhrystones/second.
.RUN ZA:DHRY
DHRY v3.0 - Dhrystone (1.1)
This machine benchmarks at 278 dhrystones/second.
.
@ 153214
@B
$ZA0
.RUN ZA:DHRY
DHRY v3.0 - Dhrystone (1.1)
This machine benchmarks at 300 dhrystones/second.
.DHRY
DHRY v3.0 - Dhrystone (1.1)
This machine benchmarks at 300 dhrystones/second.
.
@ 000000
@B
$ZF0
.BOO ???
.RUN ZA:DHRY
DHRY v3.0 - Dhrystone (1.1)
This machine benchmarks at 214 dhrystones/second.
@ 134316
@B
$ZA0
.BOO ???
.RUN ZA:DHRY
DHRY v3.0 - Dhrystone (1.1)
This machine benchmarks at 278 dhrystones/second.
- плата и процессор во всех случаях один и тот же
- информация о том, какой монитор загружался - скрыта НАМЕРЕННО, оставлена только информация - с какого устройства была загрузка
- любая попытка обсуждать результаты ЗДЕСЬ после этого будет считаться флудом. Заводите свою тему и хоть заобсуждайтесь
ЕЩЁ РАЗ - Заводите свою тему и хоть заобсуждайтесь
- - - Добавлено - - -
Что бы ещё больше добить полезность результатов DHRY.SAV
Плата та же, проц тот же, устройство загрузки ZD (аналогично ZA, отличия в драйвере - другой адрес регистров), система другая.Код:.RUN ZA:DHRY
DHRY v3.0 - Dhrystone (1.1)
This machine benchmarks at 312 dhrystones/second.
.
"Dhrystone — синтетический тест производительности компьютеров, разработанный в 1984 году Reinhold P. Weicker. Нацелен на тестирование системной (целочисленной) производительности процессоров общего назначения."
Разброс в результатах порядка 45 процентов. Очень показательно в плане бесполезности использования для тестирования.
И нет - это НЕ ПРИГЛАШЕНИЕ обсуждать dhrystone в этой теме
https://zx-pk.ru/threads/30345-ms120...=1#post1026319
тогда давайте обсудим это. Почему результат немного разный ?
Кстати, а как там у тебя решено с адресной частью цикла МПИ? Как я понял, у всех наших камешков, кроме 1801ВМ1, адресная часть цикла тоже (частично) асинхронная, то есть она продолжается до тех пор, пока не придет сигнал "Адрес принят" - у ВМ3 это SSYNC. Как с ним манипулируют? Первое, что приходит в голову - это завернуть туда SYNC, хотя кое у кого на аналогичные входы отдают просто высокий уровень.
А еще, как я догадываюсь, у скоростных процессоров, вроде 1836ВМ3, быстрая память на плате и быстрая электроника, которая ее обслуживает, может делать укороченную адресную часть цикла, а при выдаче адреса в корзину, можно выдать и полные 250 нс адресной части.
А как это делается у тебя, на твоей плате?
Насколько я в курсе - всё, что находится на плате, считается быстрым и ответ идёт сразу, а то, что в корзине - медленным
Здравствуйте.
Плата интересная, но возможно ли получить исходники как с прошлой версией платы?
Хочу собрать для своих экспериментов...
Добрый день.
Насколько я в курсе, исходники так же будут доступны (все - включая прошивку CPLD, исходник ПЗУ и исходники всех драйверов), но - плата пока в процессе допиливания - причём всех составляющих.
Если сильно хочется железо - можете пообщаться на барахолке с автором, если он не против, я тоже отдам свою часть
Поскольку в той теме это оффтопик, отвечаю сюда.
Ну что ты прикидываешься не пойми кем? Какая разница: цилиндры-головки-сектора или LBA? По-любому, это дисковый адрес на физическом носителе. И сравнительно доступных вариантов всего два: или ты сам воюешь с этими адресами, своими средствами, или ты отдаешь эти действия виндам/линюхе и FATFS.
Мне глубоко плевать, где там на носителе лежат нужные данные - большая ОС писюка любезно разложила их для меня туда, куда сочла удобным, а FATFS предоставила удобную абстракцию адресации в виде смещения от начала файла, то есть своего рода LBA-адресацию уже для PDP-11, позволив мне интерпретировать номер блока, передаваемый драйверу от ОС, как своего рода LBA - сдвинул его влево на 9 разрядов, и отдал FATFS в качестве смещения в файле. Все. Не знаю я ни дисковых адресов, неважно, LBA они, или C-H-R, ни того, какой там носитель - IDE, SATA, SD-card или вообще какой-то чёрт в ступе - всё это мне глубоко фиолетово, об этом позаботилась FATFS, а до этого - винда или линюха.
Ты же желаешь заниматься этой фигнёй сам. Флаг в руки!
Похоже, не пойми кем прикидываешься ты
С какими адресами я воюю? Мне прилетел номер блока, я этот номер блока и отдаю в регистры. Какой вообще цилиндр-головка-сектор на флеш памяти, ты о чём, болезный?
Так чего уже полгода как переживаешь? Полгода нудишь, что твой способ лучше и предлагаешь идти по нему. Я тебе хоть раз предложил пойти по моему пути? Вот и отвали и не пиши больше про него.
Ты как обычно - не знаешь, о чём говоришьКод:LET R5 := CFCQE ; Get current queue element
LET CMD := #CS.RD ; Read command
LET R1 := Q$WCNT(R5) ; Word count (positive - reading, negative - writing)
IF RESULT IS MI THEN ; Reading?
LET R1 := - R1 ; No, writing, invert word count
LET CMD := #CS.WT ; Write command
END
LET R4 := R4 + #P$STAT-P$CSR2
CALL CFWAIT
; 1. P$DH - 34
.ASSUME P$CMD EQ P$STAT
.ASSUME P$DH EQ <P$CMD-2>
LET -(R4) := #DH.PRM ; Master
; 2. P$CYLH - 32
LET R0 :B= Q$UNIT(R5) ; Unit
LET R0 := R0 OFF.BY #^C<7> ; number
LET R3 :B= Q$2UNI(R5) ; 10..77 ?
IF RESULT IS MI THEN ; MI - yes
LET R3 :B= NOT R3
END
LET R3 := R3 OFF.BY #^C<Q.2MSK> R.SHIFT 1 ; High 3 bits of unit number mask
; to proper position
LET R0 :B= R0 SET.BY R3 ; High and low bits of unit number
.ASSUME P$CYLH EQ <P$DH-2>
LET -(R4) := R0 ;
.ASSUME Q$BLKN EQ 0
LET R0 := (R5) ; Block number
; 4. P$CYLL - 30
.ASSUME P$CYLL EQ <P$CYLH-2>
SWAB R0 ; Block number - cyl low - high byte .. to low byte
LET -(R4) := R0
; 3. P$SNUM - 26
.ASSUME P$SNUM EQ <P$CYLL-2>
SWAB R0 ; Block number - sector - high byte .. to low byte
LET -(R4) := R0 ; Block number - sector - low byte
; 5. P$SCNT - 24
LET R2 := R1 + #^O<377> ; round up to next sector count
SWAB R2 ; .. to low byte
.ASSUME P$SCNT EQ <P$SNUM-2>
LET -(R4) := R2
LET R2 := Q$BUFF(R5) ; Buffer address
; 6. P$CMD - 36
LET R4 := R4 + #P$STAT-P$SCNT
LET (R4) := CMD ; 36
- - - Добавлено - - -
Представляешь - ещё и самодостаточный - человек берет одну(!) плату - и получает готовый комп. И с драйверами под не одну систему. Кроме графики - ничего докупать не надо. Но и над графикой ведётся работа.
Круто!. Единственное замечание - про прошивки ПЗУ КЦГД. Как я понимаю, место в ПЗУхах еще есть. Поэтому туда надо добавить 181-ю прошивку и сделать оперативный переключатель: 181 - 182 - (182+183+184). Дело в том, что для КЦГД есть масса софта, рассчитанного на прошивку 181, также есть (поменьше) софт, рассчитанный на прошивку 182. Софта для 182+183+184 гораздо меньше, но туда входит, допустим, АДОСовский Бейсик, еще что-то было интересное... В общем, нужны все три варианта и, ИМХО, желательно, чтобы переключать можно было не разбирая ДВК-шник...
В принципе, 182+183+184 для загружаемого софта ведет себя, практически, так же, как и чистая 182, только у чистой 182, как и у 181, и даже у КСМ, нажатие клавиши F3 останавливает вывод на экран на аппаратном уровне, повторное нажатие продолжает, железно, без потерь и пр. глюков. А у 183+184 по F3 вылезает меню, которое перекрывает несколько нижних строк, что очень мешает. Залез бы кто в эти 183-184, да подправил, чтобы меню вылезало, допустим, по <Shift-F3>, а простое нажатие F3 работало, как и раньше...
У меня давно бродило (да собственно и сейчас пока ещё бродит) желание перевести описание прошивки для FPGA из графической схемы на VHDL - видимо, как программисту - текстовое описание чего либо, напоминающее программу, воспринимается у меня лучше, чем блок схема :)
В Квартусе есть инструмент для автоматического перевода - но он хорошо косячит. Прошлые попытки кончались не запускаемым в принципе кодом - или вообще слетало при попытке синтеза на ошибках или не прошивка была внешне не запускаемой.
На последнем варианте (точнее, теперь уже предпоследнем) во первых нюансы, связанные с особенностями VHDL, в графике были успешно пофиксины, а результат получился почти без ошибок. Четыре операторы были совсем не понятны, я рискнул их просто закомментировать, получившееся описание успешно синтезировалось и после прошивки были видно - что значительная часть функционала даже работает.
С учётом того, что после конвертации файл vhdl примерно на 90 процентов состоит из SYNTHESIZED_WIRE и логику было понять не реально, начал переименование сигналов в что то осмысленное и отслеживание логики. В процессе (начал вечером в пятницу) в воскресенье наткнулся на нечто непонятное в коде. После консультации было определено, что это косяк копи-паста.
Сегодня получил новый вариант прошивки. Хорошая новость - ввод/вывод с клавиатуры / на экран стал (по крайне мере пока) идеальным - вполне можно использовать SL - он у меня как тест был. Долго грешили на FPGA реализацию серийника, даже были какие то улучшения... А оказалось - проблема не там была
У меня есть пара вопросов к работе прошивки - поэтом продолжу копаться в VHDL :)
Ну да, куда же мы без советов. Только совет опять мимо
КЦГД - это ещё очень ранний концепт, а тема про 1201.2018
Когда хоть в каком то виде (пусть и с косяками) можно будет использовать - будет заведена отдельная тема.
Даже в мультиконтроллере ещё не весь функционал (хотя как плюс ещё 4 CF уже работает), поэтому только про CF на нём в этом теме. Будет реализован весь - тоже будет отдельная тема