Програма на предмета Дънни платки за специалност Компютърна техника и технологии в професионалните гимназии. Литература



страница1/7
Дата28.10.2018
Размер1.08 Mb.
#104073
ТипПрограма
  1   2   3   4   5   6   7
Дънни платки

Раздел II

Системни ресурси на дънната платка.

Компоненти на дънната платка



Автор: инж. Красимир Дойчев
Съдържание

  1. Хардуерни прекъсвания – IRQ. Процес на IRQ прекъсване.

  2. Контролер на прекъсвания. Блокова схема и принцип на действие.

  3. Каскадно свързване на контролерите на прекъсване. Приоритет на прекъсванията. Plug and Play системи.

  4. DMA канали. DMA процес и DMA контролери.

  5. Адреси на входно-изходните портове и адреси на паметта.

  6. Системен таймер. Блокова схема. Основни функции в PC системата.

  7. ROM-BIOS на дънната платка. Структура на BIOS. Софтуерни прекъсвания на BIOS. Flash ROM BIOS .

  8. RTC/CMOS-RAM (Real Time Clock/CMOS-RAM). Конфигуриране на PC системата при IBM PC/XT, IBM PC/АT-80286, 80386, 80486, Pentium. Програмата BIOS-Setup.

  9. Тактови честоти на дънната платка. Кварцов генератор. Генериране на тактови честоти – PLL схеми. Настройки на тактовите честоти.

  10. Захранващи напрежения на дънната платка – на процесора, на паметта, на разширителните слотове.



Темите и учебното съдържание са в съответствие с учебната програма на предмета Дънни платки за специалност Компютърна техника и технологии в професионалните гимназии.
Литература

  1. Дембовски, Клаус. PC Сервизен справочник. т.2 Дънни платки.BIOS Setup. С., Техника, 2000.

  2. Иванова, Людмила. Въведение в PC, С., БАН, 2007.

  3. Карбо, Михел. Архитектура на РС: Самоучител за всеки. – София, Егмонт България, 2003. 

  4. Мюлер, Скот. Компютърна енциклопедия. 14-то издание. С., СофтПрес, 2002.

  5. Mueller, Scott Upgrading and Repairing Pcs, 17th Edition. Que. 2006.

  6. Mueller, Scott Upgrading and Repairing Pcs, 18th Edition. Que. 2007.

  7. Щраков, Станко. Програмиране и използване на компютри – лекции.
    http://www.shtrakov.net/CST_PICI.htm

  8. Фролов, А. Аппаратное обеспечение IBM PC Том 2, книга 1, М.: Диалог-МИФИ, 1992. http://frolov-lib.ru/books/bsp/v02

  9. Архитектура ПК часть 1. http://ar-pc.ru/pc/200654/

  10. C8237 Programmable DMA Controller Altera Core http://www.cast-inc.com/cores/ c8237/cast_c8237-a.pdf

  11. Intel 8237/8237-2 high performance programmable DMA controller http://zet.aluzina.org/images/8/8c/Intel-8237-dma.pdf

Системни ресурси на дънната платка

Системните ресурси са комуникационните канали, адреси и други сигнали, използвани от хардуерните устройства за комуникиране по шината. На най-ниско ниво тези ресурси обикновено включват следното:


    • адреси от паметта;

    • IRQ линии;

    • DMA канали;

    • адреси на входно/изходни портове.

Ресурсите са подредени в реда, в който евентуално може да се очакват проблеми с тях. Конфликтите с паметта вероятно са най-неприятните и определено са най-трудни­те за пълно обяснение и преодоляване.

Прекъсванията причиняват повече проблеми от DMA, защото се използват много пове­че; на практика всички карти използват IRQ линии. С DMA каналите възникват по-мал­ко проблеми, тъй като те се използват от по-малко карти и обикновено техният брой е напълно достатъчен. Входно/изходните портове (I/O портовете) се използват от всички хардуерни устройства, свързани към шината, но техният брой е над 65 хиляди, кое­то означава, че от тях има в изобилие, въпреки че повечето устройства използват до 8 порта. При наличието на всички тези ресурси трябва да гарантирате, че всяка отделна карта или хардуерна функция използва отделни ресурси; в повечето случаи тези ресурси не могат и не трябва да се споделят.

