1 / 46

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

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

zeph-ruiz
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. CPU чипови • Сите современи CPU се изработени на еден чип. • Pinout – значење на сигналите на различните пинови. • Разгледувањето на функцијата на пиновите овозможува да се согледа како се одвиваат операциите меѓу CPU, меморијата и В/И уредите на ниво на дигитална логика. • CPU има повеќе пинови (влезни, излезни и влезно/излезни) преку кои комуницира со пинови на меморијата и В/И уредите. • Пиновите на CPU може да се од тип адреса, податоци и контролни пинови.

  3. CPU чипови • При земање на инструкција: • 1.CPU ја поставува мемориската адреса на таа инструкција на неговите адресни линии. • 2. Поставува една или повеќе контролни линии за да ја информира меморијата дека е потребно читање на збор. • 3. Меморијата одговара со поставување на зборот на податочните пинови на CPU и поставување на сигнал дека податокот е спремен. • 4. Кога CPU го гледа овој сигнал го зема зборот и ја извршува инструкцијата. • CPU комуницира со меморијата и В/И уредите со поставување на сигнали на своите пинови и прифаќање на сигнали од пиновите.

  4. CPU чипови • Клучни параметри кои ги одредуваат перформансите на CPU се бројот на адресни пинови и бројот на податочни пинови. • Чип со m адресни пинови може да адресира 2mмемориски локации. Вообичаени вредности на m се 16, 20, 32 и 64. • На CPU се 8 податочни пинови ќе му требаат 4 операции за да прочита 32-битен збор, а на чип со 32 податочни пинови една операција. Чип со 32 податочни пинови е побрз но и поскап. • Контролните сигнали го регулираат протокот и траењето на сигналите од и кон CPU. • Сите CPU имаат пинови за напојување, заземјување и сигнали од системскиот часовник.

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

  6. CPU чипови

  7. CPU чипови • Контролните пинови на магистралата се главно излези од CPU кон магистралата (влезови во меморија и В/И чипови) кои кажуваат дали CPU ќе чита или запишува во меморија, или слично. • Интерапт пиновите се влезови од В/И уреди до CPU. • Пиновите за арбитража на магистралата се потребни за да се регулира сообраќајот на магистралата, да се спречи два уреда да ја користат магистралата во исто време. • Некои компјутери имаат копроцесори за работа со броеви со подвижна запирка или графика. За комуникација меѓу CPU и копроцесорот постојат специјални пинови. • Други пинови обезбедуваат или прифаќаат статусна информација, се користат за ресетирање на системот или се присутни заради компатибилност со постари В/И чипови.

  8. Магистрали (buses) • Магистрала е електричен пат меѓу уреди. • Постојат интерни магистрали за пренос на податоци до и од ALU и екстерни магистрали за поврзување на CPU со меморијата и В/И уредите. • Секој PC има една екстерна собирница или системска собирница. Таа се состои од 50 до 100 паралелни бакарни жици врежани во матичната плоча со конектори разместени на регуларни интервали за вметнување на меморија и В/И плочи. • Современите PC имаат магистрала за специјална намена меѓу CPU и меморијата и најмалку една собирница за В/И уредите.

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

  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)

  11. Магистрали (buses) • Протокол на магистралата се правила според кои работи магистралата кои мора да се познати за на неа да може да се приклучат уреди од било кој производител. • Исто така треба да се познати електричните спецификации (напони) и времиња на сигнали. • Master уреди се уреди приклучени на магистралата кои се активни и може да започнат пренос на податоци. • Slave уреди се уреди приклучени на магистралата кои се пасивни и чекаат барање за пренос на податоци. • Пример: CPU е master кога бара од диск контролерот да прочита или запише блок на податоци, а диск контролерот е slave. • Диск контролерот е master кога бара од меморијата да ги прифати зборовите кои тој ги чита од диск. • Меморијата не може да биде master.

  12. Магистрали (buses) • Примери на master-slave комбинации:

  13. Магистрали (buses) • Бинарните сигнали на излез од пиновите на CPU се слаби за да ја побудат собирницата. Од таа причина: • Многу master уреди се поврзани на собирницата преку чип наречен bus driver. • Многу slave уреди се поврзани на собирницата преку чипнаречен bus receiver. • За уреди кои може да дејствуваат и како master и како slave комбинираниот чип се нарекува bus transceiver.

  14. Магистрали (buses) • Како CPU и магистралата има адресни, податочни и контролни линии. Не постои еден на еден мапирање меѓу CPU пиновите и сигналите на магистралата. • На пример, некои CPU имаат 3 пина кои одредуваат дали се изведува читање/запишување од/во меморија или В/И уред или друга операција. • Магистралата може да има посебни линии за читање /запишување од/во меморија или В/И уред. Во тој случај потребен е декодер меѓу CPU и магистралата за 3-битниот сигнал да се конвертира во посебни сигнали кои ќе ги управуваат линиите на магистралата. • Брзината и пропусната моќ на магистралата зависи од нејзината ширина, циклусот (bus clocking) на магистралата, арбитражата и операциите на магистралата.

  15. Ширина на магистрали • Бројот на адресни линии на магистралата одредува колку мемориски локации ќе може да адресира CPU. • Ако магистралата има повеќе адресни линии тогаш зафаќа повеќе физички простор на чипот и потребни се поголеми конектори што ја зголемува цената на магистралата. • Првиот IBM PC го користел 8088 CPU и имал 20-битна адресна магистрала. Со 20 бита може да се адресира 1 MB меморија. • Во следниот чип 80286 Intel го зголемил адресниот простор до 16 MB, па биле потребни уште 4 адресни линии. За новите адресни линии биле потребни и нови контролни линии.

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

  17. Ширина на магистрали • Податочниот опсег може да се зголеми на два начина: • 1. да се намали bus cycle времето (повеќе трансфери во секунда) • 2. да се зголеми ширината на податочната магистрала (повеќе битови по трансфер). • Забрзување на магистралата е можно но тешко се изведува бидејќи сигналите по линиите патуваат со незначително различни брзини. Овој проблем е наречен искосување (skew problem). Друг проблем е што забрзувањето ја оневозможува компатибилноста наназад. Старите плочи дизајнирани за побавни магистрали нема да работат со новите магистрали.

  18. Ширина на магистрали • Од тие причини податочниот опсег се зголемува со инкрементално додавање на податочни линии. Се почнало со 8 податочни линии, потоа 16 и на крајот 32 на истата магистрала. • За да се надмине проблемот со многу широки магистрали некои производители воведуваат мултиплексирање на магистралата. Со тоа се добива побавен систем. • Истите линии се користат прво за пренос на адреси а потоа за пренос на податоци.

  19. Такт на магистралата (Bus clocking) • Ако кај магистрала се користат такт импулси таа се нарекува синхрона, а во спротивно асинхрона. • Синхроната магистрала има линија управувана од кристален осцилатор. Сигналот на оваа линија се состои од правоаголни импулси со фреквенција меѓу 5 MHz и 100 MHz. • Сите активности на магистралата одземаат одреден број на циклуси. • Кај асинхроните магистрали нема master clock. Циклусите може да бидат со било која должина и не мора да се исти за сите парови уреди.

  20. Синхрона магистрала • Временски дијаграм за читање податоци од меморија

  21. Синхрона магистрала • Во следната табела се објаснети другите сигнали од временскиот дијаграм:

  22. Синхрона магистрала • Се користи часовник од 100 MHz кој дава циклус од 10 ns. • PCI bus работи на 33 MHz или 66 MHz. • Во примерот читањето од меморија одзема 15 ns од моментот кога адресата е стабилна. Со овие параметри потребни се 3 bus cycles за да се прочита збор. • Првиот циклус почнува на растечкиот раб на Т1 импулсот, а третиот завршува на растечкиот раб на Т4. • Во примерот потребна е 1 ns за промена на нивото на сигналот. • Во време на импулсот Т1 CPU ја поставува адресата на зборот на адресните линии. Содржината на податочните линии не е важна се до Т3.

  23. Синхрона магистрала • Откако адресите се стабилизираат на нивни нови вредности се поставуваат и . Тие покажуваат дека се пристапува до меморија за читање на податоци. • Бидејќи на меморијата и требаат 15 ns откако адресата е стабилна да го постави податокот на излезните линии, таа нема да ги обезбеди податоците за време на импулсот Т2. • За CPU да не очекува податоци меморијата поставува WAIT линија на почетокот на Т2. • На почеток на Т3 кога меморијата ги поставува податоците на податочните линии таа го негира сигналот . . • На опаѓачкиот раб на Т3 CPU ги чита податочните линии (strobe)и ги сместува (latch) вредностите во интерен регистер.

  24. Синхрона магистрала • Откако се прочитани податоците CPU ги негира сигналите и . • TADе временски интервал меѓу растечкиот раб на Т1 и поставувањето на адресата. Според спецификациите TAD ≤ 4ns. • Според спецификациите податоците треба да бидат на податочните линии најмалку TDS (2ns) пред опаѓачкиот раб на Т3, за да има време да се стабилизираат пред CPU да ги прочита.

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

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

  27. Асинхрона магистрала • Недостатоци на синхроните магистрали: • 1. Се работи со мултипли од bus cycles (на пример, трансферот кој трае 3.1 циклус мора да се растегне до 4 циклуси бидејќи делови од циклуси не се дозволени) • 2. Тешко се имплементираат новите технолошки достигнувања (на пример, ако се изградат мемории со време на пристап од 8 ns наместо 15 ns може да се елиминира состојбата на чекање и да се забрза системот, но ако се произведат мемории со време на пристап 4 ns нема подобрување бидејќи минималното време на читање е 2 циклуси). • Ако на синхрона магистрала се приклучени уреди со различна брзина, магистралата мора да има брзина колку најбавниот уред.

  28. Асинхрона магистрала • Кога bus master ја поставува адресата, , тој поставува специјален сигнал (Master SYNchronization). • Кога slave уредот го забележува овој сигнал тој ја изведува операцијата и поставува сигнал (Slave SYNchronization). • Кога master уредот го забележува , тој знае дека податоците се достапни и ги чита, а потоа ги негира адресните линии, , и . • Кога slave уредот забележува дека е негиран знае дека циклусот е завршен и го негира .

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

  30. Асинхрона магистрала • Поставувањето на предизвикува податочните линии да бидат поставени и предизвикува slave уредот да постави . • Поставувањето на предизвикува негација на адресните линии, , и . • Негацијата на предизвикува негација на , која го завршува циклусот на читање. • Множеството на сигнали кои заемно се предизвикуваат се вика full handshake. Секој настан е предизвикан од претходен настан а не од такт импулс. Ако одреден master-slave пар е бавен, тоа не влијае на друг пар.

  31. Асинхрона магистрала • Претходниот full handshake се состои од 4 настани • се поставува • се поставува како одговор на • се негира како одговор на • се негира како одговор на негацијата на • Иако асинхроните магистрали имаат предности, најголемиот број на магистрали се синхрони. Една од причините е што полесно се реализира синхрона магистрала.

  32. Арбитража на магистралата • Магистралата има повеќе master уреди. Покрај CPU, master уреди треба да бидат В/И уредите за да читаат и запишуваат во меморија и копроцесорите. • Кога повеќе уреди се обидуваат да станат master-и на магистралата треба да постои механизам за арбитража. • Арбитражата може да е централизирана и децентрализирана.

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

  34. Арбитража на магистралата • Кај централизираната арбитража постои еден bus arbiter кој определува кој уред е следниот уред кој ќе ја користи магистралата. • Многу CPU имаат арбитер вграден во CPU чипот, но некогаш тоа е посебен чип. • Арбитерот ја доделува магистралата со поставување на сигнал на grant линија која се распространува до сите уреди. Уредот кој физички е најблизок до арбитерот ја презема магистралата ако поставил барање. Ако не поставил барање го пропагира сигналот за доделување на магистралата до следниот уред. Оваа шема се вика daisy chaining. На уредите им се доделуваат приоритети зависно од близината до арбитерот.

  35. Арбитража на магистралата • Многу магистрали имаат повеќе нивоа на приоритет. Во реалноста има магистрали со 4, 8 или 16 нивоа на приоритет. • Уредите чие опслужување е временски критично се прикачени на линии со повисок приоритет. • На претходната слика уредите 1, 2 и 4 користат приоритет 1 додека уредите 3 и 5 користат приоритет 2. • Ако уреди од различни нивоа на приоритет ја бараат магистралата, арбитерот ја доделува на уред од линија со повисок приоритет. Меѓу уредите со ист приоритет се користи daisy chaining.

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

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

  38. Арбитража на магистралата • Децентрализирана арбитража • Кога уредот треба да ја користи магистралата тој сетира негова request линија. Сите уреди ги надгледуваат request линиите на другите уреди. Request линиите имаат различни приоритети (до 16 различни приоритети). • На крајот на секој циклус на магистралата секој уред знае дали има поставено барање со највисок приоритет за да му биде дозволено да ја користи магистралата во следниот циклус. • Оваа арбитражна шема бара повеќе линии на магистрала но цената се намалува бидејќи нема централен арбитер. Може да се приклучат уреди колку што има request линии.

  39. Арбитража на магистралата • Друг вид децентрализирана арбитража е прикажан на сликата. Се користат три линии без разлика колку уреди се приклучени на магистралата. • Првата линија е request линија за поставување барање за користење на магистралата. Втората busy линија се поставува од тековниот master уред. Третата линија се користи за арбитража од тип daisy chaining. • Кога ниту еден уред не ја бара магистралата сигналот се пропагира низ арбитражната линија до сите уреди.

  40. Арбитража на магистралата • За да се користи магистралата уредот прво проверува дали е слободна и сетира IN сигнал. Ако IN е негиран уредот неможе да стане bus master и го негира OUT. • Ако IN не е негиран уредот го негира OUT што предизвикува неговиот сосед да добие негиран IN сигнал и да го негира OUT. • Уредот кој има ненегиран IN и негиран OUT сигнал станува bus master. Тој ги сетира линиите busy и OUT и почнува трансфер.

  41. Операции на магистралата • Вообичаена операција на магистралата е master уред(обично CPU) да чита или запишува од/во slave уред (обично меморија). • Друга операција е читање/запишување на блок податоци. • Кога се користи кеширање се зема цела кеш линија на пример од 16 збора по 32 бита. • При читање на блок master уредот му кажува на slave уредот колку зборови ќе се пренесат. Бројот на зборови се поставува на податочните линии за време на Т1. • Slave поставува по еден збор од бараните зборови за време на секој следен циклус. • Временскиот дијаграм има дополнителен сигнал кој се сетира за да означи трансфер на блок податоци.

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

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

  44. Операции на магистралата • Друга операција е опслужување на интерапти. • Кога CPU командува В/И уред тој очекува уредот да сигнализира интерапт користејќи ја собирницата кога ќе заврши со работата. • Повеќе уреди може истовремено да сигнализираат интерапти, па потребна е арбитража како кај обичните bus циклуси. • Вообичаено решение е да се користи централизиран арбитер и да се доделат приоритети на уредите. • Постојат стандардни интерапт контролер чипови. IBM PC и неговите наследници го користат 8259А чипот. • 8 уреди може директно да се поврзат на 8 IRx (Interrupt Request) влезови на 8259А чипот.

  45. Операции на магистралата • Кога некој од уредите треба да предизвика интерапт тој ја сетира соодветната влезна линија. • Ако еден или повеќе уреди сетирале интерапт 8259А ја сетира INT (Interrupt) линијата која директно го управува интерапт пинот на CPU. • Кога CPU може да го опслужи интераптот тој испраќа сигнал INTA (Interrupt Acknowledge).

  46. Операции на магистралата • 8259А користејќи ги податочните линии треба да го постави бројот на уредот кој го предизвикал интераптот. • CPU хардверот го користи тој број како индекс во табелата на поинтери нарешени интерапт вектори за да се најде адресата на процедурата за опслужување на интераптот. • 8259А има неколку регистри до кои CPU може да пристапи користејќи обичен bus циклус и сигнали на пиновите , , • и . • Во регистрите на 8259А може да се запишува и може да се маскираат или дозволат интерапти. • Кога треба да се приклучат повеќе од 8 уреди може да се користи каскадно поврзување на 8259А чипови. Пиновите за каскадно поврзување не се прикажани на претходната слика.

More Related