Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Другие архитектуры » Использование НМД2 в ДВК |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... .. 12 13 14 15 16 * 17 | Печать |
andyTh |
Сообщение отправлено: 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, или КЖД... Будем подумать. |
Сейчас на форуме |
andyTh |
NEW! Сообщение отправлено: 10 июля 2014 21:02
_Patron_ написал: Судя по всему процу на КЖД катастрофически не хватало скорости. И обработка шины в реалтайме была буквально на грани. В КЖД на такой случай выделен специальный аппаратный регистр. Перед тем, как процессор КЖД перестаёт обслуживать шину МПИ и отвечать на обращения по МПИ к эмулируемым регистрам - он снимает в аппаратном регистре бит готовности. При включении питания бит готовности в аппаратном регистре автоматически сбрасывается и устанавливается процессором после завершения программы начального тестирования. У меня железного доп регистра нет. Так что особой разницы регистр или бит функционально тоже нет. |
Сейчас на форуме |
borisfox
Advanced Member
Откуда: Хабаровск Всего сообщений: 946 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 июля 2008 |
В КЖД процессор, по сути, выполняет роль конечного автомата с микропрограммным управлением. Содержимое двух ПЗУ реализует диаграмму состояний, третьего - выдачу управляющих сигналов. Доступ к регистрам был возможен только во вполне определённых состояниях. Разряд 15 ("ЗАНЯТ") регистра РСНУ (состояния/начальной установки) как раз и показывал, когда контроллер свободен (регистры доступны), а когда нет... Сейчас так извращаться, наверное, излишне. Если реализовывать КЖД-совместимый контроллер, то можно защёлку и дешифрацию адреса регистров выполнять аппаратно, и при совпадении генерировать прерывание на микроконтроллер, по которому он будет уходить на подпрограмму обслуживания доступа к ним. |
Anonymous
Advanced Member
Откуда: Москва(Россия) Всего сообщений: 2537 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 нояб. 2011 |
borisfox написал: DB это RP04/RP05/RP06 Нет, MSCP это DU, а что они подразумевали под DB, я не знаю... У меня из 134й все ненужное выкинуто, оставил только загрузчики с ide, scsi, dw, my и spi. Если интересно, могу выложить вечером. |
andyTh |
NEW! Сообщение отправлено: 11 июля 2014 8:18 Сообщение отредактировано: 11 июля 2014 8:28
У меня работа с шиной полностью программная. Скорости более чем хватает. Да и полного аналога КЖД не выйдет. На готовой платке ног оказалось маловато и на прерывания не хватило. Можно пожертвовать "железным" кварцем и перейти на внутренний генератор. Тогда высвободятся ещё 2 ноги. |
Сейчас на форуме |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... .. 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 тем | |