Гореспоменатите ресурси се изискват и се използват от множество компоненти на компютърната система. Адаптерните карти се нуждаят от тях, за да комуникират със системата и да из­пълняват своите задачи. Не всички адаптерни карти имат едни и същи изисквания за ресур­си. Например един сериен комуникационен порт се нуждае от IRQ линия и адрес на вход­но/изходен порт, докато на една звукова карта са й необходими три ресурса и обикновено най-малко един DMA канал. Повечето мрежови карти използват IRQ линия и адрес на входно/изходен порт, а някои могат да използват и 16KB блок от адреси от паметта.

Колкото повече компютърната система нараства по сложност, толкова е по-вероятно да въз­никнат конфликти за ресурсите. Модерните системи с повече допълнителни устройства наистина могат да се превърнат в истински конфи­гурационен кошмар за непосветените. Понякога при такива обстоятелства способност­та за автоматично конфигуриране на Plug and Play може да се обърка или да се провали при оптималното конфигуриране на ресурсите, опитвайки се да накара всичко да рабо­ти правилно. Повечето адаптерни карти позволяват да се модифицира присвояването на ресурсите, като се използва Plug and Play софтуера, който се доставя с картата, или мениджъра на устройства (Device Manager) в Windows 9х и по-новите версии. По този начин може понякога да се подобри една подразбираща се конфигурация, извършвай­ки определени промени. Дори ако автоматичното конфигуриране се обърка (което се случва по-често, отколкото трябва), за щастие, в почти всички случаи съществува ло­гически начин за конфигуриране на системата - стига да се знаят правилата.

Тема 1.Хардуерни прекъсвания – IRQ. Процес на IRQ прекъсване.

1.1Необходимост от прекъсванията. Принцип на работа.

Компютърът трябва да се справи с много задачи, при което на потребителя му се струва, че те се изпълняват едновременно. Особено важно значение за това имат обработката на прекъсванията и директният достъп до паметта (DMA).

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

За разлика от това при използване на прекъсвания се прекъсва моментната работа на процесора. Това може да стане например, когато той е зает с изобразяването на някакъв символ върху монитора, за да може да прочете натис­нат клавиш на клавиатурата.

При натискане на клавиш се генерира заявка за прекъсване IRQ (Interrupt ReQuest [интъ’рапт рикуест] - заявка за прекъсване), процесорът прекъсва изпълнението на текущата програма, след което прочита кода на натисна­тия клавиш и извършва съответните операции. След това изпълнението на про­грамата продължава точно от мястото, където тя е била прекъсната. За да "знае" процесорът точно с какви операции е бил зает преди постъпване на прекъсва­нето, трябва, преди то да се обработи, да се запомнят състоянието на процесора и съдържанието на регистрите му, за което се използва специална структура за данни - т. нар. стек.

Обработването на прекъсванията може да се разглежда като вид асинхронно изпълняване на подпрограми. Асинхронно, защото прекъсване може да настъпи теоретично във всеки момент.

В PC съществуват два основни вида прекъсвания: хардуерни и софтуерни. Софтуерните са предвидени за реализиране на определени функции (прекъсвания на BIOS, DOS), докато хардуерните прекъсвания са предвидени за определени хардуерни компоненти.

Софтуерните прекъсвания не са присвоени на определени системни компоненти, а на определени функции. Така например при натискането на кла­вишите Ctrl и Break възниква прекъсването 23h.

Хардуерните прекъсвания предизвикват софтуерни прекъсвания, но това няма значение за разглежданията по-нататък.

1.2Процес на IRQ прекъсване.

Линиите за заявки на прекъсвания, или така наречените хардуерни прекъсвания, се из­ползват от най-различни хардуерни устройства, за да сигнализират на дънната платка, че дадена заявка трябва да бъде изпълнена. Тези линии за прекъсвания са представени от проводници на дънната платка и изводи на разширителните слотове. Хардуерните прекъсвания в разпространените днес PC са общо 16 и имат номера от 0 до 15 (обозначават се IRQ0 до IRQ15). Номерата на прекъсванията определят приоритетите им едно пред друго; с някои изключения, прекъсванията с най-високи приоритети имат най-малки номера. Прекъсванията с по-висок приоритет използват предимството си пред тези с по-нисък приоритет, като ги прекъсват. В резултат на това във вашата система могат да възникнат едновременно няколко прекъсвания, като всяко от тях е вложено в друго.

