Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Другие архитектуры »   Использование НМД2 в ДВК
RSS

Использование НМД2 в ДВК

<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... 11 12 13 14 15 * 16 17
Печать
 
andyTh
Гость

Ссылка

Ну, считать за одно обращение к диску больше чем кластер, я по идее не смогу. В смысле используя готовые библиотеки.
А это те же 512 байт, бОльшие кластера вряд ли имеет смысл делать. Но, я тоже думаю имеет смысл сделать для начала просто регистр.
Тогда я у себя делаю так:

Базовый адрес ххх. Положить суда или часы в BCD или доп. порт. или служебную инфу
ххх+2 регистр номера привода (запись/чтение)
ххх+4 регистр ёмкости привода в блоках (чтение)
ххх+6 регистр номера блока (запись)
ххх+8 регистр счётчика слов (запись/чтение)
ххх+10 регистр команд (запись/чтение)
ххх+12 регистр данных (запись/чтение)
Опять же таки, где то же есть эта раскладка по адресам для "контроллера общего применения" Под что то же писан загрузчик встроенный в МС1201.03.
Сейчас на форуме
_Patron_
Member


Откуда: Москва
Всего сообщений: 146
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
19 дек. 2012
AndyTh написал:
[q]
Ну, считать за одно обращение к диску больше чем кластер, я по идее не смогу.
[/q]
Если чтение/запись кластера занимает больше времени, чем тайм-аут шины, то надо добавить в контроллер регистр статуса, рапортующий о готовности очередного кластера.
andyTh
Гость

Ссылка

Поскольку и в регистре номера накопителя и в регистре команд будет занято по одному байту, второй байт можно выделить под статус. Хотя и целое слово довыделить не проблема.
Сейчас на форуме
borisfox
Advanced Member


Откуда: Хабаровск
Всего сообщений: 946
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 июля 2008
Сделайте совместимым по регистрам с КЖД, по крайней мере с загрузчиком и драйвером проблем не будет...
andyTh
Гость

Ссылка

Так ведь потеряется магия блочного устройства...
Рискнуть и покопать 134 прошивку, попробовать вытянуть параметры регистров и команд оттуда?
Сейчас на форуме
borisfox
Advanced Member


Откуда: Хабаровск
Всего сообщений: 946
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 июля 2008
А параметры регистров чего? КЖД ? Они же все в описании расписаны.

В -134 замечена возможность загрузки со следующих устройств:
MT\t- НМЛ СМ5300
CT\t- НМЛ кассетный
DK\t- ?
DP\t- RP02/03 Disk ?
DM\t- RK06/07 Disk ?
MM\t- MM (TJU16) MAGTAPE ?
DB\t- ?
DS\t- RJS03/04 Disk ?
DX\t- ГМД-7012
DW\t- КЖД
MX\t- КНГМД
MY\t- КМД
DU\t- MSCP Disk
Все я плотно не колупал, поэтому "?" отмечены неизвестные или непроверенные (в самом деле то или просто название совпадает). Можно подстроиться и под какой-нибудь другой из перечисленных, но самый простой из них, думаю, всё-таки КЖД... Самый правильный - MSCP, но он сложный.
andyTh
Гость

Ссылка

Хотелось бы увидеть раскладку регистров от DB. Это же и есть встроенный MSCP?
В чём сложность MSCP по сравнению с тем же КЖД? MSCP отдаёт номер блока напрямую, в случае ЖД его надо будет вычислить по головкам/цилиндрам. Реализация контроллера? Возможно, но пока трудностей не видится ни с тем ни с другим.
Сейчас на форуме
_Patron_
Member


Откуда: Москва
Всего сообщений: 146
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
19 дек. 2012
borisfox написал:
[q]
DK - ?
[/q]
Так дековцы называли RK03/05


AndyTh написал:
[q]
Поскольку и в регистре номера накопителя и в регистре команд будет занято по одному байту, второй байт можно выделить под статус. Хотя и целое слово довыделить не проблема.
[/q]
Здесь есть тонкий момент, заключающийся в том, что контроллер должен обслуживать обращения к своему регистру статуса вне зависимости от фазы выполнения управляющей программы контроллера. Т.е. если (например) при чтении кластера контроллер перестаёт обслуживать шину - наличие эмулируемого регистра статуса ничем не поможет, потому что при обращении к нему произойдёт такой же тайм-аут, как и при обращении к эмулируемому регистру данных.

В КЖД на такой случай выделен специальный аппаратный регистр. Перед тем, как процессор КЖД перестаёт обслуживать шину МПИ и отвечать на обращения по МПИ к эмулируемым регистрам - он снимает в аппаратном регистре бит готовности. При включении питания бит готовности в аппаратном регистре автоматически сбрасывается и устанавливается процессором после завершения программы начального тестирования.


Старший бит регистра статуса или регистра команд нужно выделить под признак ошибки. Если драйвер передаёт номер блока, которого нет в подключенном образе, или номер привода, к которому не подключен образ - контроллер может сразу сообщить об ошибке или сделать это после подачи кода команды.
borisfox
Advanced Member


Откуда: Хабаровск
Всего сообщений: 946
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 июля 2008
AndyTh написал:
[q]
Хотелось бы увидеть раскладку регистров от DB. Это же и есть встроенный MSCP?
[/q]
Нет, MSCP это DU, а что они подразумевали под DB, я не знаю...


AndyTh написал:
[q]
В чём сложность MSCP по сравнению с тем же КЖД? MSCP отдаёт номер блока напрямую, в случае ЖД его надо будет вычислить по головкам/цилиндрам. Реализация контроллера? Возможно, но пока трудностей не видится ни с тем ни с другим.
[/q]
Протокол достаточно навороченный, с очередями команд в памяти. Много разных команд с развесистым списком параметров. Активно завязан на ПДП для передачи как дескрипторов команд, так и данных. В Вашем случае работа с ПДП не поддерживается, так что отпадает как минимум по этой причине...
Начать можно, например, со спецификаций отсюда: http://www.textfiles.com/bitsavers/pdf/dec/mscp/.
Также можно взять описание любого MSCP-совместимого контроллера посовременнее, например, DEC RQDX3, RQDX4, или дисковые контроллеры Dilog/Emulex... посмотреть, как спецификацию реализовывали в реальных железках...
andyTh
Гость

Ссылка

borisfox написал:
[q]
Протокол достаточно навороченный, с очередями команд в памяти. Много разных команд с развесистым списком параметров. Активно завязан на ПДП для передачи как дескрипторов команд, так и данных. В Вашем случае работа с ПДП не поддерживается, так что отпадает как минимум по этой причине...
[/q]
Вот же ... Мда. Доки почитаю, спасибо огромное! Меня на неделю отправляют в ссылку, так что надеюсь почитать время будет.
Т.е или свой драйвер MSCP, или КЖД...
Будем подумать.
Сейчас на форуме
<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... 11 12 13 14 15 * 16 17
Печать
Полигон-2 »   Другие архитектуры »   Использование НМД2 в ДВК
RSS

0 посетителей просмотрели эту тему за последние 15 минут
В том числе: 0 гостей, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS