cpu чипови и магистрали

46
1 CPU чипови и магистрали Предавач: д-р Цвета Мартиновска Фонд на часови: 2+2

Upload: zeph-ruiz

Post on 03-Jan-2016

35 views

Category:

Documents


1 download

DESCRIPTION

CPU чипови и магистрали. Предавач : д-р Цвета Мартиновска Фонд на часови : 2+2. CPU чипови. Сите современи CPU се изработени на еден чип. Pinout – значење на сигналите на различните пинови. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CPU  чипови и магистрали

1

CPU чипови и магистрали

Предавач: д-р Цвета МартиновскаФонд на часови: 2+2

Page 2: CPU  чипови и магистрали

2

CPU чипови

Сите современи CPU се изработени на еден чип.

Pinout – значење на сигналите на различните пинови.Разгледувањето на функцијата на пиновите овозможува

да се согледа како се одвиваат операциите меѓу CPU, меморијата и В/И уредите на ниво на дигитална логика.

CPU има повеќе пинови (влезни, излезни и влезно/излезни) преку кои комуницира со пинови на меморијата и В/И уредите.

Пиновите на CPU може да се од тип адреса, податоци и контролни пинови.

Page 3: CPU  чипови и магистрали

3

CPU чипови

При земање на инструкција:1.CPU ја поставува мемориската адреса на таа

инструкција на неговите адресни линии.2. Поставува една или повеќе контролни линии за да ја

информира меморијата дека е потребно читање на збор.3. Меморијата одговара со поставување на зборот на

податочните пинови на CPU и поставување на сигнал дека податокот е спремен.

4. Кога CPU го гледа овој сигнал го зема зборот и ја извршува инструкцијата.

CPU комуницира со меморијата и В/И уредите со поставување на сигнали на своите пинови и прифаќање на сигнали од пиновите.

Page 4: CPU  чипови и магистрали

4

CPU чипови

Клучни параметри кои ги одредуваат перформансите на CPU се бројот на адресни пинови и бројот на податочни пинови.

Чип со m адресни пинови може да адресира 2m мемориски локации. Вообичаени вредности на m се 16, 20, 32 и 64.

На CPU се 8 податочни пинови ќе му требаат 4 операции за да прочита 32-битен збор, а на чип со 32 податочни пинови една операција. Чип со 32 податочни пинови е побрз но и поскап.

Контролните сигнали го регулираат протокот и траењето на сигналите од и кон CPU.

Сите CPU имаат пинови за напојување, заземјување и сигнали од системскиот часовник.

Page 5: CPU  чипови и магистрали

5

CPU чипови

Контролните сигнали може да се групираат во следните категории:

1. контрола на магистралата2. прекини (интерапти)3. арбитража на магистралата4. копроцесорско сигнализирање5. статус6. други сигнали

Page 6: CPU  чипови и магистрали

6

CPU чипови

Page 7: CPU  чипови и магистрали

7

CPU чипови

Контролните пинови на магистралата се главно излези од CPU кон магистралата (влезови во меморија и В/И чипови) кои кажуваат дали CPU ќе чита или запишува во меморија, или слично.

Интерапт пиновите се влезови од В/И уреди до CPU. Пиновите за арбитража на магистралата се потребни за

да се регулира сообраќајот на магистралата, да се спречи два уреда да ја користат магистралата во исто време.

Некои компјутери имаат копроцесори за работа со броеви со подвижна запирка или графика. За комуникација меѓу CPU и копроцесорот постојат специјални пинови.

Други пинови обезбедуваат или прифаќаат статусна информација, се користат за ресетирање на системот или се присутни заради компатибилност со постари В/И чипови.

Page 8: CPU  чипови и магистрали

8

Магистрали (buses)

Магистрала е електричен пат меѓу уреди. Постојат интерни магистрали за пренос на податоци до и

од ALU и екстерни магистрали за поврзување на CPU со меморијата и В/И уредите.

Секој PC има една екстерна собирница или системска собирница. Таа се состои од 50 до 100 паралелни бакарни жици врежани во матичната плоча со конектори разместени на регуларни интервали за вметнување на меморија и В/И плочи.

Современите PC имаат магистрала за специјална намена меѓу CPU и меморијата и најмалку една собирница за В/И уредите.

Page 9: CPU  чипови и магистрали

9

Магистрали (buses)

Page 10: CPU  чипови и магистрали

10

Магистрали (buses)

Некои од најпознатите некогашни и денешни магистрали: Omnibus (PDP-8) Unibus (PDP-11) Multibus (8086) VME bus (physics lab equipment) IBM PC bus (PC/XT) ISA bus (PC/AT) EISA bus (80386) Microchannel (PS/2) Nubus (Macintosh) PCI bus (PC) Firewire (потрошувачки електронски елементи) SCSI bus (PC, workstation) Universal Serial Bus (современи PC)

Page 11: CPU  чипови и магистрали

11

Магистрали (buses)

Протокол на магистралата се правила според кои работи магистралата кои мора да се познати за на неа да може да се приклучат уреди од било кој производител.

Исто така треба да се познати електричните спецификации (напони) и времиња на сигнали.

Master уреди се уреди приклучени на магистралата кои се активни и може да започнат пренос на податоци.

Slave уреди се уреди приклучени на магистралата кои се пасивни и чекаат барање за пренос на податоци.

Пример: CPU е master кога бара од диск контролерот да прочита или запише блок на податоци, а диск контролерот е slave.

Диск контролерот е master кога бара од меморијата да ги прифати зборовите кои тој ги чита од диск.

Меморијата не може да биде master.

Page 12: CPU  чипови и магистрали

12

Магистрали (buses)

Примери на master-slave комбинации:

Page 13: CPU  чипови и магистрали

13

Магистрали (buses)

Бинарните сигнали на излез од пиновите на CPU се слаби за да ја побудат собирницата. Од таа причина:

Многу master уреди се поврзани на собирницата преку чип наречен bus driver.

Многу slave уреди се поврзани на собирницата преку чип наречен bus receiver.

За уреди кои може да дејствуваат и како master и како slave комбинираниот чип се нарекува bus transceiver.

Page 14: CPU  чипови и магистрали

14

Магистрали (buses)

Како CPU и магистралата има адресни, податочни и контролни линии. Не постои еден на еден мапирање меѓу CPU пиновите и сигналите на магистралата.

На пример, некои CPU имаат 3 пина кои одредуваат дали се изведува читање/запишување од/во меморија или В/И уред или друга операција.

Магистралата може да има посебни линии за читање /запишување од/во меморија или В/И уред. Во тој случај потребен е декодер меѓу CPU и магистралата за 3-битниот сигнал да се конвертира во посебни сигнали кои ќе ги управуваат линиите на магистралата.

Брзината и пропусната моќ на магистралата зависи од нејзината ширина, циклусот (bus clocking) на магистралата, арбитражата и операциите на магистралата.

Page 15: CPU  чипови и магистрали

15

Ширина на магистрали

Бројот на адресни линии на магистралата одредува колку мемориски локации ќе може да адресира CPU.

Ако магистралата има повеќе адресни линии тогаш зафаќа повеќе физички простор на чипот и потребни се поголеми конектори што ја зголемува цената на магистралата.

Првиот IBM PC го користел 8088 CPU и имал 20-битна адресна магистрала. Со 20 бита може да се адресира 1 MB меморија.

Во следниот чип 80286 Intel го зголемил адресниот простор до 16 MB, па биле потребни уште 4 адресни линии. За новите адресни линии биле потребни и нови контролни линии.

Page 16: CPU  чипови и магистрали

16

Ширина на магистрали

За 80386 додадени се уште 8 адресни линии и нови контролни линии. Резултатот (EISA bus) бил сложена магистрала која ќе била поедноставна ако се изградела почетно од 32 адресни линии.

Page 17: CPU  чипови и магистрали

17

Ширина на магистрали

Податочниот опсег може да се зголеми на два начина:1. да се намали bus cycle времето (повеќе трансфери во

секунда)2. да се зголеми ширината на податочната магистрала

(повеќе битови по трансфер).

Забрзување на магистралата е можно но тешко се изведува бидејќи сигналите по линиите патуваат со незначително различни брзини. Овој проблем е наречен искосување (skew problem). Друг проблем е што забрзувањето ја оневозможува компатибилноста наназад. Старите плочи дизајнирани за побавни магистрали нема да работат со новите магистрали.

Page 18: CPU  чипови и магистрали

18

Ширина на магистрали

Од тие причини податочниот опсег се зголемува со инкрементално додавање на податочни линии. Се почнало со 8 податочни линии, потоа 16 и на крајот 32 на истата магистрала.

За да се надмине проблемот со многу широки магистрали некои производители воведуваат мултиплексирање на магистралата. Со тоа се добива побавен систем.

Истите линии се користат прво за пренос на адреси а потоа за пренос на податоци.

Page 19: CPU  чипови и магистрали

19

Такт на магистралата (Bus clocking)

Ако кај магистрала се користат такт импулси таа се нарекува синхрона, а во спротивно асинхрона.

Синхроната магистрала има линија управувана од кристален осцилатор. Сигналот на оваа линија се состои од правоаголни импулси со фреквенција меѓу 5 MHz и 100 MHz.

Сите активности на магистралата одземаат одреден број на циклуси.

Кај асинхроните магистрали нема master clock. Циклусите може да бидат со било која должина и не мора да се исти за сите парови уреди.

Page 20: CPU  чипови и магистрали

20

Синхрона магистрала

Временски дијаграм за читање податоци од меморија

Page 21: CPU  чипови и магистрали

21

Синхрона магистрала

Во следната табела се објаснети другите сигнали од временскиот дијаграм:

Page 22: CPU  чипови и магистрали

22

Синхрона магистрала

Се користи часовник од 100 MHz кој дава циклус од 10 ns.

PCI bus работи на 33 MHz или 66 MHz. Во примерот читањето од меморија одзема 15 ns од

моментот кога адресата е стабилна. Со овие параметри потребни се 3 bus cycles за да се прочита збор.

Првиот циклус почнува на растечкиот раб на Т1 импулсот, а третиот завршува на растечкиот раб на Т4.

Во примерот потребна е 1 ns за промена на нивото на сигналот.

Во време на импулсот Т1 CPU ја поставува адресата на зборот на адресните линии. Содржината на податочните линии не е важна се до Т3.

Page 23: CPU  чипови и магистрали

23

Синхрона магистрала

Откако адресите се стабилизираат на нивни нови вредности се поставуваат и . Тие покажуваат дека се пристапува до меморија за читање на податоци.

Бидејќи на меморијата и требаат 15 ns откако адресата е стабилна да го постави податокот на излезните линии, таа нема да ги обезбеди податоците за време на импулсот Т2.

За CPU да не очекува податоци меморијата поставува WAIT линија на почетокот на Т2.

На почеток на Т3 кога меморијата ги поставува податоците на податочните линии таа го негира сигналот . .

На опаѓачкиот раб на Т3 CPU ги чита податочните линии (strobe) и ги сместува (latch) вредностите во интерен регистер.

Page 24: CPU  чипови и магистрали

24

Синхрона магистрала

Откако се прочитани податоците CPU ги негира сигналите и .

TAD е временски интервал меѓу растечкиот раб на Т1 и поставувањето на адресата. Според спецификациите TAD ≤ 4ns.

Според спецификациите податоците треба да бидат на податочните линии најмалку TDS (2ns) пред опаѓачкиот раб на Т3, за да има време да се стабилизираат пред CPU да ги прочита.

Page 25: CPU  чипови и магистрали

25

Синхрона магистрала

Според овие ограничувања меморијата во најлош случај ќе има 25-4-2=19 ns од моментот кога се поставува адресата до моментот кога треба да се постават податоците. Ако меморијата има латентност 10 ns ќе може да одговори за време Т3. Меморија од 20 ns ќе треба да внесе дополнителна состојба на чекање и ќе ги постави податоците за време на Т4.

Page 26: CPU  чипови и магистрали

26

Синхрона магистрала

Временската спецификација потоа гарантира дека адресата ќе се постави најмалку 2 ns пред поставување на .

Ограничувањата TM и TRL означуваат дека и ќе се постават за време од 3 ns од опаѓачкиот раб на Т1. Во најлош случај на меморискиот чип ќе му требаат само 10+10-3-2=15 ns по поставување на и за поставување на податоците на магистралата.

TMH и TRH означуваат колку време е потребно и да бидат негирани откако податоците се прочитани.

TDH означува колку долго меморијата мора да ги држи податоцита на магистралата по негирање на .

Page 27: CPU  чипови и магистрали

27

Асинхрона магистрала

Недостатоци на синхроните магистрали:1. Се работи со мултипли од bus cycles (на пример,

трансферот кој трае 3.1 циклус мора да се растегне до 4 циклуси бидејќи делови од циклуси не се дозволени)

2. Тешко се имплементираат новите технолошки достигнувања (на пример, ако се изградат мемории со време на пристап од 8 ns наместо 15 ns може да се елиминира состојбата на чекање и да се забрза системот, но ако се произведат мемории со време на пристап 4 ns нема подобрување бидејќи минималното време на читање е 2 циклуси).

Ако на синхрона магистрала се приклучени уреди со различна брзина, магистралата мора да има брзина колку најбавниот уред.

Page 28: CPU  чипови и магистрали

28

Асинхрона магистрала

