Научно-изследователска дейност № 7 системно устройство подкрепа

Специалистите хардуерни и системни програмисти, работещи
с платформата на PC, е добър знак "задайте джентълменско" чипове
Поддръжка: Контролер за достъп до пряка паметта (DMA) Intel 8237 (K1810VT37)
Intel 8259A прекъсване контролер (K1810VN59A), таймер система Intel 8254
(K1810VI54). Въпреки факта, че в продължение на дълъг период от време за една модерна дънна платка
Не можете да видите тези компоненти като отделни чипове (те
внедрена в "южен мост" чипсет) на нивото на програмния модел те
Подобно на древния автобус ISA, все още съществува.

Но с течение на времето, както и на изискванията на дънната платка се увеличи значително.
Поради това, инженерите са избрали да добавите нова система от устройства за подпомагане,
с опазването на старите, за да се гарантира съвместимост. Нека разгледаме,
защо днешните разработчиците вече не са доволни от тези "стари приятели", и
кои устройства са дошли да ги замени.

Някои от устройствата все още използват "старите" контролера на DMA,
дискета контролер, той не е бил прехвърлен в новата технология, като
скорост на трансфер на данни е значително ограничава възможността на
шофиране.

"Стар" Прекъсване контролер. въз основа на две каскадно
чипове Intel 8259A, има 15 заявки за прекъсване линии. за модерна
платформа, е, разбира се, малко, но използването на технология за споделяне на IRQ,
позволява на множество устройства, за да споделят един IRQ линия,
пращам на проблема на заден план. На първото ниво, като същевременно
решението да се премести в нова реализация на прекъсване подсистема е подкрепа
многопроцесорни системи (включително
Многоядрени и
Hyper-Threading System). В такива системи, interprocessor взаимодействие
въз основа на прекъсване МИП (Inter-Processor прекъсвания). предадена
от един процесор на друг. Също така усложнява алгоритъма за арбитраж: Сега
трябва не само да се избере най-висока искане приоритет IRQ от няколко
едновременно активни, но и да се избере най-малко приоритет процесор, който
Той ще бъде изпратен на това искане, тъй като логичното се прекъсне най-малкото,
важна процедура. Приоритети процесори променят динамично в съответствие с
приоритети, процедури, извършвани от тях. За решаването на тези проблеми е разработена
архитектура APIC (Advanced Programmable Interrupt Controller). дойде
на мястото на Intel 8259. Контролерът също се разви MSI технология
(Съобщение сигнализира прекъсвания). въз основа на прехвърлянето на заявките за прекъсване
Не специализирани сигнални линии и цикли (съобщения), запис на паметта.
Разбира се, на записа не се използва в основната памет, и регистрира APIC,
разположен в пространството памет.

Bit "стари" таймер (16 бита) и резолюция (1 / 1,193 MHz
= 838 НС) не са доволни от днешните приложения. има и
необходимостта от по-гъвкаво управление на производството на прекъсване. Поради това, че е
проектиран HPET таймер (High Precision събитие таймер). в детайли
счита в тази статия.

Забележка. HPET термин е остаряла синоним - или ММТ
Мултимедия таймер.

За домейн

HPET или High Precision Таймер събитие физически се намират в
на "Southbridge" чипсет. Моделната гама на Intel чипсети, HPET на таймера
за първи път в чипа ICH5, използван като "южен мост"
Intel 865 чипсет, 875, 848. Номерът на модела на AMD чипсети, първият таймер HPET
Тя се появява в чипа 8111 (Hyper-транспортна I / O Hub), която е част от
AMD8000 чипсет (хронологично първия чипсет за AMD64 платформа).

Memory-картирани I / O (MMIO)

Нека илюстрираме това с един пример. Да кажем, че ние трябва да се контролира регистър
устройство е настроен на "1" малко 7, оставяйки останалите битове без
промени. Ако регистърът се намира в пространството IO, изисква три
инструкции:

Ако регистърът се намира в пространството на паметта, само една инструкция:

Но какво се случва, ако се приложи тази технология при четене на регистъра на състоянието
устройство? Да кажем, че нашата програма очаква малко инсталация цикъл
готовност в регистъра на състоянието:

WB (Write-Back) - позволява на всички действия, които да оптимизират
изпълнение: кеширане, предварително четене и запис-назад. обикновено
Това състояние се определя на региони, където има оперативна памет (RAM).

