Title | 7 superak - Streszczenie Architektura komputerów |
---|---|
Course | Architektura komputerów |
Institution | Politechnika Bialostocka |
Pages | 20 |
File Size | 702.7 KB |
File Type | |
Total Downloads | 100 |
Total Views | 124 |
Na egzmain opracowanie...
/* Odpowiedziwrzucamypododpowiednimpytaniem Adampytania15 Jakub610+27 Bartek1118 Weronika19n https://www.youtube.com/watch?v=wj4rWBYdSAM&spfreload=10 https://www.youtube.com/watch?v=WjrqpJQBKCQ */ 1.Budowakomputera Komputerskładasięzjednostkicentralnej,urządzeńwe/wyorazpamięcigłównej, komunikującychsięzesobązapomocąpołączeńsystemowych Jednostkacentralnaskładasięzjednostkisterującej,jednostkiarytmetycznologicznej (ALU)irejestrów,połączonychzesobąmagistraląwewnętrznąCPU. Jednostkasterującaskładasięzukładówlogicznychszeregowaniaipamięci sterującej,komunikującychsięzesobązużyciemrejestrówidekoderówjednostkisterującej. //wykład1,slajdy2729 2.Oczymświadczypołączeniemiędzywe/wyaprocesorze[modułDMA] //pytaniejestdośćdziwne,więcopróczDMAdorzuciłemjeszcze2rzeczy 2a.DMA Połączeniepomiędzymodułemwejścia/wyjściaaprocesoremświadczyoistnieniu modułuDMA[DirectMemoryAccess].Pozwalaonnawykonanieoperacjiznanejjako bezpośrednidostępdopamięci.Wtakimprzypadkuprocesorprzekazujemodułowi wejściawyjściaprawodoodczytywanialubzapisywaniarozkazówwpamięci,dziękiczemu przesyłaniedanychmiędzywejściemwyjściemapamięciąmożenastępowaćbez angażowaniaprocesora.Podczastakiegoprzesyłaniamodułwejściawyjściaodczytujelub zapisujerozkazywpamięci,uwalniającprocesorododpowiedzialnościzatęwymianę. //Stallings,strona87[stronawksiążce,niePDF] 2b.Modułwejścia/wyjścia Modułwejściawyjścianiejestpoprostuzłączemmechanicznymsłużącymdo połączeniaurządzeniazmagistraląsystemową.Zawieraonpewną„inteligencję",toznaczy układylogiczneumożliwiającekomunikacjęmiędzyurządzeniemperyferyjnymamagistralą. Powody,dlaktórychniełączysięurządzeńperyferyjnychbezpośredniozmagistralą: Urządzeniaperyferyjnewykorzystujączęstoinneformatydanychidługościsłowaniż komputery,doktórychsądołączone. Istniejeznacznaróżnorodnośćurządzeńperyferyjnych,różniącychsięsposobem pracy.Byłobyniepraktycznewbudowywanieniezbędnychukładówlogicznychdo procesorawceluumożliwieniasterowaniatakszerokimzakresemurządzeń. Szybkośćtransferu(przesyłania)danychdo/zurządzeńperyferyjnychjestowiele mniejszaniżwprzypadkupamięciczyprocesora.Jestwięcniepraktyczne
wykorzystywanieszybkiejmagistralisystemowejdobezpośredniegokomunikowania sięzurządzeniamiperyferyjnymi 2c.Urządzeniaperyferyjne Urządzeniezewnętrznepołączonezmodułemwejściawyjściajestczęstookreślane jakourządzenieperyferyjne.Możemysklasyfikowaćurządzeniazewnętrznenatrzykategorie: Przeznaczonedoodczytywaniaprzezczłowieka.Odpowiedniedokomunikowaniasię zużytkownikiemkomputera. Przeznaczonedoodczytywaniaprzezmaszyną.Odpowiedniedokomunikowaniasię zesprzętem. Komunikacyjne.Odpowiedniedokomunikowaniasięzodległymiurządzeniami. //2bi2c>Stallings,strona218 3.Czterypodstawowefunkcjekomputera przetwarzaniedanych(dataprocessing) przechowywaniedanych(datastorage) przenoszenieiduplikowaniedanych(datamovement) sterowanie(control) //wykład1,slajd24 4.Grafstanówprocesora(gdziemożenastąpićprzerwaniewcykluprocesora)?
Przerwaniewmożenastąpić(zostaćzgłoszone)wdowolnymmomenciecyklu procesora.Obsłużenieprzerwaniazależnejestodsposoburozwiązańprzerwań wielokrotnych. Przerwaniezablokowane(ang.disabledinterrupf)oznaczapoprostu,żeprocesor zignorujesygnałżądaniaprzerwania.Jeśliżądanieprzerwanianastąpiwtymwłaśnie czasie,naogółpozostajeonozawieszoneizostaniewykryteprzezprocesor,jeśli uzyskaonzezwolenienaprzerwanie.Jeżelijestwięcwykonywanyprogramużytkowyi
następujeprzerwanie,tonatychmiastuniemożliwianesąinneprzerwania.Kiedy programobsługiprzerwańkończydziałanie,przerwaniastająsiędozwolonejeszcze przedwznowieniemprogramuużytkowego,aprocesorsprawdza,czywystąpiły dodatkoweprzerwania.Rozwiązanietojestprzyjemneiproste,jeśliprzerwaniasą realizowanewporządkuściślesekwencyjnym Przerwaniawielokrotnejeśliprzerwaniewystąpiło,towzależnościodswojego priorytetuzostajeobsłużonenakońcucyklulubnie(przykładponiżej) //Stallingsokoliceod84do86 5.Dlaczegoprzerwaniejestsprawdzanenakońcucyklu?Metodyadresowaniaw procesorze?Odczytywanie,wystawienieadresunaukładkontroliprzerwań (magistrali?) 5a.Dlaczegoprzerwaniejestsprawdzanenakońcucyklu? Popierwsze,ponieważwykonanieoperacjiprzerwaniawtrakciewykonywaniacyklu rozkazumogłobyskutkowaćniepoprawnymjegowykonaniem. Podrugie,przerwaniejestsprawdzanenakońcucyklucelemobsługiprzerwań wielokrotnych,wtymobsługiprzerwańowyższympriorytecie.Przykładowo,przyjmijmyiż procesorrozpoczynaprzetwarzanieprzerwaniawłaśniezgłoszonegoprzezdrukarkę.Po chwilinastępujeprzerwaniewywołaneprzezsterownikłączakomunikacyjnego.Wtakim przypadku,jeślipierwszaporcjadanychniezostałabyprzetworzonaprzedprzybyciem następnej,danemogłybyzostaćutracone,zatemtoprzerwaniemawyższypriorytetniż przerwaniezgłoszoneprzezdrukarkę.Programobsługiprzerwańdrukarkiulegaprzerwaniu, standanychjestkierowanynastos,poczymnastępujewykonanieprogramuobsługi przerwańłączakomunikacyjnego.Podczasrealizacjitegoprogramunastępujeprzerwanie wywołaneprzezpamięćdyskową.Ponieważtonoweprzerwaniemaniższypriorytet,jestpo prostuzatrzymywane, aprogramobsługiprzerwańłączakomunikacyjnegojestnadalwykonywany,aż dozakończenia. //Stallings,strony8486[stronywksiążce,niekoniecznieodpowiadajątymzPDF] 5b.Metodyadresowaniawprocesorze EA=rzeczywisty(efektywny)adreslokacjizawierającejodniesionyargument A=zawartośćpolaadresowegowrozkazie,
Krótkoipoludzkuokażdymrodzajuadresowania: natychmiastowewrozkaziezawartyjestargument;definiowanieiustalaniestałych, doustalaniapoczątkowychwartościzmiennych bezpośredniepoleadresowezawieraefektywnyadresargumentu;wymagatylko1 odniesieniadopamięcii0obliczeń pośredniepoleadresoweodnosisiędosłowawpamięci,którezkoleizawiera pełnejdługościadresargumentu;przydługościsłowaNdostępnajestprzestrzeń adresowa2^n/Wadąjestto,żewykonanierozkazuwymagadwóchodniesieńdo pamięciwcelupobraniaargumentu:jednegodootrzymaniaadresu,adrugiegodo uzyskaniasamejwartości. rejestrowepoleadresoweodnosisiędorejestruzamiastdoadresuwpamięci głównej,Poleadresoweodnoszącesiędorejestrówmazwykle3lub4bity,wobec tegomożesięodwoływaćdo8lub16rejestrówroboczych.Zaletąadresowania rejestrowegojestto,że(1)wrozkaziepotrzebnejesttylkoniewielkiepoleadresowe, oraz(2)niesąwymaganeodniesieniadopamięci.Wadąadresowaniarejestrowego jestbardzoograniczonaprzestrzeńadresowa. rejestrowepośredniePodobniejakadresowanierejestrowejestanalogicznedo adresowaniabezpośredniego,takpośrednieadresowanierejestrowejestanalogiczne doadresowaniapośredniego.Zaletyiograniczeniapośredniegoadresowania rejestrowegosąwzasadzietakiesame,jakadresowaniapośredniego. zprzesunięciemwymagadwóchpóladresowychwrozkazie,przyczym przynajmniejjednoznichjestjawne.Wartośćzawartawjednympoluadresowym (wartośćrównaA)jestużywanabezpośrednio.Drugiepoleadresowe,lubodniesienie domyślneopartenakodzieoperacji,odnosisiędorejestru,któregozawartośćpo dodaniudoAdajeadresefektywny. 5c.Odczytywanie,wystawienieadresunaukładkontroliprzerwań(magistrali?) Niestetyniemampojęcia,ocochodzinieznalazłemtegowStallingsie:3grupy>czymsięróżnią? //wykład13slajdy47 a)Przerwania ● powstająpozaprocesorem ● asynchronicznewzględemwykonywanegostrumieniainstrukcji.Ichwystąpienienie jestwynikiemwykonaniakonkretnejinstrukcji ● służądosygnalizacjizdarzeńdlasystemuoperacyjnego. ○ Sygnalizujązmianękontekstuurządzeńzewnętrznych(np.wciśnięcieklawisza, przesunięciemyszy,nadejściepakietuzsieci,zakończenietransmisjido pamięcimasowej). ○ Sygnalizująrównieżupłynięcieokreślonegoodcinkaczasu.Budzenieprocesów ookreślonymczasie.PrzełączanieprocesówprzezTimerwsystemach wieloprocesorowych.
b)Pułapki ● generowaneprzezprocesor ● synchronicznewzględemstrumieniainstrukcji:wywoływaneprzezkonkretnąinstrukcję ● rodzaje ○ wywoływanieusługisystemuoperacyjnegoprzezprogramużytkowy ○ sygnalizacjabłędówwykonaniawykrytychprzezprogramużytkowydosystemu operacyjnego ○ pułapkaśledzenia(tracetrap)wygenerowanapowykonaniudowolnej instrukcjiprzyustawionymtrybieśledzenia c)Błędy ● generowanenaogółprzezprocesor ● wynikajązwykonywanychinstrukcji,aleniezawszewsposóbjednoznaczny ● służądosygnalizacjibłędnychiniedozwolonychzachowańoprogramowaniaisprzętu takichjak ○ próbawykonanianiezdefiniowanejinstrukcji ○ błądwyrównaniaprzydostępiedopamięci ○ naruszeniezasadochronyprocesoralubpamięci ● wykorzystywanedoimplementacjisystemupamięciwirtualnej 7.Doczego/dlaczegoużywasięprzerwańprogramowychisprzętowych? //wikipedia Przerwaniasprzętowe ● Zewnętrznewykorzystujesiędourządzeńwymagającychobsługiprocesoranp. wejścia/wyjścia(klawiatura),czymodułDMA. ● Wewnętrznezgłaszaneprzezprocesordosygnalizacjisytuacjiwyjątkowych.Dzielą sięna ○ niepowodzeniainstrukcjapowodujebłąd.Procesorpowracadowykonywania koduwykonującjeszczeraztęsamąinstrukcję ○ pułapkisytuacja,któraniejestbłędem.Manaceluwykonanieokreślonego kodu,wykorzystywanenp.wdebugerach ○ nienaprawialnebłędyktórychniemożnanaprawić Przerwaniaprogramowe Wykorzystywanedokomunikacjizsystememoperacyjnym,zkoduprogramuwywoływana jestproceduraobsługiprzerwania 8.Sytuacjawyjątkowa[asynch]apułapka[synch]względemwykonywanegocyklu instrukcji 9.BudowaCPU //wykład1slajd28.Niewiem,czytutajteżliczysięrysunekjednostkisterującej.
10.Jednostkacentralna:czemusłuży,wykonanieinstrukcjiprocesora JednostkacentralnatoCPU,rysunekpowyżej. Procesorpobierainstrukcjezpamięci,interpretujejeiwykonujejakorozkazy. …wykonywanieinstrukcji? 11.ArchitekturyHarvard,vonNeumann:różnice,umiećwskazać[napodstawie rysunku],któraarch.zostałaprzedstawiona[odnoszeniesiędopodst.cech architektury] źródło:Wiki,wykładyzWDI,wykładnr1 ● ArchitekturaHarvard:
○ ○ pamięćrozkazówoddzielnaodpamięcidanych
○ wstosunkudovonNeumannaprostszabudowa=większawydajność ○ jednoczesnydostępdopamięciinstrukcjiidanychskracatocyklrozkazowy ○ pamięćprogramutylkodoodczytubrakmożliwościprogramowania ● ArchitekturavonNeumanna(Princeton):
○ ○ pamięćzłożonazpewnejliczbyponumerowanychkomórekprocesorodnosi siędonichpodającichnumer(adres) ○ instrukcjepobieranezkolejnychkomórekpamięci,którychadresjest przechowywanyiinkrementowanywprocesorze(rejestPCprogramcounter) ○ vonNeumannbottleneckniemożnajednocześniepobieraćinstrukcjiidanych ○ możliwośćprogramowania ● ArchitekturaHarvardPrinceton:
○ ○ połączeniepowyższychrozwiązań:oddzielnewyższewarstwyhierarchii pamięci,wspólneniższe. ○ przynajmniejjedenpoziomcacheoddzielnydlainstrukcjiidanych ○ większośćodwołańdopamięcirealizowanawgórnychwarstwachszybkie działanie,dziękizastosowaniurozwiązaniajakwHarvard ○ wspólnadolnawarstwaumożliwiazapisprogramuprogramowanie 12.KlasyfikacjaSkillicorna źródłogłówniewykładnr1 ● TaksonomiaSkillicornajestabstrakcyjnaniemabezpośredniegoodwzorowaniaw fizycznejbudowiekomputera. ● opisujekomputerjakozestawskładników: ○ procesoryinstrukcjiIPpobierająianalizująinstrukcje ○ procesorydanychDPwykonująoperacjenadanych ○ pamięćinstrukcjiIM ○ pamięćdanychDMprzechowujedaneargumentyoperacjiiwyniki
● Procesorybezelementówpamiętających,każdymaprzypisanąjednąhierarchię pamięci(IPIM,DPDM) ● 1lubNprocesorówdanych;0,1lubNprocesorówinstrukcji ● Możliwepołączenia: ○ procesorpamięć ○ IPDP ○ procesoryjednegorodzajumiędzysobą
● maszynaVonNeumannawtaksonomiiSkillicorna ● 6z30możliwychmodelimapraktyczneznaczenie: ○ uniprocesorVonNeumanna(SISDsingleinstruction,singledatastream) ○ uniprocesordataflow(instrukcjepodawanewstrumieniudanych) ○ wieloprocesordataflow ○ procesorwektorowy(SIMDsingleinstruction,multipledata) ○ wieloprocesorsłabosprzężony(MIMD) ○ wieloprocesorsilniesprzężony(MIMD) ● niemasensusprzęgaćprocesorówinstrukcji
●
13.Kiedymówimyoseparacjipierwszego/drugiegopoziomucache?[jakwielemają proc.?] //…możetuktośpodpowie?inclusive/exclusivecache?
14.ISA,IAS:celstworzenia,modelprogramowymikroprocesora[trybinstrukcji wewn.,rejestry,instrukcje,trybyadresowania],elementynieuwidocznione[znaczniki] wmodeluprogramowym. źródła:Wiki,wykład2.oraz3. ISA(ang.instructionsetarchitecture)czylimodelprogramowyprocesorazestaw zasobówlogicznychkomputera,widocznyzpunktuwidzeniaprogramisty(piszącw assemblerze)lubkompilatora(językówwysokiegopoziomu). Składnikimodeluprogramowego: ● zestawrejestrówichliczbaifunkcjonalność ● zestawtrybówadresowaniasposobyspecyfikacjiargumentówoperacji ● modeloperacjiwarunkowychichsposóbrealizacji ● listainstrukcji,któremożewykonywaćprocesor Modelprogramowymoże,aleniemusibyćsilniepowiązanyzjegofizyczną implementacją(architekturąprocesora). Bardziejszczegółowonatematzestawówrejestrów,trybówadresowania,architektur RISC,CISCwnastępnychpytaniach. Znacznikijednobitowerejestryatrybutówzwiązanezwynikiemostatnio przeproawdzonejoperacji,zgrupowanewjedenrejestr.Mogązawieraćtakieinformacjejak m.in.:czywynikiemoperacjibyło0?czywystapiłoprzeniesienie?czywynikbyłujemny?czy wystąpiłoprzepełnione?czywłączonajestobsługaprzerwań? Wykorzystywanesąnp.winstrukcjachwarunkowychnajpierwustawianesą znacznikidotycząceoperacji,anastępnienaichpodstawiewykonywanajestinstrukcja warunkowa,zależnieodstanuflag. Dwuargumentoweinstrukcjelogiczneiarytmetyczneustawiająwszystkieznaczniki,inne(np. jednoargumentowe)instrukcjeniekoniecznieustawiająwszystkieznaczniki. 15.Mającelementyzbudowaćdziałającąjednostkę:IR,PC,MBR,MAR,ALU, R1,R2,R3,R4,MQ,A,CU[znaćcelistnieniakażdegoelementu] ● IRInstructionRegisterprzechowujezakodowanąaktualnąinstrukcję ● PCProgramCounterprzechowujeadreskolejnejinstrukcji ● CUControlUnitzwanyinaczejdekoderemrozkazów.Dekodujedostarczone instrukcjeisterujepozostałymiblokami. ● ALUArithmeticLogicUnitjednostkaarytmetycznologiczna,wykonujeoperacje nadostarczonychdanych.Podstawoweoperacjetododawanie,op.logiczne(AND, NOT,XOR,OR)orazprzesunięciabitowe. ● MBRMemoryBufferRegisterbuforprzechowującydanezpodadresuwMAR dlaużyciaprzezinnekomponenty ● MARMemoryAddressRegisterrejestradresowy,przechowującyadresz którego/podktórytransmitowanebędądanemiędzypamięciąaCPU. ● 16.Doczegosłużytrybadresowania?Jakiwpływmanainstrukcjeimodelprocesora?
Trybyadresowaniaopisanewpytaniu5b.Trybadresowaniaoznaczasposóbwjaki procesorodnosisiędoargumentówinstrukcjisposóbokreślenia/odnalezieniadanejw pamięci. 17.Rejestrycel Rejestryzewzględunaichzastosowaniemożemypodzielićnakilkakategorii funkcyjnych: ● rejestrydanychdoprzechowywaniadanychcałkowitoliczbowych,np.argumentów instrukcji ● rejestryadresoweprzechowująceadresydanych,umożliwiajądostępdodanychw pamięciwyróżniasięrejestrysegmentowe(DataSegment,CodeSegment,Stack Segment,ExtraSegmentRegisters)przeznaczonetylkodoprzechowywaniaadresów segmentów ● rejestrprzeznaczeniaogólnegogeneralpurposeprzeznaczonydoprzechowywania zarównodanych,jakiadresów ○ wx86akumulatorAX,rejestrbazowyBX,licznikpętliCX,rejestrdanychDX ● rejestryzmiennoprzecinkowedoprzechowywanialiczbzmiennoprzecinkowe,zwykle umieszczonewoddzielnymblokufunkcjonalnymFPU ● rejestrstałychprzechowującystałetylkodoodczytu ● rejestryinstrukcjiprzechowująceaktualniewykonywanąinstrukcję ● rejestrywyspecjalizowane: ○ programcounterPClicznikinstrukcji,wskaźniknakolejneinstrukcje programu ○ stackpointerSPwskaźnikstosu ○ rejestrflagprocesoraFLAGS/EFLAGSopisującyikontrolującystan procesora,najczęściejzależnyodostatniowykonanejoperacji,zależnyw budowieodwybranegomodeluprogramowego. ● podstawowezestawyrejestrów: ○ architekturabezrejestrowaobecnieniespotyka,zawieraod1do3rejestrów, wtymPC ○ minimalnyzestawrejestrowyPC,SP,akumulator,rejestradresowy ○ małyzestawrejestrówspecjalizowanych68rejestrówpełniącychściśle określonefunkcje(np.wx8616bitowym):akumulator,rozszerzenie akumulatora,licznik,głównyrejestradresowy,SP,wskaźnikramki,2 pomocniczerejestryadresowe,instructionpointerIP,rejestrznaczników ○ małyzestawrejestrówuniwersalnych8rejestrówogólnegoprzeznaczenia (np.x8632bitowy):EAX,EDX,ECX,EBX,ESP,EBP,ESI,EDIwszystkie mogąsłużyćjakoakumulatorylubrejestryadresowe,wszystkiepozaESPjako rejestryindeksowe.34rejestrysąużywanenazmiennelokalnelubparametry. ○ dużyzestawrejestrówuniwersalnych1632rejestryuniwersalne,używanejak wyżej ○ buforwierzchołkastosudużyzestaw(32128)rejestrów,mającymieścićcałą ramkęstosu
○ stosowyzestawrejestrów38rejestrówtworzącychstos.operacje wykonywanenawierzchołkubraknazwrejestrów 18.RISCaCISC:zredukowanaliczbainstrukcji,cojest"stałe"aco"pływawinstrukcji, rozbudowanepulerejestrów ● CISC:complexinstructionsetcomputing: ○ złożone,specjalistyczneinstrukcje(kilka(naście)cyklizegara) ○ wieletrybówadresowania ○ operowaniebezpośrednionapamięci(bezpośredniczeniarejestrów) ○ skomplikowanydekoderrozkazów ○ pojedynczyrozkazmikroprocesorawykonujekilkaoperacjiniskiegopoziomu, jaknaprzykładpobraniezpamięci,operacjęarytmetycznąizapisaniedo pamięci ● RISC:reducedinstructionsetcomputing ○ listarozkazówograniczonadowymaganegominimum ○ uproszczonydekoderrozkazów ○ mniejtrybówadresowania ○ ograniczeniekomunikacjimiędzypamięciąaprocesorempoprzezrejestry ○ większaliczbarejestrówmniejszaliczbaodwołańdopamięci: ■ rozwiązaneprogramowoalokacjarejestrówprzezkompilator wyrafinowanaanalizaprogramów ■ rozwiązaniesprzętowedużyzestawrejestrówpomieściwięcej zmiennychlokalnych ■ użycieokienrejestrówzazwyczajproceduraużywatylkokilku arametrówizmiennychlokalnychjejwywołanieprzełączadoinnego zbiorurejestrów,apowrótprzełączadopoprzedniegozbioru ○ instrukcjetrójargumentowenieniszcząargumentówźródłowych(wynik przypisywanywnowemiejsce) ○ wszystkieinstrukcjetakiejsamejdługościzazwyczaj32bity ● Budowainstrukcjix86(CISC),kolejno: ○ prefiksy(04bajty)modyfikująsposóbdokodowaniainstrukcji ○ kodoperacji(13bajty) ○ ModRM(braklub1bajt)specyfikacjaargumentówlubrozmieszczeniakodu operacyjnego(?) ○ SIB(braklub1bajt)specyfikacjatrybuadresowaniadlatrybówindeksowych ○ przemieszczenie(0,1,2,4bajty) ○ stała(0,1,2,4bajty) //...ocochodzi“costałe,acopływa”?:P //chybachodziorzeczystałeizmienne(opcjon...