В PC с процесори 8088/8086 се е използвал 1 контролер за прекъсвания с 8 канала. В следващите поколения РС компютри е въведен втори (подчинен - Slave) контролер с още 8 канала, който е свързан каскадно към IRQ2 на първия контролер, означаван като главен (Master Controller).

Когато възникне дадено прекъсване, управлението на системата се поема от специална подпрограма, която най-напред запазва съдържанието на всички регистри на процесора в стека, след което насочва системата към таблицата с векторите на прекъсванията. Тази векторна таблица съдържа списък с адреси от паметта, съответстващи на линиите за прекъсвания. В зависимост от това, кое прекъсване е възникнало, се стартира съответстващата му програма.

Указателите във векторната таблица сочат към адреса на използвания софтуерен драйвер, който трябва да обслужи картата, генерирала прекъсването. За една мрежова карта например векторът може да сочи към адреса на мрежовите драйвери, които са били заредени, за да управляват картата; за един контролер на твърд диск векторът може да сочи към код в BIOS-а, който управлява контролера.

След като дадената софтуерна подпрограма приключи с изпълнението на функцията, която е била необходима на картата, софтуерът за управление на прекъсванията връща съдържанието на стека в регистрите на процесора, и системата продължава да изпълнява това, което е изпълнявала преди възникването на прекъсването.

Чрез използване на прекъсвания компютърната система може да реагира своевременно на външни събития.

При компютри с шина ISA се използва задействане на прекъсванията чрез превключване по фронт (edge-triggering) - при него дадено прекъсване се разпознава при смяната на сигнал, който се изпраща по конкретен проводник, чийто извод е разположен в слота. На всяко възможно хардуерно прекъсване отговаря отделен проводник. Тъй като дънната платка не може да разпознае кой слот съдържа картата, която е използвала линията на прекъсване и съответно е генерирала прекъсването, ще възникне объркване, ако повече от една карта е установена да използва конкретното прекъсване. Ето защо обикновено всяко прекъсване се назначава само на едно хардуерно устройство. По принцип правилото е, че прекъсванията по ISA шината не могат да се споделят.

Тъй като превключването по фронт (Edge Triggering) съвсем не е безпроблемно, и е възможно смущаващи импулси да предизвикат лъжливи заяв­ки за прекъсване, при PC EISA и MCA (PS/2-PC на IBM) е въведено превключ­ване по ниво (Level Triggering). Превключването по ниво се използва и при устройства PCI, като едва достигането на определено високо ниво (TTL High) на извод IRQ се интерпретира като заявка за прекъсване.

В BIOS-Setup, например под опциятa "PCI Configuration Setup", потребителят има възможност да избере дали превключването да става по ниво или по фронт. Обикновено (старите) карти ISA използват превключване по фронт, а картите PCI и ISA-картите с функции Plug&Play - превключване по ниво. Вторият метод се е доказал в практиката като по-безпроблемен, но по-стари карти ISA могат да не се "справят" и тогава се налага работа с превключване по фронт.

Присвояването на каналите за обслужване на прекъсванията на отделни компоненти (контролери, интерфейсни карти и др.) се осъществява обикновено с джъмпери или DIP превключватели при стандартните карти ISA. При карти ISA Plug&Play и PCI присвояването на канал (или на повече от един канали в някои случаи) става автоматично от Plug&Play-BIOS и/или Windows 9х/XP/Vista.

Тема 2.Контролер на прекъсвания. Блокова схема и принцип на действие.

Управлението на прекъсванията се извършва от специална логическо устройство, което се нарича контролер на прекъсванията. Контролерът на прекъсванията получава заявки за прекъсвания от различните хардуерни устройства посредством линиите за заявки за прекъсвания IRQ. В първите РС, използващи 8- битовата шина ISA, контролерът на прекъсванията се свързва с хардуерните устройства посредством осем IRQ линии. С появата на РС АТ (i80286) броят на външните хардуерни прекъсвания е удвоен, като се използват два контролера на прекъсванията 8259. Двата контролера се свързват каскадно, при което прекъсванията, генерирани от втория контролер се подават през неизползваното IRQ2 на първия контролер. Заради недостъпността на IRQ2 тази схема осигурява само 15 налични прекъсвания.

Оригиналният контролер на прекъсванията 8259А (Intel, AMD, Harris) може да се включва към различни процесори и за целта предлага различ­ни режими на работа. В съвременните дънни платки функциите му са интегрирани заедно с тези на други схеми (контролер за директен достъп до паметта, таймер и др.) като съставна част от съответния чипсет. На фигура 1 е представена вътрешната структура на контролера на прекъсванията.




фиг. 1 Контролер на прекъсванията 8259А
Заявката за прекъсване от дадено устройство (IRQO - IRQ7) се съхранява в регистъра на прекъсванията и се сравнява с байта в регистъра на маскиране на прекъсването. Хардуерните прекъсвания понякога се наричат маскируеми прекъсвания, което означа­ва, че прекъсванията могат да бъдат маскирани, т.е. изключени за кратко, докато про­цесорът се използва за други критично важни операции. Ако постъпилото прекъсване не бъде блокирано с високо логическо ниво в регистъра на маскиране на прекъсването, чрез устройството за анализ на приоритетите се определя дали няма и други заявки за прекъсване. Ако има, първо се изпълнява заявката с най-висок приоритет (най-малък номер на IRQ), а след това останалите спо­ред техния приоритет.

Когато едно прекъсване е освободено за изпълнение, това се заявя­ва на процесора по линията INT. Процесорът от своя страна подава на входа сигнал (Interrupt Acknowledge – потвърждение на прекъсването) на контролера два импулса като потвърждение, че заявката за прекъсване е получена (тук INT няма нищо общо с прекъсванията при шина PCI). С първия импулс се указва на контролера да блокира съдържание­то на регистъра на прекъсванията, така че да не бъдат приемани повече заявки. Актуалното прекъсване се съхранява в регистъра обслужване на прекъсването. Чрез втория импулс се указва съответният вектор на прекъсването. С помощта на таблицата с вектори на прекъсванията в системната RAM памет се определя адресът на програмата за обслужване на прекъсването и тя се изпълнява.

За комуникация с централния процесор контролерът използва логиката за четене/запис. Контролерът 8259А се активира, когато на входа (Chip Select) е подаден сигнал с ниско ниво. Регистрите се четат или в тях се записва, когато са активни съответно линиите (Read - за четене) или (Write - за запис). Превключването между регистрите се осъществява чрез линията А0.

Каскадният буфер с изводите CASO - CAS2 се използва за комуникация с втори контролер за обслужване на прекъсвания, какъвто е случаят при оригиналния компютър АТ.

По линията се предава номерът на вектора на драйвера за данни в режим с буфериране (Buffered Mode). В компютрите АТ чрез този сигнал се определя дали в системата е активен главният или подчиненият контролер.

За инициализиране на контролера на прекъсванията от централния процесор към буфера на шината за данни се изпращат определени байтове - инициализиращи думи (Initialization Command Words - ICW). За комуникация се използват само два входно-изходни адреса (20h и 21h). За всяка дума установяването на битовете D7 до D0 в нули или единици означава конкретни настройки. Например, за думата ICW1, ако D3=0 - управлението е по фронт, а ако D3=1- управлението е по ниво.

Съществуват и командни думи, с които контролерът може да се препрограмира по време на работа. Тези думи се означават с OCW (Operation Control Words).

Подробен пример за програмирането на прекъсванията чрез ICW и OCW е показан в [Клаус Дембовски, PC сервизен справочник т.2, стр. 53-57].

Тема 3.Каскадно свързване на контролерите на прекъсване. Приоритет на прекъсванията. Plug and Play системи.

3.1Каскадно свързване на контролерите на прекъсване

Както беше споменато по-горе, в PC с процесори 8088/8086 има един контролер за прекъсвания, който осигурява 8 канала, а в системите АТ (с процесори 286 и по-добри) е въведен втори контролер с още 8 канала, който е свързан каскадно към първия (фиг. 1). Единият контролер се означава като главен (Master Controller), а другият (новият) - като подчинен (Slave Controller). Прекъсванията, генерирани от втория контролер, се подават през неизползваното IRQ2 на първия контролер, като така се осигуряват общо 15 използваеми прекъсвания.

Контролерите на прекъсванията отдавна не се срещат като отделни интегрални схеми в PC. Тяхната задача се реализира от част от набора чипове, но с оглед на съвместимостта е запазено старото схемно решение.




фиг. 1 Каскадно свързване на двата контролера на прекъсванията през IRQ2

3.2Приоритет на прекъсванията

Когато компютърната системи работи с един контролер, приоритета на прекъсването се определя от неговия номер. Колкото по-малък е номера, толкова по-висок приоритет (предимство при изпълнение) има съответното прекъсване. Чрез подаване на всички прекъсвания от втория IRQ контролер през IRQ2 на първия, всички тези нови прекъсвания вкупом имат ниво на приоритет между IRQ1 и IRQ3. При това положение, в края на краищата IRQ 15 се оказва с по-висок приоритет от IRQ 3.

Таблица 1 показва типичната употреба на прекъсванията в 16-битовата ISA и 32-битовите PCI/AGP шини, и ги изброява по приоритети, започвайки от най-високия. Излезлите от употреба EISA и МСА шини използват подобна карта на прекъсванията.


табл. 1 Предназначения на прекъсванията при ISA/PCI/AGP шини

IRQ

Функции

Разширителен слот

Тип карта

Препоръчително предназначение

0

Системен таймер

не







1

Контролер на клавиатура

не







2

Свободно

не







8

Часовник реално време

не







9

Свободно

да

8/16-битови

мрежова карта

10

Свободно

да

16-битови

USB

11

Свободно

да

16-битови

SCSI хост адаптер

12

Порт за мишка/ Свободно

да

16-битови

Порт за мишка

13

Мат. копроцесор

не







14

Главно IDE

да

16-битови

Харддискове

15

Вторично IDE

да

16-битови

CD-ROM

3

Сериен порт 2 (СОМ2)

да

8/16-битови

СОМ2/вътрешен модем

4

Сериен порт 1 (СОМ1)

да

8/16-битови

СОМ1

5

Звукова карта / LPT2

да

8/16-битови

Звукова карта

6

Контролер на флопидискови устройства

да

8/16-битови

Контролер на флопидискови устройства

7

Паралелен порт LPT1

да

8/16-битови

LPT1

Каналите за прекъсване 0, 1, 2 и 8 винаги се използват за определе­ните функции от електрониката на дънната платка, докато останалите канали могат да се използват различно в зависимост от конфигурацията на PC.

Забележете, че прекъсвания 0, 1, 2, 8 и 13 нямат изводи в слотовете на шината и не са достъпни за разширителните карти. Прекъсвания 8, 10, 11, 12, 13, 14 и 15 се подават от втория контролер на прекъсванията и са достъпни само за адаптери, използващи 16-битовото разширение на слотовете, защото именно там се намират изводите на съот­ветстващите им проводници. В 8-битовите слотове проводникът за IRQ 9 е свързан на мястото на IRQ 2, така че IRQ 9 замества IRQ 2 и поради това е налично за 8-битовите карти, които от своя страна си мислят, че то в действителност е IRQ 2.

Когато се появят едновременно повече от една заявки за прекъсвания, тяхната обработка се извършва според приоритета им, като таймерът на дънната платка има най-високия, а паралелният порт- най-ниския приоритет.

Още по-висок приоритет от таймера има немаскируемото прекъсва­не (NMI - Non Maskable Interrupt), което не може да бъде забранено с маскиране като другите прекъсвания. Немаскируемо прекъсване може да възникне, когато се получат критични системни грешки като грешка при проверка по четност на RAM-паметта, което води до сриване на системата и "увисване" на PC.

При някои PC енергоспестяващите функции (Green PC) са реализирани също чрез NMI, като това се практикува различно при различните произво­дители. В такива случаи потребителят не може да оказва никакво влияние, като се изключи, разбира се, BIOS-Setup, където съответните "Green Functions"' се конфигурират или изцяло могат да бъдат изключени.

Забележка: Допълнителните IRQ линии в една система с 16-битова ISA шина не са от голяма пол­за, освен ако адаптерните карти, които възнамерявате да използвате, ви позволяват да ги конфигурирате за неизползваните прекъсвания. Някои устройства са твърдо устано­вени, така че могат да използват само конкретно прекъсване. Ако имате устройство, което вече използва това IRQ, трябва да разрешите конфликта, преди да инсталирате втория адаптер. Ако нито един от адаптерите не ви позволява да преконфигурирате из­ползваното прекъсване, тогава не можете да използвате двата адаптера едновременно в една и съща система.

3.3Plug and Play системи. Обработка на прекъсванията при шина PCI

Всички усъвършенствания на КС са имали за цел да направят системата достатъчно гъвкава, с големи възможности за разширяване. При това целта винаги е била компютърната система сама да се справя с преконфигурацията си, когато се извърши разширение или поне да се намали до минимум намесата на потребителя на КС. Такава технология на развитие на компютърните системи получи наименованието Plug-and-play (постави и задействай), съкратено PnP. При PnP картите липсват превключватели и джъмпери, а конфигурирането се извършва от PnP BIOS-а на системата или от специални програми за не-PnP системите. PnP също позволява на системата да открива и конфигурира външни устройства, като монитори, модеми и устройства, свързани към USB и IEEE-1394 портове.

Първата реализация на Plug and Play стандарта, която има практическо значение, са PCI системите. При тях в компютърната архитектура се добавя допълнителна шина, наречена PCI шина, към която са свързани няколко слота, в които може да се поставят разширителни PCI карти.

Използването и настройката на прекъсванията при PC с дънна платка PCI са по-различни от тези на ISA и съвсем точно дефинирани. PCI дефинира 4 нови прекъсвания, които могат да се използват от PCI устройствата, за да сигнализират на шината, че се нуждаят от внимание. За да се прави разлика дали прекъсването е използвано от ISA или от PCI карти, прекъсванията при ISA се означават с IRQ, а прекъсванията за PCI - с INT. Четирите PCI прекъсвания се наричат INTA#, INTB#, INTC# и INTD#. Тези INTx# прекъсвания са чувствителни към нивото на сигнала (level-sensitive), което означава, че електрическите сигнали им позволяват да бъдат споделяни от PCI картите. Всъщност всички РС1 карти или чипове с единични функции или устройства, които използват само едно прекъсване, трябва да използват INTA#. Това е едно от правилата в спецификацията на PCI. Ако в чипа или на самата карта има допълнителни устройства, те могат да използват прекъсванията от INTB# до INTD#. Тъй като съществуват много малко многофункционални PCI чипове или карти, практически всички устройства, свързани към дадена PCI шина, ще споделят INTA#.

За да може PCI шината да функционира в едно PC, PCI прекъсванията трябва да се съпоставят на ISA прекъсвания. Тъй като ISA прекъсванията не могат да се споделят, в повечето случаи на всяка PCI карта, използваща INTA# по PCI шината, трябва да й се присвои различно несподеляемо ISA прекъсване - в повечето случаи IRQ9, IRQ10, IRQ11 или IRQ5.

Намирането на уникални прекъсвания за всяко устройство както на ISA, така и на PCI шината винаги е било проблем; просто няма достатъчно свободни IRQ линии. Устано­вяването на две ISA устройства на едно и също IRQ никога не е било възможно, но при повечето по-нови системи споделянето на прекъсвания между няколко PCI устройства е възможно. По-новите системни BIOS-и и Plug and Play операционни системи, като например Windows 95B (OSR 2), Windows 98, Windows 2000 и Windows XP, поддържат функции, известни като превключване на PCI прекъсвания (PCI IRQ Steering).

По принцип BIOS-ът назначава уникални прекъсвания на PCI устройствата. Ако ваша­та система подържа функцията PCI IRQ Steering и тя е разрешена, прекъсванията на PCI устройствата се назначават от Windows. Но дори когато тази функция е разрешена, BIOS-ът пак първоначално назначава прекъсвания на PCI устройствата. Въпреки че Windows е в състояние да променя тези настройки, той обикновено не прави това авто­матично, освен когато се налага да елиминира конфликти.



Ако броят на свободните прекъсвания е недостатъчен, функцията за превключване на прекъсванията позволява на Windows да назначи едно прекъсване на няколко PCI устройства, давайки възмож­ност на всички устройства в системата да функционират правилно.

Без поддръжка на PCI IRQ Steering, способността за споделяне на PCI прекъсванията става непотребна, защото при това положение всички назначения на прекъсвания от PCI към ISA ще трябва да са уникални. Без IRQ Steering, Windows започва да забранява устройствата, след като свободните прекъсвания се свършат. Ако тази функция липсва, лесно може да оста­нете без свободни прекъсвания. Ако превключването на прекъсванията е налично и е разрешено, няколко PCI устройства могат да споделят едно и също прекъсване, позво­лявайки на системата да се разширява, без да се свършат свободните прекъсвания.

