Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Другие архитектуры » Использование НМД2 в ДВК |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... .. 12 13 14 15 16 * 17 | Печать |
_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 ноги. |
Сейчас на форуме |
borisfox
Advanced Member
Откуда: Хабаровск Всего сообщений: 946 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 июля 2008 |
Anonymous написал: Теоретически интересно, а практически заливать пока всё равно нечем, я программатор так ещё и не купил... Если интересно, могу выложить вечером. AndyTh написал: И захват адреса программно? А не расточительно ли это - ловить каждый цикл обмена шины, а не только свои?... Ведь контроллеру ещё и с диском обмениваться когда-то надо... У меня работа с шиной полностью программная. Скорости более чем хватает. |
andyTh |
NEW! Сообщение отправлено: 11 июля 2014 9:08
Ядро контроллера 120МГц. Порты тактируются ядро/2. всё 16бит слово читается за 1 раз. Может и расточительно, но хватает же. У нас задача то выставить сигналы управления да переложить байты из одного порта во второй. |
Сейчас на форуме |
Anonymous
Advanced Member
Откуда: Москва(Россия) Всего сообщений: 2537 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 нояб. 2011 |
borisfox написал: Теоретически интересно, а практически заливать пока всё равно нечем, я программатор так ещё и не купил...http://qbus.narod.ru/134patched.rr1 - образ пзу, http://qbus.narod.ru/134patched.true - инвертированный по данным и адресам (для ленивых), http://qbus.narod.ru/134patch.mac - исходник загрузчиков оставленных и таблицы для их выгрузки. http://qbus.narod.ru/du.lst - дамп загрузчика с MSCP из тела 134й прошивки. |
<<Назад Вперед>> | Страницы: 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 тем | |