| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для начинающих > Процессор и оборудование |
| Автор: Compositum 15.3.2012, 23:16 |
| Доброго времени суток. Разбираюсь, каким образом процессор определяет наличие оборудования. В качестве примера беру такую материнскую плату (признаюсь честно - выбрал свою модель ![]() На материнской плате присутствует множество различных слотов, а так же вот такая гроздь радостей: ![]() Дополнительная информация об указанной мною материнской плате http://ru.asus.com/Motherboards/Intel_Socket_1366/P6T_SE/#specifications, а более подробные фотографии http://hexus.net/tech/reviews/mainboard/22265-asus-p6t-se-x58-motherboard-new-lease-life/?page=2 (если эта информация потребуется). В свете того, что я прочитал в книгах, у меня сложилось некоторое "понимание" по указанному вопросу. Однако я не уверен, что это самое "понимание" верно и прошу меня поправить там где я ошибся. Суть "понимания" такова, что любая материнская плата покрыта паутиной проводов, подобно кровеносной системе. Вся эта кровеносная система тянется к процессору от слотов, внешних портов (USB2, PS/2 и т.д.) размещённых на материнской плате и именуется "системной шиной". Слоты и порты стыкуются с материнской платой так же посредством своих "шин" (что создаёт некоторую путаницу в системе наименований). Тут где-то должны фигурировать некие "контроллеры", но я пока не понял их места в обозначенной мною схеме. :( Процессор имеет множество "лапок". Доступное адресное пространство процессора равно двум, возведённым в степень, равную количеству "лапок". Т.о. адресное пространство включает в себя и оперативную память и адреса всех слотов/портов, имеющихся на плате. Я так понял, что существует некий СТАНДАРТ, которому следуют все производители материнских плат. Суть этого стандарта заключается в том, что в любом процессоре по зараннее известным адресам (однозначно определённым в стандарте) хранится информация о том, какой адрес имеет каждый слот и каждый порт, размещённые на этой плате. Для того, чтобы отправить байты в порт/слот, следует: 1. Получить адрес этого порта/слота (из ячейки памяти, определённой стандартом для порта/слота этого типа). 2. В ячейки этого адреса поместить байты, которые нужно передать. 3. Вызвать нужную команду ассемблера, которая отправит эти байты на этот порт/слот, обнулив содержимое указанных в п.2 ячеек памяти. Для того, чтобы прочитать байты из порта/слота следует: 1. Получить адрес этого порта/слота (из ячейки памяти, определённой стандартом для порта/слота этого типа). 2. Из ячеек этого адреса прочитать байты, которые появились в этих ячейках. Это подобно тому, как работают с видеосистемой в DOS - чтобы вывести символ на экран, его нужно поместить в определённую ячейку памяти. Если на материнской плате отсутствует порт/слот, то ячейки памяти, в которых должен размещаться адрес этого порта/слота, в качестве значения будут размещаться нули... Прошу поправить меня, если я что-то напутал. Фотографии платы показываю для того, чтобы в замечаниях к моему текущему "восприятию" можно было указать физические аспекты взаимодействия компонентов материнской платы. Спасибо |
| Автор: 500mhz 15.3.2012, 23:28 |
| процессор сам ниче не определяет, биос определяет. |
| Автор: LeonidPr 16.3.2012, 00:22 | ||||
http://upload.wikimedia.org/wikipedia/commons/1/12/Motherboard_diagram_ru.svg Еще попробуйте почитать например Э. Таненбаума "Архитектура компьютера" там найдете и про контроллеры и про многое другое. Еще предлагаю http://ru.osdev.wikia.com/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A3%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%BE_%D0%9F%D0%9A поковыряться, есть интересные статьи.
Добавлю, что процессору вообще ничего не надо. Он просто выполняет программу. А вот программа уже может что-то определять с какой-то своей целью. При старте компьютера такой программой является BIOS, её задача проинициализировать устройства, расположенные на материнской плате и запустить первичный загрузчик ОС. Еще скажу, что определение, идентификация и инициализация каждого устройства - отдельная, зачастую, довольно сложная задача. Так что читайте литературу, если уж этот вопрос вас интересует, и задавайте конкретные вопросы. |
| Автор: LariKing 5.4.2023, 17:35 |
| да уж круто Добавлено через 23 секунды Я искал надежное сварочное оборудование для нашей компании и нашел подходящий вариант на сайте https://dn.ru/ . Оборудование было современным и имело широкий диапазон возможностей. Я связался с менеджером и получил подробную консультацию по характеристикам и доставке. Заказ был оформлен быстро и без проблем. Оборудование было доставлено вовремя и установлено на производстве в течение нескольких дней. Мы сразу начали использовать его и были удивлены его высокой производительностью и надежностью. Новое оборудование значительно улучшило качество сварочных работ и повысило производительность нашей компании. |