Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.07.2009, 22:01   #1
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
Вопрос Каким образом процессор обращается к портам

Почитал про FDC и там упоминается что на самом деле при обращении к портам, т.е. при невинной команде out 3F2,al идет трансляция этого самого 3F2 в биты для физических PIN-ов контроллера A0-A2. Т.е. в данном случае это 010. А кто занимается этим транслированнием?
И второй вопрос. Эти команды in/out - они обращаются к физическим портам(т.е. фактически PIN-ам микроконтроллеров) или к какому то ретранслятору?
До кучи задам и третий вопрос. Firmware процессора это что то вроде его собственного EEPROM-а, который занимается трансляцией и выполнением CISC команд, через транслирование в RISC? Т.е. грубо говоря сам процессор вероятно имеет те же свойства что и большинство МК: возможность обращения к регистрам и портам как к памяти?
PS: Все эти вопрос просто для образования
"Тяжело в учении, легко в бою" - А.В. Суворов
Ivan_32 вне форума Ответить с цитированием
Старый 30.07.2009, 12:29   #2
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

При выполнении команды out на шине адреса (16 бит) устанавливается адрес порта (в вашем случае 3F2), а на шине данных - значение(00000010). После этого в работу вступает дешифратор портов (на современных компах он интегрирован в чипсет, как и FDC), который знает, что порт 3F2 относится к FDC, и коммутирует шину данных процессора с входными линиями FDC. Раньше, когда контроллер флопика был отдельной микросхемой, процессор напрямую обращался к входам FDC, но все равно через коммутатор (как маршрутизатор в сети), называемый дешифратором портов. Сейчас происходит тоже самое, только контроллер спрятан в чипсете компьютера.
3. Ну в принципе да. Только при обращении к портам ввода-вывода используются всего 16 разрядов шины адреса, что означает возможность доступа только к 65536 потрам.
И не следует забывать про прямой доступ к памяти http://ru.wikipedia.org/wiki/DMA
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru

Последний раз редактировалось alexcoder; 30.07.2009 в 12:44.
alexcoder вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Каким образом ведётся заработок в интернете? Манжосов Денис :) Свободное общение 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