Кога bus master ја поставува адресата, , тој поставува специјален сигнал (Master SYNchronization).

Кога slave уредот го забележува овој сигнал тој ја изведува операцијата и поставува сигнал (Slave SYNchronization).

Кога master уредот го забележува , тој знае дека податоците се достапни и ги чита, а потоа ги негира адресните линии, , и .

Кога slave уредот забележува дека е негиран знае дека циклусот е завршен и го негира .

Page 29: CPU  чипови и магистрали

29

Асинхрона магистрала

Page 30: CPU  чипови и магистрали

30

Асинхрона магистрала

Поставувањето на предизвикува податочните линии да бидат поставени и предизвикува slave уредот да постави .

Поставувањето на предизвикува негација на адресните линии, , и .

Негацијата на предизвикува негација на , која го завршува циклусот на читање.

Множеството на сигнали кои заемно се предизвикуваат се вика full handshake. Секој настан е предизвикан од претходен настан а не од такт импулс. Ако одреден master-slave пар е бавен, тоа не влијае на друг пар.

Page 31: CPU  чипови и магистрали

31

Асинхрона магистрала

Претходниот full handshake се состои од 4 настани се поставува се поставува како одговор на се негира како одговор на се негира како одговор на негацијата на

Иако асинхроните магистрали имаат предности, најголемиот број на магистрали се синхрони. Една од причините е што полесно се реализира синхрона магистрала.

Page 32: CPU  чипови и магистрали

32

Арбитража на магистралата

Магистралата има повеќе master уреди. Покрај CPU, master уреди треба да бидат В/И уредите за да читаат и запишуваат во меморија и копроцесорите.

Кога повеќе уреди се обидуваат да станат master-и на магистралата треба да постои механизам за арбитража.

Арбитражата може да е централизирана и децентрализирана.

Page 33: CPU  чипови и магистрали

33

Арбитража на магистралата

Page 34: CPU  чипови и магистрали

34

Арбитража на магистралата

Кај централизираната арбитража постои еден bus arbiter кој определува кој уред е следниот уред кој ќе ја користи магистралата.

Многу CPU имаат арбитер вграден во CPU чипот, но некогаш тоа е посебен чип.

Арбитерот ја доделува магистралата со поставување на сигнал на grant линија која се распространува до сите уреди. Уредот кој физички е најблизок до арбитерот ја презема магистралата ако поставил барање. Ако не поставил барање го пропагира сигналот за доделување на магистралата до следниот уред. Оваа шема се вика daisy chaining. На уредите им се доделуваат приоритети зависно од близината до арбитерот.

Page 35: CPU  чипови и магистрали

35

Арбитража на магистралата

Многу магистрали имаат повеќе нивоа на приоритет. Во реалноста има магистрали со 4, 8 или 16 нивоа на приоритет.

Уредите чие опслужување е временски критично се прикачени на линии со повисок приоритет.

На претходната слика уредите 1, 2 и 4 користат приоритет 1 додека уредите 3 и 5 користат приоритет 2.

Ако уреди од различни нивоа на приоритет ја бараат магистралата, арбитерот ја доделува на уред од линија со повисок приоритет. Меѓу уредите со ист приоритет се користи daisy chaining.

Page 36: CPU  чипови и магистрали

36

Арбитража на магистралата

Некои арбитери имаат acknowledgement линија која уредот ја сетира кога ја добива магистралата. Линиите request и grant може да се негираат со што се овозможува да се изведува арбитража за други уреди кои ја бараат магистралата. На тој начин, кога ќе заврши тековниот трансфер следниот master на магистралата веќе е избран. Новиот трансфер може да почне кога acknowledgement линијата е негирана.

Оваа арбитражна шема се реализира со дополнителна линија и повеќе логички кола во секој уред, но подобро го искористува bus cycle.

Page 37: CPU  чипови и магистрали

37

Арбитража на магистралата

Во системи каде меморијата е приклучена на главната магистрала CPU мора да се натпреварува со сите В/И уреди за користење на магистралата.

Вообичаено решение е да се даде најнизок приоритет на CPU. CPU може да чека за користење на магистралата, но В/И уредите може да ги изгубат податоците.

Кај современите компјутери меморијата е приклучена на одделна собирница од онаа на која се приклучени В/И уредите.

Page 38: CPU  чипови и магистрали

38

Арбитража на магистралата

Децентрализирана арбитражаКога уредот треба да ја користи магистралата тој сетира

негова request линија. Сите уреди ги надгледуваат request линиите на другите уреди. Request линиите имаат различни приоритети (до 16 различни приоритети).

