2016-09-24 5 views
0

Я новичок в x86 CPU.x86 Управление памятью с защищенным режимом

Я прочитал все материалы об управлении памятью защищенного режима в x86.

материалов являются Intel® 64 и Руководства Тома 3A IA-32 архитектур программного обеспечения для разработчиков, система Руководства по программированию, часть 1

Я считаю, что я понимаю много шагов, когда процессор обращается к памяти. : регистр селектора является индексом таблицы дескриптора сегмента, а запись таблицы дескриптора является базой сегмента, а линейный адрес - добавлением базы сегмента и 32-битного смещения.

Но, что я смущаю, мне кажется, что CPU не может знать, к какому адресу памяти он будет иметь доступ в первый раз, пока все этапы выше не закончатся. Если CPU хочет получить доступ к определенному адресу памяти, он должен знать значение селектора и смещение. Но мой вопрос в том, как он знает? только информация знает ЦП - это адрес памяти, который он хочет получить, не так ли?

Как ЦП знает вход (значение селектора, смещение) уже, когда он только знает выход (адрес памяти)?

+2

Адрес GDT - это линейный адрес, или процессор будет подвержен циклической проблеме, на которую, я полагаю, вы ссылаетесь. Если это не то, о чем вы просите, можете быть более точным? –

ответ

0

... по

  • Микропроцессор реального времени часы или таймер Чипсы
  • периодическая функция называется «тактовый сигнал»
  • по памяти Контроллер-концентратор
  • конфигурацией и питанием (ACPI)
  • ROM, энергонезависимая память внутри чипов (карта памяти RealMode)
  • Таблица локального дескриптора (LDT) - это таблица памяти, используемая в архитектуре x86 в защищенном режиме и содержащая дескрипторы сегмента памяти: запуск в линейной памяти, размер, исполняемость, возможность записи, доступ к привилегии, фактическое присутствие в памяти и т. Д.
  • Таблица дескрипторов прерываний - это структура данных, используемая архитектурой x86 для реализации таблицы векторов прерываний. IDT используется процессором для определения правильного ответа на прерывания и исключения.
  • Intel 8259 - это программируемый контроллер прерываний (PIC), предназначенный для микропроцессоров Intel 8085 и Intel 8086. Начальная часть была 8259, более поздняя версия суффикса A была восходящей совместимой и использовалась с процессором 8086 или 8088. 8259 сочетает в себе несколько источниках прерываний ввода в один выход прерываний на хосте-микропроцессор, расширяя уровни прерываний, доступные в системе за один или два уровня, найденного на чипе процессора

Вы также отсутствуете реальный режим

взгляд также DOS_Protected_Mode_Interface & Virtual Control Program Interface

Как таймер управления чип сброса линии CPU? Смотрите также OSCILLATOR CIRCUIT WITH SIGNAL BUFFERING AND START-UP CIRCUITRY из патентов Google

real time clock

ЦП «начало» выполнения кода, хранящийся в ПЗУ на материнской плате по адресу FFFF0 Процедуры испытание центрального оборудования, поиск видео ROM ...

Так .. это не процессор, что «начинать», потому что это линия питания, который

Блок питания «начинается» сигнал отправляется на материнскую плату, где он принимается чипом таймера процессора , который контролирует линию сброса на процессор.

Как работает BIOS detect RAM? Смотрите также последовательного обнаружения присутствия, при включении питания самотестирования (POST)

BIOS, представляет собой 16-битная программа работает в реальном режиме

В BIOS начинает POST, когда процессор будет сброшен , Первое место памяти, которое пытается выполнить ЦП, называется вектором сброса. В случае жесткой перезагрузки северный мост направит этот выбор кода (запрос) на BIOS, расположенный в системной флэш-памяти. Для теплой загрузки BIOS будет расположен в нужном месте в ОЗУ, а северный мост направит запрос на сброс в ОЗУ.

Что это за сброс?

вектор сброса по умолчанию местоположение центральный процессор будет идти, чтобы найти первую инструкцию он будет выполнять после сброса. Вектор сброса - это указатель или адрес, где CPU всегда должен начинаться, как только он может выполнять инструкции. Адрес находится в разделе энергонезависимой памяти, инициализированном с инструкциями по началу работы ЦП, в качестве первого шага в процессе загрузки системы, содержащей процессор.
Вектор сброса для процессора 8086 имеет физический адрес FFFF0h (16 байт ниже 1 МБ). Значение регистра CS при сбросе - FFFFh, а значение регистра IP при сбросе - 0000h, чтобы сформировать сегментированный адрес FFFFh: 0000h, который отображается на физический адрес FFFF0h.

О Нортбриджа

северного моста или к мосту является одним из двух чипов в архитектуре ядра логики чипсета на материнской плате ПК, другой южный мост. В отличии от южного моста, северный мост подключается напрямую к центральному процессору с помощью передней стороны шины (FSB)

Источников:

«80386 программиста Справочного руководства» (PDF). Intel. 1990. Раздел 10.1 Состояние процессора после сброса
«Справочное руководство для программистов 80386» (PDF). Intel. 1990. Раздел 10.2.3 Первая инструкция,