За да се определи дали Windows 9x/Me използва, се отваря Device Manager >System Devices> PCI Bus >IRQ Steering. Там има отметка, която показва дали функцията IRQ Steering е разрешена и е указано откъде се чете таблицата с прекъсванията.

В Windows XP не може да се забрани IRQ превключването, а в Device Manager не се появява страницата IRQ Steering.


Забележете, че към PCI шината може да имате свързани и вътрешни устройства, дори и ако всички PCI слотове са свободни. Например, повечето съвременни системи имат два IDE контролера и USB контролер, които са свързани към PCI шината. Обикновено на PCI IDE контролерите се назначават ISA прекъсванията 14 (главният IDE контролер) и 15 (вторичният IDE контролер), докато USB контролерът може да използва обикновено свободните ISA прекъсвания 9, 10, 11 и 5.

PCI шината позволява да съществуват два вида устройства, наречени мастери на шината (bus masters), които са инициатори, и подчинени устройства (slaves), които са приемници. Един мастер на шината е устройство, което може да поеме управлението над шината и да инициира трансфер. Приемащото устройство представлява местоназначението на трансфера. Повечето PCI устройства могат да действат и като мастери, и като приемници, а за да са съвместими с PC 97 и по-новите препоръки за дизайн, всички PCI слотове трябва да поддържат карти, които са мастери на шината.

PCI шината се арбитрира: Един централен арбитър (част от контролера на PCI шината в чипсета на дънната платка) управлява всички трансфери по шината, раздавайки справедлив и контролиран достъп на всички устройства, свързани към шината. Преди един мастер да може да използва шината, той трябва първо да направи заявка за управление към централния арбитър, след което управлението на шината му се предава само за указан максимален брой цикли. Това арбитриране позволява равен и справедлив достъп за всички мастери на шината и предотвратява състояния, при които едно-единствено устройство заграбва управлението на шината, както и ситуации на взаимна блокировка, причинени от едновременно осъществяване на достъп от няколко устройства. По този начин PCI шината действа много подобно на локална мрежа (LAN), но такава, която изцяло се съдържа в системата и работи на много по-висока скорост от конвенционалните външни мрежи между РС-та.

3.4Усъвършенстван програмируем контролер на прекъсванията (APIC).

Като заменител на традиционната двойка контролери на прекъсванията 8259, в средата на 90-те години Intel създават усъвършенстван програмируем контролер на прекъсванията (Advanced Programmable Interrupt Controller - APIC). Макар че всички процесори след първоначалния Pentium съдържат APIC, APIC трябва също да присъства в чипсета на дънната платка и BIOS и операционната система трябва също да поддържат APIC.

Поддръжката на APIC е осигурена от повечето съвременни дънни платки и от версиите на Windows след Windows 2000. Тази поддръжка може да се разреши или забрани в системния BIOS.

APIC осигурява поддръжка за многопроцесорни системи, но също се използва в еднопроцесорни компютри. Главното предимство на APIC за единичен процесор е поддръжката на виртуални PCI прекъсвания с по-голям брой от 15, обикновено до 24. Докато Windows 2000 се стреми да постави PCI прекъсванията в традиционния ISA обхват от 15, дори когато е разрешен APIC, Windows XP напълно използва APIC услугите, когато е инсталиран на система с разрешен APIC. В Windows XP APIC ограничава споделянето на прекъсвания, за да позволи на устройствата да работят по-добре, с по-малко конфликти. Например, в една типична Windows XP система с разрешен APIC, PCI прекъсванията се присвояват така:


  • PCI IRQ 16: вградено аудио/AGP графика (споделено)

  • PCI IRQ 17: разширителна карта за USB 1.1 контролер (несподелено)

  • PCI IRQ 18: разширителна карта за USB 1.1 контролер (несподелено)

  • PCI IRQ 19: 10/100 Ethernet адаптер/ разширителна карта за USB 2.0 контролер (споделено)

  • PCI IRQ 21: вградени USB 1.1 контролери (3 бр.)/вграден USB 2.0 контролер (споделено)

Традиционното ISA прекъсване 15 на примерната система се използва само от ISA устройства, предотвратявайки по този начин ISA-PCI конфликти на прекъсванията.