На крајот на секој циклус на магистралата секој уред знае дали има поставено барање со највисок приоритет за да му биде дозволено да ја користи магистралата во следниот циклус.

Оваа арбитражна шема бара повеќе линии на магистрала но цената се намалува бидејќи нема централен арбитер. Може да се приклучат уреди колку што има request линии.

Page 39: CPU  чипови и магистрали

39

Арбитража на магистралата

Друг вид децентрализирана арбитража е прикажан на сликата. Се користат три линии без разлика колку уреди се приклучени на магистралата.

Првата линија е request линија за поставување барање за користење на магистралата. Втората busy линија се поставува од тековниот master уред. Третата линија се користи за арбитража од тип daisy chaining.

Кога ниту еден уред не ја бара магистралата сигналот се пропагира низ арбитражната линија до сите уреди.

Page 40: CPU  чипови и магистрали

40

Арбитража на магистралата

За да се користи магистралата уредот прво проверува дали е слободна и сетира IN сигнал. Ако IN е негиран уредот неможе да стане bus master и го негира OUT.

Ако IN не е негиран уредот го негира OUT што предизвикува неговиот сосед да добие негиран IN сигнал и да го негира OUT.

Уредот кој има ненегиран IN и негиран OUT сигнал станува bus master. Тој ги сетира линиите busy и OUT и почнува трансфер.

Page 41: CPU  чипови и магистрали

41

Операции на магистралата

Вообичаена операција на магистралата е master уред (обично CPU) да чита или запишува од/во slave уред (обично меморија).

Друга операција е читање/запишување на блок податоци.Кога се користи кеширање се зема цела кеш линија на

пример од 16 збора по 32 бита.При читање на блок master уредот му кажува на slave

уредот колку зборови ќе се пренесат. Бројот на зборови се поставува на податочните линии за време на Т1.

Slave поставува по еден збор од бараните зборови за време на секој следен циклус.

Временскиот дијаграм има дополнителен сигнал кој се сетира за да означи трансфер на блок податоци.

Page 42: CPU  чипови и магистрали

42

Операции на магистралата

Читањето на блок од 4 збора трае 6 циклуси, а не 12 колку би требало за да се земе секој збор посебно од меморија.

Page 43: CPU  чипови и магистрали

43

Операции на магистралата

Друг вид операција се јавува кај мултипроцесорски систем со 2 или повеќе CPU кои ја користат истата магистрала.

Мултипроцесорските системи имаат read-modify-write циклус каде една CPU може да чита, менува и запишува во мемориска област без да ја ослободи магистралата.

Овој циклус спречува друга CPU да ја менува мемориската област која ја користи првата и да се јават неконзистентни податоци.

Page 44: CPU  чипови и магистрали

44

Операции на магистралата

Друга операција е опслужување на интерапти. Кога CPU командува В/И уред тој очекува уредот да

сигнализира интерапт користејќи ја собирницата кога ќе заврши со работата.

Повеќе уреди може истовремено да сигнализираат интерапти, па потребна е арбитража како кај обичните bus циклуси.

Вообичаено решение е да се користи централизиран арбитер и да се доделат приоритети на уредите.

Постојат стандардни интерапт контролер чипови. IBM PC и неговите наследници го користат 8259А чипот.

8 уреди може директно да се поврзат на 8 IRx (Interrupt Request) влезови на 8259А чипот.

Page 45: CPU  чипови и магистрали

45

Операции на магистралата

Кога некој од уредите треба да предизвика интерапт тој ја сетира соодветната влезна линија.

Ако еден или повеќе уреди сетирале интерапт 8259А ја сетира INT (Interrupt) линијата која директно го управува интерапт пинот на CPU.

Кога CPU може да го опслужи интераптот тој испраќа сигнал INTA (Interrupt Acknowledge).

Page 46: CPU  чипови и магистрали

46

Операции на магистралата

8259А користејќи ги податочните линии треба да го постави бројот на уредот кој го предизвикал интераптот.

CPU хардверот го користи тој број како индекс во табелата на поинтери нарешени интерапт вектори за да се најде адресата на процедурата за опслужување на интераптот.

8259А има неколку регистри до кои CPU може да пристапи користејќи обичен bus циклус и сигнали на пиновите , ,

и .Во регистрите на 8259А може да се запишува и може да се

маскираат или дозволат интерапти.Кога треба да се приклучат повеќе од 8 уреди може да се

користи каскадно поврзување на 8259А чипови. Пиновите за каскадно поврзување не се прикажани на претходната слика.