Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Другие архитектуры » Использование НМД2 в ДВК |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 11 12 13 14 15 * 16 17 | Печать |
andyTh |
Сообщение отправлено: 9 июля 2014 15:46 Сообщение отредактировано: 9 июля 2014 15:50
Ну, считать за одно обращение к диску больше чем кластер, я по идее не смогу. В смысле используя готовые библиотеки. А это те же 512 байт, бОльшие кластера вряд ли имеет смысл делать. Но, я тоже думаю имеет смысл сделать для начала просто регистр. Тогда я у себя делаю так: Базовый адрес ххх. Положить суда или часы в BCD или доп. порт. или служебную инфу ххх+2 регистр номера привода (запись/чтение) ххх+4 регистр ёмкости привода в блоках (чтение) ххх+6 регистр номера блока (запись) ххх+8 регистр счётчика слов (запись/чтение) ххх+10 регистр команд (запись/чтение) ххх+12 регистр данных (запись/чтение) Опять же таки, где то же есть эта раскладка по адресам для "контроллера общего применения" Под что то же писан загрузчик встроенный в МС1201.03. |
Сейчас на форуме |
_Patron_
Member
Откуда: Москва Всего сообщений: 146 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 дек. 2012 |
AndyTh написал: Если чтение/запись кластера занимает больше времени, чем тайм-аут шины, то надо добавить в контроллер регистр статуса, рапортующий о готовности очередного кластера. Ну, считать за одно обращение к диску больше чем кластер, я по идее не смогу. |
andyTh |
NEW! Сообщение отправлено: 9 июля 2014 21:25
Поскольку и в регистре номера накопителя и в регистре команд будет занято по одному байту, второй байт можно выделить под статус. Хотя и целое слово довыделить не проблема. |
Сейчас на форуме |
borisfox
Advanced Member
Откуда: Хабаровск Всего сообщений: 946 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 июля 2008 |
Сделайте совместимым по регистрам с КЖД, по крайней мере с загрузчиком и драйвером проблем не будет... |
andyTh |
NEW! Сообщение отправлено: 10 июля 2014 6:19
Так ведь потеряется магия блочного устройства... Рискнуть и покопать 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 |
NEW! Сообщение отправлено: 10 июля 2014 8:45
Хотелось бы увидеть раскладку регистров от DB. Это же и есть встроенный MSCP? В чём сложность MSCP по сравнению с тем же КЖД? MSCP отдаёт номер блока напрямую, в случае ЖД его надо будет вычислить по головкам/цилиндрам. Реализация контроллера? Возможно, но пока трудностей не видится ни с тем ни с другим. |
Сейчас на форуме |
_Patron_
Member
Откуда: Москва Всего сообщений: 146 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 дек. 2012 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 10 июля 2014 14:42 Сообщение отредактировано: 10 июля 2014 18:01
borisfox написал: Так дековцы называли RK03/05 DK - ? AndyTh написал: Здесь есть тонкий момент, заключающийся в том, что контроллер должен обслуживать обращения к своему регистру статуса вне зависимости от фазы выполнения управляющей программы контроллера. Т.е. если (например) при чтении кластера контроллер перестаёт обслуживать шину - наличие эмулируемого регистра статуса ничем не поможет, потому что при обращении к нему произойдёт такой же тайм-аут, как и при обращении к эмулируемому регистру данных. Поскольку и в регистре номера накопителя и в регистре команд будет занято по одному байту, второй байт можно выделить под статус. Хотя и целое слово довыделить не проблема. В КЖД на такой случай выделен специальный аппаратный регистр. Перед тем, как процессор КЖД перестаёт обслуживать шину МПИ и отвечать на обращения по МПИ к эмулируемым регистрам - он снимает в аппаратном регистре бит готовности. При включении питания бит готовности в аппаратном регистре автоматически сбрасывается и устанавливается процессором после завершения программы начального тестирования. Старший бит регистра статуса или регистра команд нужно выделить под признак ошибки. Если драйвер передаёт номер блока, которого нет в подключенном образе, или номер привода, к которому не подключен образ - контроллер может сразу сообщить об ошибке или сделать это после подачи кода команды. |
borisfox
Advanced Member
Откуда: Хабаровск Всего сообщений: 946 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 июля 2008 |
AndyTh написал: Нет, MSCP это DU, а что они подразумевали под DB, я не знаю... Хотелось бы увидеть раскладку регистров от DB. Это же и есть встроенный MSCP? AndyTh написал: Протокол достаточно навороченный, с очередями команд в памяти. Много разных команд с развесистым списком параметров. Активно завязан на ПДП для передачи как дескрипторов команд, так и данных. В Вашем случае работа с ПДП не поддерживается, так что отпадает как минимум по этой причине... В чём сложность MSCP по сравнению с тем же КЖД? MSCP отдаёт номер блока напрямую, в случае ЖД его надо будет вычислить по головкам/цилиндрам. Реализация контроллера? Возможно, но пока трудностей не видится ни с тем ни с другим. Начать можно, например, со спецификаций отсюда: http://www.textfiles.com/bitsavers/pdf/dec/mscp/. Также можно взять описание любого MSCP-совместимого контроллера посовременнее, например, DEC RQDX3, RQDX4, или дисковые контроллеры Dilog/Emulex... посмотреть, как спецификацию реализовывали в реальных железках... |
andyTh |
NEW! Сообщение отправлено: 10 июля 2014 20:59
borisfox написал: Вот же ... Мда. Доки почитаю, спасибо огромное! Меня на неделю отправляют в ссылку, так что надеюсь почитать время будет. Протокол достаточно навороченный, с очередями команд в памяти. Много разных команд с развесистым списком параметров. Активно завязан на ПДП для передачи как дескрипторов команд, так и данных. В Вашем случае работа с ПДП не поддерживается, так что отпадает как минимум по этой причине... Т.е или свой драйвер MSCP, или КЖД... Будем подумать. |
Сейчас на форуме |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 11 12 13 14 15 * 16 17 | Печать |
Полигон-2 » Другие архитектуры » Использование НМД2 в ДВК |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |