1 Директен достъп до паметта (dma – Direct Memory Access)



Дата22.03.2017
Размер284.18 Kb.
Лекция 5

Елементи на архитектурата на РС.

1 Директен достъп до паметта (DMA – Direct Memory Access)


За бързо въвеждане и извеждане на информацията и разтоварване на централното процесорно устройство от входно-изходни операции, свързани с основната памет се използва пряк достъп до паметта. Пряк достъп до паметта се нарича способът на обмяна на данни, извършван автономно (независимо) от процесора между основната памет и външни устройства. В режим на пряк достъп до паметта се използва специализирано устройство – контролер за пряк достъп до паметта. В началото на предаване на данните контролерът се програмира от централния процесор – в него се предават адресите в основната памет и количеството на трансферираната информация, след което DMA се оставя да свърши работата по прехвърляне на данните. Когато DMA приключи преноса на данни, изпраща сигнал до МП за извършения трансфер.

Основните функции които се реализират с DMA могат да се формулират по следния начин:

- освобождава централния процесор от управление на бавните входно - изходните операции между основната памет и външните устройства;

- осигурява възможност за паралелно изпълнение на програми от централния процесор и обмен на данни между паметта и външните устройства;

Трансферът на данни, които извършва DMA е ограничаван единствено от пропускателната способност на основната шина и шината към външните устройства.

При работа в режим на пряк достъп до паметта контролерът на DMA изпълнява следната последователност от операции:

- приема заявки от за трансфер на данни от външните устройства;

-формира заявка до централния процесор за заемане на системната шина за трансфер на данни;

-приема сигнал, потвърждаващ разрешението за заемане на системната магистрала за пренос на данни. В това състояние микропроцесорът прекъсва връзката със системната шина;

- формира сигнал, съобщаващ на външното устройство за начало на трансфера на данни;

-подава на адресната шина адреса на клетката от паметта, предназначена за обмен;

-генерира сигнали, с които управлява трансфера на данните;

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

На фиг. 2.5 е показана схема на взаимодействие на устройствата в КС в режим DMA. Всеки канал на контролера на DMA се състои от четири 16-разрядни регистъра: регистър на текущия адрес (CAR), регистър за циклите на DMA (CWR), регистър за съхранение на базовия адрес (BAR), регистър за съхраняване на базовия брой цикли на DMA (WCR) и 6-разряден регистър за режима (MR). Регистърът на текущия адрес съдържа текущия адрес на клетка от паметта при изпълнение на цикъл от DMA. След изпълнение на всеки цикъл съдържанието на този регистър се увеличава или намалява на единица. Регистърът на циклите съдържа броя на думите информация, които предстои да бъдат прехвърлени. В процеса на работа този регистър работи в режим на брояч с изваждане. При преход от нулево състояние в състояние FFFF се генерира управляващ сигнал до блока за управление на контролера. Регистрите BAR и WCR са предназначени за съхранение на константи – базов (начален) адрес и брой на циклите, които трябва да изпълни контролерът на DMA. Тяхното съдържание се задава в режима на програмиране на DMA и не се променя в процеса на работа. Регистърът за режим на работа съдържа информация за номера на канала, типа на цикъла на работа на DMA (четене или запис), необходимостта от автоинициализация и др.

Контролерът на DMA може да работи в два режима: режим на програмиране и режим на изпълнение на цикли на DMA.

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

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

2. Портове


Адресите, формирани от CPU и изпращани по адресните шини, обикновено маркират (посочват) определена клетка в оперативната памет. Посредством управляващ адресен сигнал (линия в адресната шина), този адрес може да се пренасочи към друго адресно пространство (извън оперативната памет). Това адресно пространство се нарича ‘вход/изход’ (I/O). Основното предназначение на това пространство е предаването на информация между централния процесор и останалите елементи на компютърните системи, включително и външни устройства. Това адресно пространство се нарича пространство на входно-изходните портове, а самите клетки (адреси) – портове за вход/изход. Макар начинът за достъп до това адресно пространство да се извършва по същите линии (шини), като за паметта, пространството на входно-изходните портове съществено се различава от паметта.

На първо място пространството на I/O портовете е много по-малко. За адресирането им са достатъчни само 16 – те младши разряда на адресната шини, което значи, че максималният размер на това пространство може да бъде 64 кВ.

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

Най-същественото отличие на I/O портовете от основната памет се заключава в по нататъшната съдба на данните, които се изпращат към или от портовете. Данните, изпратени към даден порт, не се съхраняват в него, както това става в конвенционалната памет. Тези данни се пренасят към някое устройство, свързано с този порт. Ако се извършва четене от даден порт, то при всяко обръщение към него ще се получават различни данни и то при положение, че в този момент данни се подават към порта от друго устройство. При това, съвпадението на последователността на предаването и приемането на данните не е гарантирано.

Първоначално портовете се свързваха с адресните шини на микропроцесора както микросхемите на паметта. По-късно, с увеличаване на скоростта на CPU и намаляването на времето за достъп до паметта, пътищата на CPU до паметта и портовете се разделят. Извън микропроцесора тези пътища (шини) работят на различни честоти.

В РС обменът на информацията се осъществява на байтове (при 8 – проводни линии) или група байтове (при по-голям брой линии). Този начин на пренос на данните се нарича паралелен пренос и се реализира по-голяма скорост на обмен на информацията. При пренасяне на информацията извън компютърната система влизат в сила други съображения и този способ не винаги е най-добрият. Когато информацията се пренася на голямо разстояние, нецелесъобразно е да се използва кабел с много линии, защото връзката се оскъпява многократно. Особено когато скоростта на предаване на информацията не е от толкова съществено значение или се ограничава от други елементи. В този случай се прилага последователен пренос на данни (serial communication). Този принцип се прилага и в случаите, когато не е необходима голяма скорост на трансфер на данните. Типични примери за устройства, при които не се изисква висока скорост на пренасяне на данните, са клавиатурата и мишката. Затова при тях се прилага последователният способ за пренасяне на информация.

В съответствие с различните начини на трансфер на данните съществуват и различни портове – паралелни и последователни портове. Тъй като данните в компютърната система се пренасят паралелно, е необходимо преобразуването на сигналите за последователно пренасяне. Задачата за преобразуване на паралелен код в последователен и обратно е възникнала още преди да се появят РС. Още преди това е разработен така нареченият универсален асинхронен приемник-предавател (Universal Asynchronous Receiver/Transmitter – UART). Стандартизираната версия на този преобразовател е известна като интерфейс RS 232. Той представлява програмируема микросхема преобразуваща паралелен код получен от шината за данни на системната магистрала в последователен код, който може да се изпраща по двупроводна линия.

3. Дънна платка (Motherboard)


Дънната платка е една от най-важните елементи на компютърната система. Тя управлява целия обмен на данни между процесора, паметта и периферните устройства. На нея се монтират процесорът и вторичната кеш памет (L2 Cache), схемният набор (чипсет) на КС, BIOS–ът, системната памет, контролерите за входно-изходните устройства, серийният и паралелен порт, дисковите интерфейси, разширителните карти и други. Главната функция на дънната платка е да осъществява връзка с другите функционални елементи на компютърните системи.

Една от най-умните идеи, вложени в персоналните компютри (IBM PC) е въвеждането на така наречените разширителни слотове – конектори, които позволяват добавянето на допълнителни платки. Те се свързват към основните елементи на компютърните системи (CPU и памет) посредством специална електрическа верига, наречена системна шина. Слотовете за разширение до такава степен преобразяват компютрите, че техните създатели, вероятно не са и помисляли за такива приложения на PC. Предимствата на системната шина са толкова очевидни, че сега изглежда чудно, че са съществували компютърните системи, в които организацията на процесите се е осъществявала с твърдо завързани помежду си компоненти, без да могат да се добавят или заменят отделни модули. Когато IBM представя своя PC, тя е била достатъчно далновидна (или недалновидна), че да направи компютъра разширяем и същевременно да предостави на клиентите си открито голяма част от необходимата техническа информация за системата. Резултатът от това е безпрецедентен поток от новости, които продължават и до днес и които много бързо изместват границите на възможностите на съвременните КС. Системната шина се превърна заедно с микропроцесора в определящ фактор за производителността и за диференциацията на класовете компютърни системи.

Системната шина е основният елемент на дънната платка. Съглашението между производителите на компютърно оборудване, за установяване на апаратната съвместимост на устройствата, които се свързват към компютърните системи се нарича шинна спецификация (bus definition). В широк смисъл, шинната спецификация трябва да се разбира като стандартизиран интерфейс (връзка) между отделните компоненти. В по-тестен смисъл този термин може да се разглежда като спецификация на системните шини, каквито са шините ISA, EISA, VESA, MCA, PCI.

4. Шина ISA (Industry Standard Architecture)


Стандартът ISA е разработен за първите персонални компютри IBM PC/XT. Тогава стандартната шина е 8 – битова. Когато IBM пуска на пазара PC/AT системите с микропроцесор 80286 и шестнадесет-разрядна системна шина, ISA стандартът се модифицира. За да могат всички устройства, използвани в предишните системи да работят и на новите системи е създаден слот, който е разделен на две: 8 – разрядна секция за старите карти и допълнителни 8 разряда, които допълват старата шина до 16 – разрядна.

Съвременните компютърни системи все още използват тази шина, поради наличието на по-стари периферни устройства, използващи 16 – битова шина. Наличието на тази шина в съвременните КС създава някои особени проблеми. Един от тези проблеми е свързан с това, че тази шина не позволява съвместното използване на IRQ или каналите за пряк достъп до паметта (DMA). Старите разширителни карти, разработени за ISA, обикновено нямат никакви вградени средства за автоматично включване или изключване, поради което дънната платка не може да преразпределя ресурсите в случай на възникване на конфликт с друга карта.

Стандартът ISA не е предвидил възможности за системно конфигуриране или изключване на разширителните карти. Ако самите карти обаче включват в себе си необходимите средства за автоматично включване и изключване, те могат да се използват като карти от типа plug-and-play.

Ограниченията, налагани от стандарта на системната шина ISA са:

-имат 16 – разрядна шина за данни и по този начин ограничават предаването на данни само до два байта едновременно;

максималната тактова честота при обмяната на данни е 8.33 MHz;

-отсъства съвместно използване на линиите за прекъсване (IRQ) и каналите за пряк достъп до паметта (DMA) за карти, намиращи се в различни слотове от типа ISA;

-отсъства възможност за програмно управление на разпределението на използваните области от оперативната памет, адресите на портовете, линиите за прекъсване (IRQ) и каналите за пряк достъп до паметта (DMA);

-отсъства възможност за програмно изключване на карти от типа ISA при възникване на конфликтна ситуация.

За преодоляване на ограниченията наложени от стандарта ISA, са разработени няколко типа системни шини, които имат ограничено приложение. Такива са MCA (Micro Channel Architecture) на IBM, EISA (Extended ISA), VESA (Video Electronics Standard Association). Стандартът EISA се явява твърдо стандартизирано разширение на ISA до 32 битова шина. Стандартът VESA е разработен като разширение на ISA за обмен на видеоинформация с адаптери от типа SVGA.


5. Шина PCI (Peripheral Component Interconnect)


Тази шина е разработена от Intel през 1992 година за компютърни системи с микропроцесори от типа Pentium. Този стандарт не е развитие на предишните типове шини, а съвършено нова разработка. Системната шина съгласно този стандарт работи синхронно с тактовата честота на микропроцесора и осъществява връзка между локалната шина на микропроцесора и интерфейсите на ISA, EISA и MCA. Стандартът PCI е разработен като процесорно независим. Наред с процесорите Pentium и съвместимите с него, с този стандарт могат да работят и микропроцесорите на други компании (Alpha, MIPS R4400, Power PC и др.).

Стандартът PCI позволява да се реализират някои нови функции на системата на PC: автоматическа конфигурация на периферни устройства (монтирането на разширителни карти не изисква специална грижа за разпределението на IRQ линиите и DMA каналите); работа при понижено напрежение на захранване; възможност за работа с 64 – разряден интерфейс и др. PCI стандартът предвижда организацията на връзките с другите стандартни шини, използвани в КС да се осъществява чрез специални схемни устройства, наречени мостове (Bridges). Тези схемни устройства съставляват основата на така наречените схемни набори (чипсети).

Шината PCI се е разработвала за работа с максималната за времето тактова честота на вътрешната шина и паралелния пренос на данни, с които работят микропроцесорите по времето на създаването на този стандарт. Като отчетем периода на създаването на този стандарт, става ясно че тактовата честота на PCI стандарта от 33 MHz отговаря на тези изисквания. Това означава, че тази шина е 4 пъти по-бърза от шината ISA и има 2 пъти по-голяма ширина на паралелния пренос на данни (32 – бита). PCI шината не замени изцяло ISA, поради това, че в КС се използват много разширителни карти и устройства, които не изискват толкова голяма скорост на трансфер на данни и няма смисъл да бъде използвана толкова бърза шина. Такива са картите за връзка на устройства, при които скоростта на предаване на данните се лимитира от работата на механични устройства или други процеси.

Скоро след създаването си и PCI шината изпадна в ситуацията на ISA, тъй като основната честота на системната шина стана 66 MHz и продължи да расте. Разрядността на съвременните микропроцесори също нараства (вече на пазара широко разпространение имат 64 – битовите микропроцесори) и шината PCI е сериозно ограничение за бързодействието на КС.

6 Ускорен графичен порт (AGP)

Ускореният графичен порт (Advanced Graphics Port – AGP) е създаден от Intel като нова шина, проектирана специално за високопроизводителна графика и поддръжка на видео. AGP е базирана на PCI стандарта, но съдържа някои подобрения, които я правят логически и електрически независима от PCI. За разлика от PCI, която е истинска шина с няколко конектора (слота), AGP е пряка високоскоростна връзка предназначена специално за свързване на видеокартата на компютъра. Затова тази връзка е само една и се нарича AGP порт. AGP беше публикувана като стандарт през 1996 година и беше дефинирана за работа с 66.6 MHz тактова честота. Тя се изпълнява като AGP 1х и AGP 2х за предаване на сигнали и работа с 3.3V напрежение. Означенията 1х и 2х се отнасят съответно за 1 или 2 трансфера на данни за всеки такт на шината. Така, при ширина от 32 бита на шината и 66 MHz за 1 секунда се прехвърля 266 мегабита (266MB/sec) или 533 MB/sec. Версия 2.0 на AGP беше обявена през 1998 година и добави скорост на предаване на сигналите 4х (четири прехвърляния на данни за един такт), както и възможност за работа с по-ниско напрежение – 1.5 V. Най-новите разработки на AGP слотовете позволява работа с 8х предаване на сигналите, което осигурява два пъти по-голяма скорост на трансфер от AGP 4x.

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

7. PCI Express

PCI шината работи успешно вече десет години и вероятно ще бъде използвана още дълго време. В съвременните компютърни системи процесорните елементи и входно-изходните устройства работят с много по-висока скорост, отколкото преди 10 години и е необходима вътрешна връзка с по-висока скорост на пренасяне на данните.

На пролетния форум през 2001 Intel представи нова шинна технология от трето поколение – Third Generation I/O (3GIO), която трябва да замени станалата доста бавна PCI шина. Съгласно плановете на Intel, 3GIO технологията трябва да е основна шинна спецификация през следващото десетилетие и ще работи с различни преносни среди, от медни проводници до оптически или друг вид цифрови преносни среди. Веднага след това PCI Special Interest Group (PCI-SIG) одобри специален стандарт (Arapahoe standard), който е кодово наименование на 3GIO. През 2002 година група компании (Compaq, Dell, IBM, Microsoft, AMD и още около 20 компании) завършва проекта на спецификацията и му дава формалното наименование PCI Express.


8. Схемен набор (Чипсет)

Параметрите и характеристиките на дънната платка в много голяма степен се определят от схемния набор (чипсета). Чипсетът е основата на дънната платка. Той съдържа интерфейси към процесорната шина (Front-side bus или FSB), контролерите за паметта, контролерите за шините, контролерите за вход/изход и други. Ако процесорът в компютърната система може да се оприличи на двигателя на един автомобил, то чипсетът е трансмисията, ходовата част и купето. В компютърната система чипсетът осъществява връзката на микропроцесора с всичко останало.

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

Първоначално за управление на обмена на информация между отделните устройства са използвани множество чипове, монтирани на дънната платка. През 1986 година компанията Chips and Technologies представя своя чип 82С206, който се явява главен елемент на първия чипсет за дънни платки. Той включва функции на тактов генератор, контролер на шината, системен таймер, два контролера на прекъсванията, два DMA контролера, както и СМОS часовник. Идеята за интегриран чипсет бързо бе копирана от други производители и в скоро време се разви мощна индустрия за производство на чипсети.

Intel разработва схемния набор като разделя неговите функции на две групи. Една група функции се интегрират в микросхема, наречена Northbridge (Северен мост), а другата група функции се интегрира в микросхема наречена Southbridge (Южен мост).

Тези две микросхеми се свързват помежду си посредством стандартната шина PCI. В съвременните РС връзката между CPU и оперативната памет се осъществява посредством по-бърза и широка шина за данни отколкото шината PCI. Тази бърза шина се нарича вътрешна (системна) шина или главна (host) шина. CPU не може непосредствено да се включва към отделните модули памет. За това са необходими буфери и декодери за адресите на паметта. По същия начин той не може да се свързва и с шината PCI. Електронните схеми, използвани за решаване на задачите за свързване на CPU с паметта и шините, се наричат свързваща логика на дънната платка и са интегрирани в голяма интегрална схема Северен мост (Northbridge). В процеса на разработката на тази микросхема възникнала идеята да се реализира поддръжката и на една допълнителна бързодействаща шина за данни със специално предназначение. Тази шина е наречена усъвършенстван графичен порт (Advanced Graphics PortAGP).

Шината AGP е нова шина, способна да работи с честотата на вътрешната шина на дънната платка и има същото количество линии за пренос на данни. Тя осъществява връзката на схемата Northbridge със слота на графическия ускорител (видеокарта). В този случай, върху платката на графическия ускорител се вгражда банка с локална памет, до която има достъп ускорителят и се използва като буфер за подготовка на изображението върху дисплея.

Микросхемата Южен мост се намира на другия край на PCI шината и в него са интегрирани голяма част от контролерите на входно-изходните устройства. В него се намира също така и контролерът за ISA шината, а също така и CMOS RAM памет и системният часовник на компютъра. Типична архитектура с мостова организация на схемните набори е показана на фиг. 2.6 за компютърни системи с Pentium II и Celeron микропроцесори.

В схемата Южен мост е вградена цялата интерфейсна логика за предаване на информация от шината PCI на значително по-бавната шина ISA (8.33 MHz) и на другите интерфейси. Към Южният мост се включват контролерите на дисковите запомнящи устройства, клавиатурата и посочващото устройство (мишка), паралелният порт и няколко стандартни последователни портове. Тази микросхема осигурява и поддръжката на универсалните серийни портове (USB).

Разделянето на схемния набор на две електронни схеми Northbridge и Southbridge позволява на Intel (съществуват и схемни набори само с една микросхема) да осигури една интересна допълнителна възможност. Тя се състои в това, че към РС може да бъде свързан допълнителен РС (например Laptop), посредством специална стиковъчна станция (интерфейс). Другото предимство на този начин на конфигуриране на схемния набор е възможността тези схеми да бъдат произвеждани от различни производители.

Освен с архитектура северен и южен мост напоследък се разработват чипсети с хъбова архитектура. При нея, вместо северен мост се разработва специализиран чип, който се нарича хъб на контролера на паметта MCH (Memory Controller Hub). Вместо южен мост се използва хъб на контролера за вход/изход ICH (I/O Controller Hub). Двете схеми не се свързват помежду си с PCI шината, а със специализиран интерфейс, който е два пъти по-бърз от PCI шината (66 MHz). Дизайнът с хъбов интерфейс е много икономичен, тъй като ширината на шината за данни е само 8 бита. За реализацията на този интерфейс са необходими само 15 сигнала за разлика от 64–те сигнала на 32-битовия PCI интерфейса. Това означава по-малко писти на дънната платка, по-малко шум и грешки при синхронизацията, а чиповете имат по-малко изводи и са по-изгодни за производство.

Хъбовата конструкция има някои сериозни предимства пред стандартната мостова организация на чипсетите:

- Хъбовата организация осигурява по-бърз трансфер на данните. Той е учетворен 4х (с 4 трансфера за един такт) и въпреки по-малката ширина на шината (8 бита) е с двойно по-голям трансфер от PCI.

- Намалява се натоварването на PCI шината. Хъбовият интерфейс е независим от PCI и не споделя ресурсите с него. Това осигурява по-голяма производителност на всички устройства свързани с PCI шината и облекчава работата на Super I/O чипа.

- Намалява се опроводяването на дънната платка. С това се повишава сигурността на трансфера на данните.

Super I/O чипове. Третият по важност чип, който се монтира на дънната платка е Super I/O чипът. Обикновено той интегрира в себе си редица устройства, които в по-ранните компютърни системи се намираха на отделни разширителни карти. Основните компоненти вградени в Super I/O чипа са: Контролер за флопидискови устройства, контролери за серийни портове, контролер за паралелен порт. Добрите Super I/O чипове включват технология за буфериране на серийните портове UART (Universal asynchronous receiver transmitter).
Super I/O чипът може да съдържа и някои други компоненти, като контролерите за клавиатура и мишка. В голяма част от компютърните системи тези контролери са в отделен чип, но в по-новите системи те се вграждат в Super I/O чипа.

Ролята на Super I/O чипа, изглежда става все по-малка, тъй като в най-новите разработки на чипсети от Intelр все повече функции се прехвърлят към южния мост или хъба на контролера за вход/изход. Така например, IDE контролерите (за твърдия диск) се вграждат вече в схемите на чипсета.



CMOS RAM памет. В оригиналните системи АТ беше използван чип на Motorola (146818) за часовник в реално време (RTC) и CMOS RAM чип. Това е специална интегрална схема с часовник и 10 байта RAM памет, в част от която може да се съхранява информация. Проектантите на IBM използваха тази памет за съхраняване на данни за конфигурацията на компютърната система.

В съвременните РС вече не се използва чипът на Motorola, а функциите му се включват във функционалните възможности на южния мост или Super I/O чипа.


9. Синхронизация в компютърните системи


Основният тактов генератор на дънната платка генерира високо стабилни импулси с така наречената опорна честота – тя се използва да синхронизира работата на централния процесор, системната шина и шините за вход-изход. Стандартните честоти на основния тактов генератор са стандартизирани и имат следните стойности: 4.77; 6; 8; 10; 12; 16; 20; 25; 33.3; 40; 50; 60; 66.6, а за по-новите системи: 75; 83; 100; 112; 125; 133; 200; 400; 533 MHz.

Тъй като различните компоненти (процесор, памет, адаптери за шините) се различават съществено, опорната честота се използва (в компютрите от 80486 нагоре) за синхронизация на шините за вход-изход и за вътрешно умножение на честотата на процесора. Различават се следните честоти:



Host Bus Clock – честота на системната шина (външна честота на шината за микропроцесора). Това са честотите на основния тактов генератор. За системите 80486 се използваха 16, 25, 33.3 и 40 MHz. Доскоро основната шина за системите с микропроцесори Pentium беше 66.6 MHz. Сега широко приложение намират шини със 100 и 133 MHz, а новите компютърни технологии много бързо преминаха през 200 MHz за да достигнат системни честоти от 400 или 533 MHz. Тази шина свързва микропроцесора с основната памет на компютърната система.

Front-Side Bus (процесорна шина) е комуникационна магистрала между CPU и чипсета на дънната платка (северния мост или хъба на контролера на паметта). Тя обикновено работи със същата честота, с която работи системната шина (между чипсета и основната памет).

Back-Side Clock (задна шина) – При компютърните системи Pentium II, Celeron, Athlon и Duron кеш-паметта от 2 ниво (L2) се монтира на специална платка или в корпуса на микропроцесора. Тя се свързва с ядрото на микропроцесора с отделна шина, която беше наречена задна шина. По тази причина процесорната шина беше наречена предна и се разграничи от системната шина, която свързва паметта с микропроцесора.

CPU Clock (Core speed) – вътрешна честота на микропроцесора (скорост на работа на микропроцесорното ядро). Отношението на вътрешната честота на процесора към честотата на основната шина (външната честота) се нарича коефициент на умножение на честотата. Съвременните технологии позволиха да се увеличат пределните честоти на работа на интегралните схеми, поради което се прилага вътрешно умножение на честотата с кратност 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5 и т.н. Коефициентът на умножение може да се подбере от ключове на дънната платка (но се лимитира от възможностите на микропроцесора). В някои BIOS – системи коефициентът на умножение може да се променя софтуерно (така нареченото ‘изпържване’ на микропроцесора).

PCI Bus Clock () – честота на шините от тип PCI (). Тя се обезпечава от делението на честотата Host Bus Clock на 2 или 3 (в по-новите системи и на повече). Когато честотата на системната шина е под 33.3 MHz (80486 и по-стари системи) тактово деление на честотата не се извършва. Ако тактовата честота на PCI е много ниска се забавя трансферът на данни (особено за графичния адаптер – за видеокартата). Много високата честота пък довежда до нестабилна работа на устройствата, които се свързват с PCI слотовете. Обикновено за PCI шината честотата е 25 – 33 MHz.

ISA Bus Clock () – честота на шините от типа ISA (). Честотата на този тип шина е 8 MHz. Тя обикновено се задава в BIOS, чрез коефициент на деление на основната честота. Този тип слотове вече се избягват поради ниската честота – вместо тях се използват PCI, AGP или VLB.

10. Прекъсвания в компютърните системи


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

Сигнализацията за прекъсване се предава по специални линии за заявка за прекъсванията IRQ (Interrupt request line). Те се намират на дънната платка и се свързват с разширителните слотове, в които се намират контролерните платки за хардуерните устройства. Когато възникне дадено прекъсване, управлението на системата се поема от специална програма, която най-напред записва съдържанието на всички регистри на процесора в паметта на стека, след което се обръща към таблицата с векторите на прекъсванията. Векторна таблица на прекъсванията съдържа списък с адреси в паметта, съответстващи на линиите на прекъсванията. В зависимост от това, кое прекъсване е възникнало, се стартира съответстващата му програма.

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

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

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

Управлението на прекъсванията се извършва от специална логическо устройство, което се нарича контролер на прекъсванията. Контролерът на прекъсванията получава заявки за прекъсвания от различните хардуерни устройства посредством линиите за заявки за прекъсвания IRQ. В първите РС, използващи 8 битовата шина ISA, контролерът на прекъсванията се свързваше с хардуерните устройства посредством осем IRQ линии.

С появата на РС АТ (i80286) броят на външните хардуерни прекъсвания беше увеличен. Броят на прекъсванията беше удвоен до 16, като се използваха два контролера на прекъсванията Intel 8256. Двата контролера се свързват каскадно, при което прекъсванията, генерирани от втория контролер се подават през неизползваното IRQ2 на първия контролер. Тази схема осигурява само 15 налични прекъсвания, като IRQ става недостъпно. Схемата на контролерите на прекъсвания и линиите за заявки е показана на фиг. 2.9.

Чрез подаване на всички прекъсвания от втория контролер през IRQ2 на първия, всички тези нови прекъсвания вкупом имат ниво на приоритет между IRQ1 и IRQ3. За да се съхрани съвместимостта с по-старите системи, една от новите линии (IRQ9) е пренасочена да заеме място в слотове към които се отнасяла линия IRQ2. Типичната употреба на прекъсванията в 16 битовата ISA и 32-битовите PCI/AGP шини е показано в таблица 2.1.

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

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

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

В зависимост от мястото на възникване прекъсванията могат да бъдат разделени на вътрешни (програмни и апаратни) и външни. Вътрешните прекъсвания се генерират при възникване на някаква ситуация, изискваща специални действия, не планирани в изпълняваната програма. Външните прекъсвания се използват от различните устройства за изпълнение на определени операции в трансфера на информацията.


Таблица 2.1. Стандартни назначения на прекъсванията


IRQ

Функции

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

Тип карта

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

0

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

не







1

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

не







2

Свободно

не







8

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

не







9

Свободно (като IRQ2)

да

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

По начина на възникване прекъсванията биват апаратни и програмни прекъсвания и изключения на CPU. Апаратните (хардуерни) прекъсвания се генерират, когато дадено устройство или модул трябва да ‘привлекат’ вниманието на CPU. За тези прекъсвания се използват IRQ линиите. Хардуерните прекъсвания понякога се наричат маскируеми прекъсвания, което означава че прекъсванията могат да бъдат маскирани, т.е изключени за кратко време, докато CPU е зает с други по-важни операции. Отговорността за правилното и ефективно управление на прекъсванията се възлага на BIOS и другите системни програми. Немаскируемите прекъсвания се използват, когато не е възможно забавяне на заявката.

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

