![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
![]()
Почитал про FDC и там упоминается что на самом деле при обращении к портам, т.е. при невинной команде out 3F2,al идет трансляция этого самого 3F2 в биты для физических PIN-ов контроллера A0-A2. Т.е. в данном случае это 010. А кто занимается этим транслированнием?
И второй вопрос. Эти команды in/out - они обращаются к физическим портам(т.е. фактически PIN-ам микроконтроллеров) или к какому то ретранслятору? До кучи задам и третий вопрос. Firmware процессора это что то вроде его собственного EEPROM-а, который занимается трансляцией и выполнением CISC команд, через транслирование в RISC? Т.е. грубо говоря сам процессор вероятно имеет те же свойства что и большинство МК: возможность обращения к регистрам и портам как к памяти? PS: Все эти вопрос просто для образования ![]()
"Тяжело в учении, легко в бою" - А.В. Суворов
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
![]()
При выполнении команды out на шине адреса (16 бит) устанавливается адрес порта (в вашем случае 3F2), а на шине данных - значение(00000010). После этого в работу вступает дешифратор портов (на современных компах он интегрирован в чипсет, как и FDC), который знает, что порт 3F2 относится к FDC, и коммутирует шину данных процессора с входными линиями FDC. Раньше, когда контроллер флопика был отдельной микросхемой, процессор напрямую обращался к входам FDC, но все равно через коммутатор (как маршрутизатор в сети), называемый дешифратором портов. Сейчас происходит тоже самое, только контроллер спрятан в чипсете компьютера.
3. Ну в принципе да. Только при обращении к портам ввода-вывода используются всего 16 разрядов шины адреса, что означает возможность доступа только к 65536 потрам. И не следует забывать про прямой доступ к памяти http://ru.wikipedia.org/wiki/DMA Последний раз редактировалось alexcoder; 30.07.2009 в 12:44. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Каким образом ведётся заработок в интернете? | Манжосов Денис :) | Свободное общение | 19 | 14.01.2009 00:57 |
Каким образом можно установить предел?? | Xander | Общие вопросы Delphi | 4 | 23.11.2008 10:27 |
Каким образом решить мою проблему?! | beliy-dis | Microsoft Office Excel | 5 | 01.08.2008 10:25 |
Каким образом Delphi компилирует EXE? | Jupiter | Общие вопросы Delphi | 4 | 26.03.2008 16:52 |
Каким образом скопировать файл? | Kashp | Общие вопросы Delphi | 14 | 07.08.2007 11:44 |