800 likes | 1.08k Views
Siinid (Buses). Tartu. Narva. N-bus. TPT-bus. Paide. Talinn. P-bus. Pärnu. Kolme olekuga siini puhver ( T ri-state buffer , Bus driver ) I. E (enable). E X Y 1 0 0 1 1 1 0 - Z. Y. X. Y=X. Z - kolmas olek. Väljund on lahti lülitatud. +v. +v. +v. X=0. Y=0. X=1. E=1. Y=1.
E N D
Siinid (Buses) Tartu Narva N-bus TPT-bus Paide Talinn P-bus Pärnu T. Evartson
Kolme olekuga siini puhver(Tri-state buffer, Bus driver )I E (enable) E X Y 1 0 0 1 1 1 0 - Z Y X Y=X Z - kolmas olek. Väljund on lahti lülitatud. +v +v +v X=0 Y=0 X=1 E=1 Y=1 Y=Z E=1 E=0 0 0 0 E (enable) E (enable) Y X X Y E (enable) X Y T. Evartson
Kolme olekuga siini puhver(Tri-state buffer, Bus driver) II B:=A B A Andmeedastus A:=B A:=B (B:=A) = 0 Andmeedastus B:=A B (B:=A) = 1 B A A (A:=B) = 1 (A:=B) = 0 (B:=A) = 0 A ja B on lahti ühendatud B A (A:=B) = 0 T. Evartson
Kolme olekuga siini puhver(Tri-state buffer, Bus driver )III A A C a 0 a 1 a n-1 B C C A b 0 b 1 b n-1 c 0 c 1 c n-1 B C B +v C Konflikt ai +v ci 0 bi T. Evartson 0
Siinide sidumine Internal BUS BUS CS & RD & WR T. Evartson
Mõisteid Arbitreerimine (Arbitration) – Konfliktide lahendamine. Põhiplaat (Backplane) – Alusplaat millel on pesad ja kuhu saab panna mälu, protsessori jne Ise on passiivne sest seal ei ole CPU-d ega muud. Emaplaat(Motherboard) – Analoogiliselt pesad ja siinid nagu eelmisel, kuid on aktiivne, sest sisaldab CPU-d ja muud loogikat Ribalaius (Bandwith) – Siini läbilaske võime Siini arhitektuur (Bus architecture) – Siini topoloogi, andmevahetus protokollid, arbitreeimine ja katkestuste töötlemine koos. Siini konflikt (Bus contention) – Korraga mitu seadet pöördub siini poole Siini dariver (Bus driver - Eraldab eri seadmeid samal siinil Siini haldur (Bus master) – Aktiivselt juhib tööd siinil Siiniprotokoll(Bus protocol) – Info edastamise reeglid siinil Bus termination – Väldib peegeldusi Siinitopoloogia (Bus topology) – Seadmete ühenduste kirjeldus Latentsusaeg (Latency) – Ootamise aeg Multipleksitud siin (Multiplexed bus) – Kasutatakse ühiseid liine andmete ja aadressi edastamiseka T. Evartson
Ühe siiniga arvuti Mälu CPU I/O I/O I/O T. Evartson
Mitme siiniga arvuti I Mälu CPU Bridge I/O I/O I/O T. Evartson
CPU Vahemälu (cache) Põhimälu Kohtsiin (Local Bus) Kuvar (Video) Sild (Bridge) Skänner (Scanner) Süsteemisiin (System Bus) Sild (Bridge) Liendussiin (Expansion Bus) Klaviatuur (Keyboard Printer T. Evartson
Mitme siiniga arvuti II Cache Mälu 1 CPU Local Bus Bridge System Bus Mälu 2 Bridge I/O Bus (Expansion Bus) I/O I/O I/O T. Evartson
AB, DB, CB Andme-siin Data Bus (DB) Aadress-siin Address Bus (AB) Juht-siin Control Bus (CB) Mälu CPU Juht-siin Control Bus Address Bus Aadress-siin Andme-siin Data Bus I/O I/O T. Evartson
Aadressi-siinAddress Bus I Mälu CPU Juht-siin Control Bus Address Bus Aadress-siin Andme-siin Data Bus I/O I/O CS CS DC 0 1 T. Evartson
Aadressi-siinAddress Bus II CPU 16 Mälu Memory 64Kb Aadress Address 8 Andme-siin Data Bus Mälu Memory 1Mb 20 CPU Aadress Address 8 Andme-siin Data Bus Mälu Memory 4Gb 32 CPU Aadress Address 8 Andme-siin Data Bus T. Evartson
Juhtsiin Control Bus Tavaliselt edastatavad signaalid : • Memory read • Memory write • I/O read • I/O write • Acknowledge (ACK) • Bus request • Bus grant • Interrupt request • Interrupt acknowlidge • Ready • Clock • Reset T. Evartson
Siinitsükli määramine I Memory read Bus control. Memory write Status STB I/O Write WR Mälu RD Status I/O Read CPU Juht-siin Control Bus Address Bus Aadress-siin Andme-siin Data Bus I/O RD I/O RD CS WR WR CS DC 0 1 T. Evartson
Siinitsükli määramine II Memory read Memory write Mälu WR RD CPU I/O Read I/O Write Juht-siin Control Bus Address Bus Aadress-siin Andme-siin Data Bus I/O RD RD I/O CS WR WR CS DC 0 1 T. Evartson
PC MAR PC + 1 MBR IR Käsukoodi dekodeerimine Store Out In Load . . . . . . . . . . . . I/OW CB MW CB I/OR CB MR CB . . . . . . . . . . . . . . . T. Evartson
Erinevad andmeedastus protokollid I Sünkroonne siinSynchronous Bus Mälust lugemine T1 T2 T3 CLK AB Mälu aadress valmis Memory read Ready DB Andmed CPU-sse Mällu kirjutamine T1 T2 T3 CLK AB Mälu aadress valmis Memory write Ready DB Andmed CPU-st T. Evartson
Erinevad andmeedastus protokollid II Ühe oote tsükliga Lugemise tsükkel T1 T2 T3 WAIT CLK AB Mälu aadress Memory read DB Andmed CPU-sse Ready Ühe oote tsükliga Kirjutamise tsükkel T1 T2 T3 WAIT CLK AB Mälu aadress Memory write DB Andmed CPU-st Ready T. Evartson
Erinevad andmeedastus protokollid III Asünkroonne siin Asynchronous Bus AB Mälu aadress valmis Memory read MSYNC DB Andmed valmis SSYNC T. Evartson
Erinevad andmeedastus protokollid IV Tagasisideta andmevahetusOpen-loop data trasfer Computer I/O Device Data DAV DB Andmed valmis DAV Andmevahetus tagasisidega Closed-loop data transfer Computer I/O Device Data DAV DAC DB Andmed valmis DAV DAC T. Evartson
Erinevad andmeedastus protokollid V Andmevahetus täieliku tagasisidega Fully inlocked handshaking Computer I/O Device Data DAV DAC DB Andmed valmis DAV DAC T. Evartson
Erinevad andmeedastus protokollid VI Grupi andmeedastusBurst mode T1 T2 T3 T4 CLK AB Mälu aadress Memory read DB Count Andmed Andmed Andmed BLOCK Ready Andme edastus konveierinaPipelining 2. Lug tsükkel 1. Lug tsükkel CLK AB Mälu aadress Mälu aadress Memory read DB Andmed Andmed DAC T. Evartson
Multiplekseeritud siinMultiplexed Bus CPU I/O Device Aadress Aadress/Andmed T1 T2 T3 CLK AB Aadressi noorem pool Aadr Data DB Aadressi vanem pool Andmed valmis T. Evartson
I/O seadmete ja protsessori andmevahetus Mälu CPU I/O Computer Display Program Display controller Serial data Parallel to serial converter Serial to parallel converter Transmission path T. Evartson
I/O seadmete protsessori andmevahetus. Mälu CPU Pheripheral interface chip I/O I/O I/O Pheripheral interface chip CPU CPU side Pheripheral side I/O Device AB DB CB T. Evartson
Seade Device Data separator electronics Controller electronics Host communication electronics Host bus (PCI, ISA,…) Peade positsioneerimine, puhverdamine, bittidest sõnade moodustamine Siini ja kontrolleri andmevahetus protokollide sobitamine Teisendab analoog signaalid digitaalseks I/O Module Motherboard CPU+ Memory Host Adaptor Controller Pheripheral Device Bus Bus Cable Host adaptor : seob PC ja controlleri osates mõlema “keelt”. Controller : • Juhib I/O seadet. Põhimõtteliselt protsessor, mis on programmeeritav • Teisendab elektromagneetilised signaalid kahend koodideks. Näiteks magnet mäluseadmetel. • Erinevate kiiruste korral puhverdab andmeid I/O seadme ja CPU vahel. • Vigade avastamine ja parandamine andmeedastuses. T. Evartson
I/O seade I/O seadme liides FIFO sisend puhver FIFO väljund puhver Juht register Oleku register Süsteemi siin (CPU-st/-sse) T. Evartson
Eraldi S/V seadmete adresseerimine (Separate I/O, Isolated I/O) DC Mälu Load Store . . . AB CPU I/O DC . . . In Out I/O T. Evartson
Mäluna adresseeritavad I/O seadmed (Memory-mapped I/O) DC Mälu . . . CPU AB Load Store I/O . . . I/O DC Mälu . . . AB Load Store I/O CPU I/O . . . DC In Out I/O T. Evartson
S/V seadmena adresseeritav mälu I/O Mapped memory DC Mälu Load Store . . . AB CPU DC Mälu . . . In Out S/V . . . S/V T. Evartson
Programne andmevahetus (Programmed I/O). Klaviatuuri liides CPU DB Klaviatuur CB 24 AB Aadressi regisrer Klaviatuuri liides CPU DB CB I/O read 24 AB Aadressi regisrer Andme register Klaviatuuri liides Puhver CPU DB “D” “D” CB AB Andme register Klaviatuuri liides CPU DB “C” CB AB 68 Akumulaator T. Evartson
Andmevahetuse juhtimine Andmevahetus passiivsete I/O seadmetega süsteemis. 0 Ready 1 IOT IOT Mälu CPU/ Arbiter I/O I/O I/O Prog MUX E E E T. Evartson
I/O seade I/O seadme liides FIFO sisend puhver FIFO väljund puhver Juht register Oleku register Süsteemi siin (CPU-st/-sse) T. Evartson
Jäigalt riistvaraga määratud prioriteetidega andmevahetusDaisy Chain Mälu CPU/ Arbiter I/O I/O I/O E E E Daisy Chain Logic Daisy Chain Logic Daisy Chain Logic E T. Evartson
Katkestustega I/O liides (Interrrupt-driven I/O) DB AB CPU Mälu S/V liides Olekuregister Andmeregister IRQ T. Evartson
Katkestus Interrupt Käsk 1 Käsk 1a Käsk 2a INTR Käsk 2 Käsk 2a Käsk 3a Käsk 3 Käsk Na Käsk Ka Käsk 4 Katkestuse täitmine : • CPU lõpetab pooleli oleva käsu • PC ja PSW salvestatakse STACK-I • PC-sse laetakse uus väärtus (Alamprogrammi algus aadress) Fetch the next instruction Decode Execute Instruction Yes No Interrupt handling Interrupts ? T. Evartson
Käsukoodi laadimine (Fetch) ja PC suurendamine Käsukoodi dekodeerimine Käsu täitmine (mikroprogramm) Ja Ei Katkestuse täitmine Katkestus ? T. Evartson
Katkestust teenindava programmi poole pöördumine. Mälu Mälu 00…0 00…0 Käsk a Põhi- programm Käsk a Põhi- programm PC1 Käsk b Käsk b SP Pinumälu piirkond Pinumälu piirkond PC1 PSW SP xxx xxx PC Katkestust teenindav programm Katkestust teenindav programm FF…F FF…F T. Evartson
Registrite päästmine. CMP R1,R2 ;võrdleb kahte registrit BEQ Aadress ;tingimuslik siire kui olid võrdsed Katkestus Interrupt Exception Hardware interrupts Software interrupts Maskable Nonmaskable T. Evartson
Andmevahetus katkestustega süsteemis Interrupt-driven I/O Mälu CPU/ Arbiter I/O I/O I/O Prog MUX (Polling) E INTR E INTR E INTR 1 INTR T. Evartson
Andmevahetus katkestustega süsteemis Interrupt-driven I/O Mälu Jäigalt riistvaraga määratud prioriteetidega andmevahetus Daisy Chain CPU/ Arbiter I/O I/O I/O E INTR E INTR E INTR Daisy Chain Logic Daisy Chain Logic Daisy Chain Logic INTA 1 INTR T. Evartson
Daisy Chain Logic I/O E INTR & INTA 1 & T. Evartson
Andmevahetus katkestuste kontrolleriga süsteemis Mälu CPU I/O I/O I/O E INTR E INTR E INTR Interrupt control logic INTA INTR T. Evartson
Programmeeritav katkestuste kontroller Programmable Interrupt Controller Siinid Katkestus vektor Katkestuste teenindus register Prioriteetide loogika Maski register Katkestuste puhver . . . IRQn IRQ1 IRQ0 T. Evartson