Week 6: Invoer / uitvoer “devices” adresdecodering

Slides:



Advertisements
Verwante presentaties
Computers en systeemsoftware : hardware
Advertisements

Test computertermen: Deze test gaat over de vorige les. Je krijgt steeds een vraag te zien waarop je het juist antwoord moet aanklikken. Is je antwoord.
Deel 1, Blok 2, Datacommunicatie
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur EIT OGO-1.2 addendum (1): Het ontwerpen van processoren.
Serieel naar parallel omzetting
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 3(2): Instructietypen.
™.
Netwerken. Wat is een netwerk? Je spreekt van een netwerk van zodra twee of meer computers met elkaar verbonden zijn. Je kan thuis een klein netwerkje.
Informatieverwerkende systemen
Module 2 – Hoofdstuk 3 Opbouw en werking van de computer.
Par. 3.1 Computers zijn overal
Kies een router Update December 2008.
Kennismaking met de computerconfiguratie
1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding.
Hardware (1) NSG Informatica.
Week 1: overzicht computersysteem-organisatie
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 4(2): Digitale.
Het werkgeheugen stored program concept (John von Neumann) Het achtergrondgeheugen Geheugen.
Hardware (2) SGDB Informatica.
1/1/ /e/e eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 2(1): Inleiding InstructieSetArchitectuur.
BESTURINGS SYSTEMEN Vincent Naessens.
bus DE BUS Controller: de electronica die het apparaat bestuurd Transport van bits over de bus.
ADuC8xx MICROCONVERTER
Auteursomgeving voor Digitale Componenten
Over computers.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Instructieformaten adressering assembleertalen (zelfstudie.
1/1/ /e/e eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 2(2): Instructieformaten adressering assembleertalen.
Week 2: Microarchitectuur niveau ALU en datapad
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 6: Practicumprocessor invoer en uitvoer.
5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen
Computerarchitectuur
Steven Van Acker. Transmeta Crusoe - Steven Van Acker - Mei Overzicht  Inleiding  Het Idee  De Technologie  CodeMorphing  LongRun  NorthBridge.
De computer: Hardware Het beeldscherm Het toetsenbord De muis
Communicatietheorie Partim Datacommunicatie
5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen
1/1/ /e/e eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 3(1): Instructietypen (1)
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 1(2): overzicht.
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(1): Flow of.
5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 6(1): Invoer.
Geheugenbeheer ICT Infrastructuren hoofdstukken 7 en 8.1.
1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam.
Backup & Recovery Windows 2003 Server Onderhoud en Beheer Netwerken 4.
Flight 68K Temperatuur geregelde ventilator
1 ICT Infrastructuren 19 november 2007 David N. Jansen.
1/1/ /e/e eindhoven university of technology OGO 1.2 project Startbijeenkomst Een microprocessor… …om warm voor te lopen.
Operating Systems Informatica.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Digitale logica niveau klokken en geheugens.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 3: Instructietypen (1)
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Inleiding InstructieSetArchitectuur (ISA) datatypen.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 3: Instructietypen (2)
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Digitale logica niveau: “systeem-architectuur” cpu-chips.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 2: IDaSS.
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 9(1): Virtual.
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 5(2): Microarchitectuur.
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
Informatica Netwerken (1). Informatica Netwerken Verschillende afmetingen –LAN (Local Area Network) –MAN (Metropolitan Area Network) –WAN (Wide Area Network)
BIOS en Opstarten.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  programma draaien vanuit ROM.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 6 - onderwerpen Uitleg.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag top-down decompositie Opdrachten:
Code compressie in Embedded Systems Onno Kievit ET4074 Kwantitatieve aspecten van computer architectuur.
Netwerken 5 Enigma Netwerken paragraaf 8. Transportlaag Netwerklaag (IP-protocol) Best-effort pakketcommunicatie Transportlaag (UDP- en TCP-protocol)
Hardware (2) SGDB Informatica.
Computersystemen 2 (TIRCCMS02 - Operating systems)
3 Hardware 3.1 De processor en intern geheugen
Hardware (2) SGDB Informatica.
Netwerken & Internet 3.
Netwerken & Internet 1.
Transcript van de presentatie:

Week 6: Invoer / uitvoer “devices” adresdecodering 2IC20: Computersystemen Week 6: Invoer / uitvoer “devices” adresdecodering

Invoer / uitvoer “controllers” Bevinden zich tussen processor en buitenwereld Vanuit processor gekoppeld aan bus (meestal) Bestuurbaar door lezen/schrijven woorden/cellen Adresseerbaar in geheugen: “memory mapped” In aparte I/O adresruimte met speciale instructies Volledig bestuurd met speciale instructies (zelden) Moeten “kortstondigheid” probleem oplossen Lezen van processor geeft waarde op dat moment Schrijven geeft zeer kort stabiele waarde op de bus

Datacommunicatie Communicatie = overbrengen van gegevens Tussen computers onderling Tussen computer en “randapparaat” (bijv. printer) Hierbij hoort ook synchronisatie Indicatie “gegevens worden/zijn overgedragen” Op verschillende niveaus: van bit tot megabyte Twee basismethoden Meer bits tegelijk: parallelle communicatie Eén bit tegelijk: serieële communicatie

Afwegingen parallel / serieëel Type communicatie Parallel N keer nodig (minimaal) Bekabeling en zend/ontvangst electronica 1 maal nodig (minimaal) Per woord, aparte draden Synchronisatie Per bit, kan via data draad < 10 miljoen woorden / sec. Hoogste snelheid (in standaard gebruik) en afstand hierbij >> 100 miljoen bits / sec. (glasvezel) < 1 meter > 100 kilometer Kan, extra draden > 1 zender en ontvanger ? Vrij standaard (LAN) Niet gelijktijdig arriveren van bits Grootste probleem Naast bit ook woord synchroniatie nodig

“Asynchrone” serieële communicatie Vaste tijd voor overbrengen van één bit afspreken Datawoord omgeven met start en stop bits Start bit kan op willekeurig moment beginnen Stop bit wordt “uitgerekt” tot volgend start bit 1 bit-tijd:  Bit 6 Bit 7 1,5  (Stop) Start Bit 0 Bit 1 Bit 2 Stop    Misbruikt tot > 100 kilobit / sec.

Andere serieële communicatie vormen Synchrone protocollen zijn efficienter Gebruiken geen start en stop bits Synchronisatie op iedere 0  1 en 1  0 overgang “Bit stuffing” om extra overgangen te verkrijgen Verzenden van data in blokken: “Packets” begin en einde aangegeven met overtreding bit stuffing “Local Area Networks” gaan verder Meer dan één “station” (zender én ontvanger in één) Stapels protocollen: Ethernet, CAN, HomeBus, ……..

Parallelle invoer en uitvoer De basis: invoer en uitvoer poorten ! Bus IN Tri-state buffers “I” Bus “O” UIT “I” IN D Q UIT Load Latch “O”

Invoer met software “handshake” 1 2 3 4 Bus HSIN “acknowledge” D Q HSUIT Load Latch “request” DIN “data” Ik wil data ! Hier is data ! Heb ‘t overge- nomen OK, ik stop 1 bit !

Handshake opmerkingen Twee fundamenteel verschillende methoden “Request” / “acknowledge” (“REQ/ACK”): ontvanger vraagt om gegevens “Data available” / “acknowledge” (“DAV/ACK”): zender biedt gegevens aan ter overname Beide bruikbaar voor invoer én uitvoer Beide twee handshake bits, één in en één uit Zelfde hardware verschillend gebruikt !

“Flowchart” DAV/ACK zender DAV_ACK_Zender: ; data in A Zet data op poort MOV Port,A ; output Maak DAV aktief SETB DAV ; actief = 1 ACK aktief ? NEE WachtACK: ; wacht-lus JNB ACK,WachtACK Maak DAV inaktief JA CLR DAV ; INactief = 0 ACK aktief ? JA WachtNotACK: ; wacht-lus JB ACK,WachtNotACK Klaar ! NEE “Flowchart” RET ; subroutine !

Nog meer handshake opmerkingen Niet vergeten: initialisatie na opstarten systeem In het voorbeeld: DAV inactief maken na reset Volledige 4-fasen handshake: 2 maal wachten ! Tenzij je wacht op inactief-actief overgang Veel processoren hebben geen bit-operaties Bit op 1 zetten met OR, op 0 zetten met AND Bij test masker gebruiken (AND) voor bit-selectie I / O controllers voeren handshake zelf uit Vertalen handshake in interrupts en/of DMA

Adresdecodering Meerdere geheugen en I/O chips in adresruimte Dan moeten “Chip Select” (CS) stuurlijnen van adres afgeleid worden: “adresdecodering” Aantal woorden per chip is vast, adressen van die woorden worden hier gekozen ! 2 kilobyte 2 kilobyte 4 bytes “PIO” = Parallel Input / Output

Volledige adresdecodering 10000xxxxxxxxxxxB 11111111111111xxB 00000xxxxxxxxxxxB Ieder geheugen of poort precies EEN maal in adresruimte ! Op exact de gewenste adressen... 0000h.. 07FFh 8000h.. 87FFh Duur in hardware ! FFFCh.. FFFFh

Gedeeltelijke adresdecodering 10xxxxxxxxxxxxxxB 0xxxxxxxxxxxxxxxB 11xxxxxxxxxxxxxxB Ieder geheugen of poort meerdere malen in adresruimte ! 16 x 8 x 4096 x Met kopieën van dezelfde waarden... Goedkope hardware ! 0000h.. 7FFFh = 32 kilobyte 8000h.. BFFFh = 16 kilobyte C000h.. FFFFh = 16 kilobyte

Opmerkingen over adresdecodering Bij uitbreidbare, modulaire systemen: gebruik volledige adresdecodering ! Goedkope gedeeltelijke decodering laat geen “gaten” in adresruimte over: geen plaats voor uitbreiding… Adressering niet altijd vrij te kiezen: startadres programma in (EP)ROM ! Decodeerlogica in PLA of met standaard decoder A14 A15 1 2 3 Sel 0 Sel 1 CS EPROM CS RAM CS PIO ??? ½ 74139