WT (Write-Through) - позволява на всички действия, които да оптимизират
изпълнение, с изключение на разсрочено влизане. Когато се работи с региона
събитието в памет на записа, процесорът трябва незабавно да актуализира данните в кеша и
RAM. Това е различно от състоянието на състоянието на Write-Back при
които данните се обновяват в кеша и влизането в RAM паметта се извършва "в удобно
случай ", когато автобусът е безплатна, когато линията е принуден от кеша с нови данни или
когато принуден почистване на кеша.

UC (неподлежащо на кеширане) - забранено кеширане и всички действия, насочени
да се увеличи производителността. За региони с памет, които имат този статут,
процесора извършва само тези операции, които са изрично посочени в програмата.
Тя забранява всякаква "инициатива" от страна на процесора да се промени малко
автобусни цикли и реда на тяхното изпълнение. Това състояние се определя на регионите,
които са регистрите на контрол и състоянието на различни устройства (MMIO,
Memory-картирани I / O), позволява да се поддържа протокол за комуникация с устройството
на нивото на автобусни цикли във формата, в която той е бил написан от програмист.

Детайли в [5], [10], [14], [15], [16].

Гледан в тази статия HPET таймер използва MMIO, го регистрира
Намира се в пространството на паметта, тя е една от разликите му от "старите" таймера
Intel 8254, които използват пристанища 0040h-0043h. Както е показано по-горе, в региона
памет, съдържаща MMIO трябва да има статута неподлежащо на кеширане. задаване на този
статус (т.е. MTRR програмиране) изпълнява BIOS по време на стартирането на платформата.

източници на информация

Електронните документи са на разположение на интернет страницата на
developer.intel.com.

1) IA-PC HPET (High Precision събитие таймери) спецификация. 1.0a ревизия.
2) Intel 64 и Ръководство IA-32 архитектури софтуер за програмисти. Том 1: Основна
Архитектура. Номер на поръчката 253665-023US.
3) Intel 64 и Ръководство IA-32 архитектури софтуер за програмисти. Том 2А:
Набор инструкции Референтен, А-М. Номер на поръчката 253666-023US.
4) Intel 64 и Ръководство IA-32 архитектури софтуер за програмисти. Том 2В:
Инструкция Комплект Референтен, N-Z. Номер на поръчката 253667-023US.
5) Intel 64 и Ръководство IA-32 архитектури софтуер за програмисти. Том 3A:
Ръководство за програмиране на системата, част 1. Номер на поръчката 253668-023US.
6) Intel 64 и Ръководство IA-32 архитектури софтуер за програмисти. Том 3Б:
Ръководство за програмиране на системата, част 2. Номер на поръчката 253669-023US.
7) Intel 915G / 915P Express Chipset Техн. Номер на документа 301467-001.
8) Intel I / O Controller Hub 6 (ICH6) Семеен Техн. Номер на документа
301473-001.

Електронните документи са на разположение на интернет страницата на
developer.amd.com.

9) Ръчна AMD64 архитектура програмист. Том 1: Application Programming.
Publication No. 24592.
10) Ръчно AMD64 архитектура програмист. Том 2: Системно програмиране.
Publication No. 24593.
11) Ръчно AMD64 архитектура програмист. Том 3: с общо предназначение и System
Инструкции. Publication No. 24594.
12) Ръчно AMD64 архитектура програмист. Том 4: 128-битово Media
Инструкции. Publication No. 26568.
13) Ръчно AMD64 архитектура програмист. Том 5: 64-битова Медии и x87
Плаваща запетая инструкции. Publication No. 26569.
14) BIOS и Ръководство на ядрото на програмиста за AMD Athlon 64 и AMD Opteron
Процесори. Publication No. 26094.
15) BIOS и Ръководство на ядрото на програмиста за AMD NPT Семейни 0Fh процесори.
Publication No. 32559.
16) BIOS и Ръководство на ядрото на програмиста (BKDG) За AMD процесори Семейни 10h.
Publication No. 31116.

Електронните документи са на разположение на интернет страницата на
pcisig.com.

17) PCI BIOS спецификация. Revision 2.1.

Електронните документи са на разположение на интернет страницата на
acpi.info.

18) Advanced за енергийно потребление спецификация. Hewlett-Packard
Corporation, Intel Corporation, Microsoft Corporation, Phoenix Technologies
Ltd. Toshiba Corporation. Revision 3.0.

Покажете тази статия на приятел: