F7: I/O hantering. Asynkron och synkron busscykel 68000 Bussfördelning. Periferikretsar



Relevanta dokument
Periferikretsar. ADC/DAC Räknare Realtidsklocka Timer Interrupthanterare UART (Universal Asynchronous Reciever and Transmitter) Seriell dataöverföring

DAT 015 Maskinorienterad programmering 2010/2011. Uppbyggnad_och_funktion.pdf

Digital och Datorteknik EDA /2011. EDA 451 Digital och datorteknik 2010/2011. Uppbyggnad_och_funktion.pdf

Bussar och I/O. samt. vad kan man göra med NEXYS3

Adressavkodning - busskommunikation

2 UPPBYGGNAD OCH FUNKTION

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

Bussar och I/O. samt. vad kan man göra med NEXYS3. Nexys3. Prog + spänningsmatning. Expansionskort

Grundläggande datavetenskap, 4p

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

In- och Utenheter. Fö 3: In/Ut matning och kopplingsstruktur. Några exempel. Egenskaper. In- och Utenheter. Styrning.

F6: I/O hantering. Typer av I/O i ett datorsystem. Protokoll för synkronisering. Drivrutiner. Memory mapped Port mapped. Polling Timed Interrupt DMA

Adressrum, programmerarens bild

F8: Undantagshantering

F9: Minne. Sammansättning av minnesgrupper Ansluta minne till Interface till olika typer av minnen Användningsområden.

Digital- och datorteknik

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Labyrintspelet EDI021 Grupp 5

CAN ett kommunikationsprotokoll för realtidssystem MOP 12/13 1

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

0.1. INTRODUKTION Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

F9: Minne. Minneskonfiguration. Sammansättning av minnesgrupper Ansluta minne till Interface till olika typer av minnen Användningsområden

Vad är kommunikation? Vad är datorkommunikation? Dataöverföring; Inledning

MESI i Intel Core 2 Duo

F6: I/O hantering. Typer av I/O i ett datorsystem. Memory mapped

Facit till övningsuppgifter Kapitel 13 Anslutning av minnes- och I/O-moduler till buss 13-1

Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

Formula Blue. Digitala Projekt 8p. Jesper Ferm E02 Carl Hakenäs E04

Avkodning av minnen (och I/O)

Mätteknik 2016 Mätsystem

Tentamen PC-teknik 5 p Lösningar och kommentarer

Mätteknik 2016 Mätsystem

Digitala projekt rapport

Digital- och datorteknik

Operativsystem - input/output, skydd, virtualisering

Övningsuppgifter i Mikrodatorteknik 4p/5p

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

Läsminne Read Only Memory ROM

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

Tentamen PC-teknik 5 p

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Tentamen PC-teknik 5 p

TSEA28 Datorteknik Y (och U)

Digitala Projekt Konstruktion av Tamagocchi. Av: Oskar Andersson D05 & Danial Rehman D05

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Digital- och datorteknik

Lösningsförslag till Tenta i Mikrodator

MAC-(sub)lagret. Nätlagret. Datalänklagret. Fysiska lagret LLC MAC. LLC = Logical Link Control-sublager MAC = Media Access Control-sublager

Syfte. Praktisk datorkunskap. Personal. Kursinfo. Examination- Krav för godkänt. Agenda idag DVG A06

Modbus över Ethernet. WAGO Contact SA TSS STR

Lösningsförslag till Tenta i Mikrodator

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Synkronisering. Föreläsning 8

Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant.

Digitala Projekt - Snake Grupp - 7. Erik Ljung, d01elj Erik Simmons, d01es 25 maj 2005

Övning 7. Timer, serieport

Moderkortet Persondatorer Moderkortet Innehåll

Digitala System: Datorteknik ERIK LARSSON

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Uppgift 1: a) u= a c + a bc+ ab d +b cd

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden

Närliggande allokering Datorteknik

Program som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas

Målsättning med kursen

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Avkodning av minnen (och I/O)

Föreläsningsanteckningar till Konstruktionsmetoder

Datorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet.

Avkodning av minnen (och I/O)

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: (OS)

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

Tentamen den 18 mars svar Datorteknik, EIT070

Läs igenom hela laboration 5 innan du börjar beskriva instruktionsavkodaren i VHDL!

Övningar modul 1 - Dataöverföring & fysisk infrastruktur

5:3 Datorn och datorns delar

HF0010. Introduktionskurs i datateknik 1,5 hp

Dokumentation för funktionsblocksbibliotek MwaCOMLI

Intel Pentium. Intel khz. 32 million 2600MHz. Copyright 2005 Benny Thörnberg, Mattias O Nils

Mätsystem. Upplägg. Josefin Starkhammar. Före pausen: Efter pausen:

Modbus. WAGO Contact SA TSS STR

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

DESIGN AV SEKVENTIELL LOGIK

Operativsystem. Informationsteknologi sommarkurs 5p, Agenda. Slideset 7. Exempel på operativsystem. Operativsystem

DAC500 Door Access Control unit

Föreläsningsanteckningar 3. Mikroprogrammering II

Sekvensnät vippor, register och bussar

HW-proj ver 3, ett kortsystem

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Seriekommunikation. Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets

Denna genomgång behandlar följande:

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.)

LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall

Transkript:

1 F7: I/O hantering Periferikretsar ADC, DAC, UART, etc. Databussar Seriella bussar I 2 C USB CAN Systembussar PCI VME Asynkron och synkron busscykel 68000 Bussfördelning 1 Periferikretsar ADC/DAC Räknare Realtidsklocka Timer Interrupthanterare UART (Universal Asynchronous Reciever and Transmitter) Seriell dataöverföring Parallellport PWM (Pulse Width Modulation) Kommunikationskretsar (I2C, CAN, Ethernet, etc.) 2 Page 1

2 Systembussar En databuss karakteriseras av Överföringshastighet (bytes/s) Klockhastighet (Hz) Bitbredd (bits) Överföringstyp (parallell/seriell) Adresseringsområde Databussar är ofta standardiserade Systemkomponenter kan återanvändas Ett väldefinierat och känt system är lättare att använda 3 Seriellabussar En seriell buss är en seriell kommunikations-kanal med kontroll-, adress- och databuss på samma seriella buss (tidsmultiplexad). I 2 C, USB, CAN Clk adress data kontroll Seriell clk Seriell data kontroll adress data 4 Page 2

3 I 2 C I2C, Inter Integrated Circuit bus. I2C bussen utveckaldes av Philips (1980) för att enkelt och billigt kunna koppla samman komponenter i TV apparater. Signaler, I2C bussen består av 2 fysiska ledningar (signaler) + en jordledning. SDA and SCL. SDA är Serial DAta line och SCL är Serial CLock line. Varje komponent som sitter på bussen har en unik adress Buss MASTER är komponenten som skickar kommandon på I2C bussen som initierar bussaccesser (ofta en processor) I2C bussen är en multimaster buss. Max. hastighet, ca 400 kbit/s => 40kb/s 5 I 2 C Endast 2 signaler används för att kommunicera mellan alla komponenter Mycket enkelt och billigt att koppla ihop komponenter 6 Page 3

4 I 2 C 7 USB Universal Serial Bus (USB) Utvecklad av dator- och telekommunikations-industrin för att kommunicera mellan datorer och datorkomponenter, t ex, tangent bord, mus, etc Maximal bandbredd för USB 1.0 är 12 Mbps - - USB 2.0 är 480 Mbps 8 Page 4

5 USB 9 CAN CAN, Controller Area Network (Bosch) Är konstruerad för att klara störningar och realtidstillämpningar Datahastigheter upptill 1 Mbits/s Standarden stöder felupptäckt Utvecklades av Bosch för att användas i bilar Används i många andra industriella tillämpningar. 10 Page 5

6 CAN 11 Parallella datorbussar Används som anslutningsmedium för tilläggskort i datorsystem. PCI VME PCMCIA ISA etc... 12 Page 6

7 PCI PCI, Peripheral Component Interconnect bus Initierad 1991 av Intel Bitbredden är 32 eller 64 bitar Frekvensen är 33 eller 66 MHz Hastighet 32 bit, 33 MHz ger 120 Mbytes/s 32 bit, 66 MHz ger 240 Mbytes/s 64 bit, 66 MHz ger 480 Mbytes/s 13 System-buss PCI RAM PCI bridge Disk controller Framegrabber CPU PCI-buss AGP FPGA card PCI anslutningar 14 Page 7

8 VME Initierades av Motorola (1979) Baserad på Motorolas 68000 processorbuss Standardiserad av IEEE 1984 (IEEE 1014) Bitbredd = 8/16/32 bitar Asynkron Hastighet = 20 Mbytes/s 15 VME 16 Page 8

9 68000 Exekveringsenhet Utför logiska/aritmetiska operationer Kontrollenhet Översätter instruktionrna till handling Bussenhet Kontrollerar läs/skriv data operationer Hämtar instruktioner från minnet Adress Data Kontroll Bussenhet Kontroll enhet Exekverings enhet 17 Bussenhet Läsa/Skriva data till/från yttre enheter. Interna bussystemet används för att transportera data mellan de olika enheterna. Buffertenheten För att kontrollenheten ska kontinuerligt få instruktioner att exekvera utan att behöva vänta på att instruktionen ska laddas från minne. Förhämtningskö: Hämtar instruktioner som är på tur att exekveras vilket ökar utnyttjande graden. 24 - bitars bredd på adressbussen 16 - bitars bredd på databussen 2 kontrollbussar Asynkron kontroll (med handskakning) Synkron kontroll (MC6800 buss) 18 Page 9

10 Bussinterface Protokol P 1 Protokol P 2 BI Slavenhet CPU Systembuss Adress dekoder DTACK generator CS DTACK signal 19 Asynkron busskontroll, 1(2) Använder full handskakning När processorn har adresserat en slavenhet väntar den tills den fått ett klartecken från enheten En del slavenheter har inte denna typ av full handskakning Detta genereras av en speciell enhet, (sekvensnät) Handskakning sköts med följande signaler DTACK*, Data transfer acknowledge Använd för att indikera att dataöverföringen är klar. BERR*, Bus Error Indikera att något fel uppstod vid dataöverföringen. AS*, Address Strobe Startar en dataöverföring, indikera att adressen på adressbussen har ett giltigt värde. 20 Page 10

11 Asynkron busskontroll, 2(2) LDS*, Lower Data Strobe Indikera om data ska läsas/skrivas på bit d0-d7 Inträffar om: a0 = 0 och läs/skriv ord (16 bit) a0 = 1 och läs/skriv byte (8 bit) UDS*, Upper Data Strobe Indikera om data ska läsa/skrivas på bit d8-d15 Inträffar om: a0 = 0 och läs/skriv ord (16 bit) a0 = 0 och läs/skriv byte (8 bit) R/W*, Read/Write Indikera om processorn ska läsa eller skriva data 1 = Read, 0 = Write 21 En läscykel på 68000-bussen Klocksignalen Klocksignalen används för att dela in operationer i steg (synkronisering) Klocksignalen används också för att kontrollera bussaccesser 68000 s minnesaccess tar minst 8 klocktillstånd att genomföras (S0 till S7) En klockcykel är 2 klocktillstånd för en bussaccess utan väntcykler 22 Page 11

12 En minnesaccess börjar i tillstånd S0 och slutar i tillstånd S7 R/W* R/W* Att det handlar om en läsaccess indikerar processorn genom att hålla signalen R/W* hög. 23 Den viktigaste parameter för bussen är klocksignalens period, t CYC. 24 Page 12

13 När en minnesaccess startar, skickar CPUn adressen till den minnesplats som den vill adressera 25 I tillstånd S0 kommer den gamla adressen att vara giltig på adr. bussen I tillstånd S1 blir den nya nya adressen giltig, den för blir giltig under hela minnes accessen. 26 Page 13

14 För att den adresserade enheten ska veta när adressen på adressbussen har ett giltigt värde, aktiverar CPUn signalen AS (Adress Strobe). 27 AS* aktiveras efter det att adressen har sitt giltiga värde. AS* inaktiveras före adressens värde blir ogiltigt. 28 Page 14

15 DS* är aktiveras samtidigt som AS i en läscykel 29 Data från minnet/enheten är giltigt i slutet av läscykeln 30 Page 15

16 Enheten sänder DTACK, för att tala om att data är giltigt DTACK* DTACK* 31 Skrivaccess R/W* R/W* DTACK* DTACK* 32 Page 16

17 DTACK* generering Med hjälp av DTACK signalen kan man dynamiskt bestämma hur lång tid en slavenhet behöver för att genomföra accessen. Genom att förlänga tiden till dess DTACK signalen aktiveras, kan slavenheten införa wait-states Hur många wait-states som behövs bestäms av timingen för den enheten som accessas kombinerat med klockcykel tiden. Dvs. olika snabba enheter kan kopplas till samma buss. 33 BERR* generering Om minne adresseras som ej är fysiskt närvarande i systemet så kommer processorn att låsas. Ingen DTACK ger oändligt många wait-states. För att ex. upptäcka ett sådant kritiskt fel så har Motorola infört en timeout-signal, BERR* Tiden innan BERR* aktiveras skall vara längre än minnet med längst accesstid. 34 Page 17

18 DTACK* och BERR* Data CPU Adresser Minne DTACK* BERR* FC0-FC2 LDS* UDS* AS* Adressavkodning Chip select* DTACKtimer BERRtimer Reset 35 Synkron busscykel VPA* Om den periferikrets som adresserats har ett synkront interface så begär periferikretsen en synkron överföring genom att aktivera VPA* Processorn aktiverar då VMA* för att indikera att adressen är giltig och att överföringen kan synkroniseras med E-signalen. E är en klocksignal som har 10 ggr så stor periodtid som systemklockan. E är gemensam för alla synkrona periferienheter. 36 Page 18

19 Bussfördelningskontroll 68000 När vill man fördela bussen? Om datorsystemet innehåller två CPU Någon I/O enhet vill ha access till minnet utan att gå omvägen via CPU:n, t.ex. vid DMA. Detta sker med signalerna BR*, Bus Request Ansökan om att få kontroll över bussen (Bli Master) BG*, Bus Grant Tillstånd att få kontroll över bussen (Enheten har fått tillstånd att bli Master) BGACK*, Bus Grant Acknowlege Enheten accepterar att ta kontroll över bussen (Enheten är Master) 37 Centraliserad bussfördelning CPU 1 BI Slavenhet BG1* CPU 2 BR1* BG2* BR2* Bussfördelare (Arbiter) Systembuss Principen för hur tillgång till bussen skall fördelas bestäms av bussfördelaren. 38 Page 19

20 Centraliserad bussfördelning Daisy chain BR* wired-and Daisy chain innebär att den första i kedjan som begärt tillgång till bussen bryter kedjan. CPU 1 BG* CPU 2 Systembuss BI Slavenhet Bussfördelare (Arbiter) BG* BR* Prioritetsordningen bestäms av kedjan. 39 Distribuerad bussfördelning BR/BG Busy* Bussfördelare CPU 1 Bussfördelare CPU 2 Systembuss BI Slavenhet Alla mästare har ett eget unikt fördelningsnummer. Flera mästares begäran/fördelningsnummer sätts samman med OR på en gemensam Request/Grant-buss. Om det egna numret är lägre än det på bussen så tas den egna begäran bort. När till slut endast en mästare begär bussen, så övertar den kontrollen av bussen. Detta kan dock ske först så snart nuvarande bussmästare släpper bussen genom att avaktivera Busy*. 40 Page 20

21 Statisk bussfördelning Oavsätt om hårdvaran för bussfördelning distribuerats på alla bussmästare eller centraliserats, så måste systemet anta någon princip för hur potentiella bussmästare skall få tillgång till resp. släppa kontrollen av systembussen. Statisk bussfördelning innebär att ett schema för när och hur länge respektive bussmästare skall få tillgång till systembussen har förutbestämts. En nackdel med detta är att även om en mästare ej behöver bussen så får den ändå tillgång till den. 41 Principer för dynamisk bussfördelning Allokering av bussen Prioritet Varje bussmästare har en unik prioritet. De med lägre prioritet kan bli utan tillgång till bussen. Rättvisa Alla bussmästare måste ha fått tillgång till bussen innan en mästare kan få tillgång till bussen igen. Deallokering av bussen Släpp på begäran Behåller bussen tills någon annan bussmästare begär tillgång. Släpp när klar Släpper bussen efter varje transaction. Pre-emption En bussmästare med högre prioritet kan avbryta en mästare med lägre. 42 Page 21