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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2012, 00:15   #1
RedCrystal
 
Регистрация: 13.03.2012
Сообщений: 4
Вопрос Процессор и оборудование

Доброго времени суток.

Разбираюсь, каким образом процессор определяет наличие оборудования. В качестве примера беру такую материнскую плату (признаюсь честно - выбрал свою модель ):



На материнской плате присутствует множество различных слотов, а так же вот такая гроздь радостей:



Дополнительная информация об указанной мною материнской плате здесь, а более подробные фотографии здесь (если эта информация потребуется).

В свете того, что я прочитал в книгах, у меня сложилось некоторое "понимание" по указанному вопросу. Однако я не уверен, что это самое "понимание" верно и прошу меня поправить там где я ошибся.

Суть "понимания" такова, что любая материнская плата покрыта паутиной проводов, подобно кровеносной системе. Вся эта кровеносная система тянется к процессору от слотов, внешних портов (USB2, PS/2 и т.д.) размещённых на материнской плате и именуется "системной шиной". Слоты и порты стыкуются с материнской платой так же посредством своих "шин" (что создаёт некоторую путаницу в системе наименований).

Тут где-то должны фигурировать некие "контроллеры", но я пока не понял их места в обозначенной мною схеме.

Процессор имеет множество "лапок". Доступное адресное пространство процессора равно двум, возведённым в степень, равную количеству "лапок". Т.о. адресное пространство включает в себя и оперативную память и адреса всех слотов/портов, имеющихся на плате.

Я так понял, что существует некий СТАНДАРТ, которому следуют все производители материнских плат. Суть этого стандарта заключается в том, что в любом процессоре по зараннее известным адресам (однозначно определённым в стандарте) хранится информация о том, какой адрес имеет каждый слот и каждый порт, размещённые на этой плате.

Для того, чтобы отправить байты в порт/слот, следует:
1. Получить адрес этого порта/слота (из ячейки памяти, определённой стандартом для порта/слота этого типа).
2. В ячейки этого адреса поместить байты, которые нужно передать.
3. Вызвать нужную команду ассемблера, которая отправит эти байты на этот порт/слот, обнулив содержимое указанных в п.2 ячеек памяти.

Для того, чтобы прочитать байты из порта/слота следует:
1. Получить адрес этого порта/слота (из ячейки памяти, определённой стандартом для порта/слота этого типа).
2. Из ячеек этого адреса прочитать байты, которые появились в этих ячейках.

Это подобно тому, как работают с видеосистемой в DOS - чтобы вывести символ на экран, его нужно поместить в определённую ячейку памяти.

Если на материнской плате отсутствует порт/слот, то ячейки памяти, в которых должен размещаться адрес этого порта/слота, в качестве значения будут размещаться нули...

Прошу поправить меня, если я что-то напутал. Фотографии платы показываю для того, чтобы в замечаниях к моему текущему "восприятию" можно было указать физические аспекты взаимодействия компонентов материнской платы.

Спасибо
RedCrystal вне форума Ответить с цитированием
Старый 16.03.2012, 08:14   #2
Rock-n-Rolla
Форумчанин
 
Регистрация: 11.01.2012
Сообщений: 178
По умолчанию

есть два способа общения с устройствами. через память и через порты ввода вывода. При общении через порты вводы/вывода используются команды in/out, эта форма взаимодействия используется в старых устройствам и постепенно устаревает (в новых устройствах не используется). При общении в через память, достаточно записать командой MOV некоторые данные по определённому адресу памяти и эти данные будут переданы устройству.
progromore.i2p - первый русскоязычный портал программистов в скрытосети
Rock-n-Rolla вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оборудование VinT_Ivanovich Общие вопросы по Java, Java SE, Kotlin 1 30.12.2010 07:56
Неизвестное оборудование Rembo Свободное общение 7 06.11.2008 18:41