Наред с горните два типа прекъсвания, в микропроцесорите е предвидена възможност, механизмът на обработка на прекъсванията да се използва и при възникване на проблеми, свързани с работата на CPU. Например, когато някаква програма се обръща към област в паметта, за която няма разрешение за достъп (грешка при защита на паметта) CPU генерира прекъсване, при което се извежда съобщение за грешка.


11. Критически ограничения на ресурсите в PC


PC има определени ресурси, които предоставя на компонентите и изпълняващите се програми. Всеки компонент от оборудването и програмното обезпечение използва някои от ресурсите на КС. Управлението и заявките за използване на тези ресурси, както и разрешаването на конфликтните ситуации при използването им е една от главните задачи в съвременните КС.

Основните ресурси, които имат ограничения и могат да предизвикат критични ситуации са:

- Адреси в паметта, към които има достъп микропроцесора;

- Адреси на портове за вход-изход (IO), които CPU може да използва;

- Линии за заявки за прекъсване (IRQ), чрез които периферните устройства могат да ‘привлекат вниманието’ на CPU;

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

С редки изключения всеки ресурс може в определен момент от време да се използва само от един компонент. Ако даден ресурс е предоставен на даден компонент от КС, само той може да го използва до освобождаването му. Като изключения от това правило могат да се отнесат случаите, когато устройства използващи определено прекъсване, линиите IRQ могат да работят в режим полинг (polling – запитване) и да предават правото за използване на това IRQ на други устройства. Тази стратегия се използва при печатането за освобождаване на заето IRQ и използването на няколко принтера. Друго изключение има при използването на съвременните PCI шини, където системата е способна сама да определя каква карта за разширение е свързана към всеки слот и по този начин различните слотове могат да използват един и същ IRQ.

12. Технология Plug-and-play (PnP)


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

Първото от тези обстоятелства се определя от необходимостта да се осигури приемственост при разработването на нови системи (съвместимост отгоре надолу). Всички нови системи трябва да могат да използват създадените вече устройства и да се съобразяват с техните стандарти. Второто обстоятелство е свързано със свободната конкуренция на пазара – всеки производител може да предлага устройства за КС. Решаването на тези проблеми се извършва с въвеждането на съответни стандарти.

Концепцията Plug-and-play най-общо определя по-какъв начин РС трябва да работи без участието на потребителя при настройките на КС. Формално тази концепция би трябвало да се състои от серия стандарти, които да обезпечат постигането на горните изисквания. И само РС, които напълно съответстват на тези стандарти би трябвало да имат право да носят този знак Plug-and-play.

За правилната реализация на тази технология е необходимо всеки компонент на РС (включен към РС посредством дънната платка или друг конектор) да има собствен идентификатор на устройството (device ID), позволяващ да се определят всички технически параметри, които трябва да бъдат предадени на програмното осигуряване, управляващо PnP. Някои от устройствата, програмното осигуряване идентифицира като способни за програмно включване или изключване и по този начин може да управлява разпределението на ресурсите за него. За други компоненти, този идентификатор ще покаже, че е от по-стар тип (ISA) и по тази причина не може да се управляват ресурсите за него.



РС трябва да има информация за всички PnP компоненти, които съдържа. Затова една от задачите, които се изпълняват в процеса на пускане на КС, се явява проверка и съставяне на списък на всички такива компоненти. PnP BIOS събира тази информация от контролерите на съответните стандартни шини и конекторите на дънната платка. След идентификацията на тези компоненти се решават две задачи. Първата задача е да се определят ресурсите, необходими за работата на всеки компонент. Това се извършва от специални програми – арбитри (arbitrators). Втората задача се решава от конфигуратора (configurator), програма която разпределя необходимите ресурси за всеки компонент. Конфигураторът също така настройва драйверите на устройствата с постоянна конфигурация, използващи системната шина ISA.


База данных защищена авторским правом ©obuch.info 2016
отнасят до администрацията

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