За да се направят достъпни услугите на APIC, той трябва да бъде разрешен в системния BIOS, когато се инсталира Windows 2000 или XP, а когато се инсталират Windows XP Professional x64 Edition и Windows Server 2003 for x64, трябва да е разрешен задължително предварително.

3.5Диагностика на настройките на прекъсванията. Разрешаване на IRQ конфликти

Един лесен начин за проверяване настройките на прекъсванията е да се използва Device Manager в Windows 95/98/Me, NT, 2000 или ХР. Чрез двукратно щракване върху иконата Computer (най-горе в списъка) можете да се види кратък спи­сък на всички използвани системни ресурси. Към Windows 95B от Microsoft са включи­ли и една програма, наречена HWDIAG; Windows 98 и по-новите версии включват програмата System Information (в Windows XP може да се извика и чрез командата MSinfo32). HWDIAG и System Information се справят отлично с докладването на използваните системни ресурси, както и показването на подробности относно драйверите на устройства и записите в регистъра на Windows (Windows Regis­try) за всеки хардуерен компонент.

Вероятно най-често срещаният IRQ конфликт е този между интегрирания COM2: порт, който се среща в повечето модерни дънни платки, и вътрешен (разположен на адаптерна карта) модем. Проблемът е в това, че истинските, базирани на карти, модеми включват в себе си вграден сериен порт, който по подразбиране е установен на COM2:. Компютърът различава два COM2: порта, всеки от които използва същото прекъсване и същите входно/изходни портове. Разрешението на този проблем е лесно – влиза се в настройващата програма на BIOS и се забранява вградения COM2: порт. В по-старите системи серийните СОМ портове обикновено се използваха за присъединяване на мишка или външен модем, но сега за мишките се използва PS/2 или USB порт, а модеми почти не се използват. Следователно в един съвременен PC използването COM порт е по-скоро изключение и затова е препоръчително да се забрани и СОМ1:, за да се освободи прекъсване, което може да се използва от други устройства.

Друг конфликт при прекъсванията възниква, когато в една система се добавят COM3: и COM4: портове. В такъв случай обикновено става така, че COM3: се установява да използва IRQ 4 (споделяйки го с СОМ1:), а COM4: се установява да използва IRQ 3 (споделяйки го с COM2:). Това е неприемливо, защото не позволява едновременно да се използват два СОМ порта. Най доброто решение в случая е да се постави многопортова входно/изходна карта, която позволява установяването на неконфликтни прекъсвания, или пък интелигентна карта със собствен процесор, която е способна да управлява множество портове, използвайки само едно прекъсване в системата.

Ако дадено устройство от показаните в таблицата липсва, като например вградените на дъното порт за мишка (IRQ 12) или паралелен порт 2 (IRQ 5), можете да считате, че използваните от тях прекъсвания са свободни. Например втори паралелен порт е рядкост, така че в повечето системи IRQ 5 се използва от звукови карти. Също така в повечето системи IRQ 15 е назначено на вторичния IDE контролер. Ако няма втори IDE твърд диск или CD/DVD, можете да се забрани вторичния IDE контролер, за да се освободи неговото прекъсване за друго устройство.

За да се осигури максимален брой споделяеми прекъсвания в съвременните системи без ISA слотове, препоръчително е да се извършат следните настройки в системния BIOS:



  1. Да се забранят неизползваните остарели портове (серийни и паралелни) в системния BIOS. Така може да се освободят цели 3 прекъсвания.

  2. Да се изберат освободените в стъпка 1 прекъсвания като достъпни за PCI/PnP употреба. В зависимост от BIOS екранът за настройка може да се нарича PnP/PCI Resource Exclusion (PnP/PCI изключване на ресурси) или PnP/PCI Configuration.

  3. Да се разреши опцията Reset Configuration Data (нулиране на конфигурационните данни), за да се изчистят IRQ таблиците в CMOS.

  4. Да се съхранят промените в BIOS и да се излезе от него.

Тема 4.DMA канали. DMA процес и DMA контролери.

4.1Същност на прекия достъп до паметта (DMA).

За бързо въвеждане и извеждане на информацията и разтоварване на централното процесорно устройство от входно-изходни операции, свързани с основната памет се използва пряк достъп до паметта (DMA – Direct Memory Access).




Сподели с приятели:
  1   2   3   4   5   6   7




©obuch.info 2024
отнасят до администрацията

    Начална страница