Datorsystem 1 - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Datorsystem 1

Description:

Det g r inte att g ra en snabb och samtidigt allt f r l ng buss pga sk clock-skew. ... A bus is a shared communication link (a single set of wires used to connect ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 18
Provided by: karlma5
Category:
Tags: buss | datorsystem

less

Transcript and Presenter's Notes

Title: Datorsystem 1


1
Datorsystem 1 Datorarkitektur 1 föreläsning 7
onsdag 7 november 2007
2
  • I/O devices are incredibly diverse with respect
    to
  • Behavior input, output or storage
  • Partner human or machine
  • Data rate the peak rate at which data can be
    transferred between the I/O device and the main
    memory or processor

Device Behavior Partner Data rate (Mb/s)
Keyboard input human 0.0001
Mouse input human 0.0038
Laser printer output human 3.2000
Graphics display output human 800.0000-8000.0000
Network/LAN input or output machine 100.0000-1000.0000
Magnetic disk storage machine 240.0000-2560.0000
3
Synkron Bus Bussen styrs av en klock-signal (en
speciell control-line).
Enkel att implementera Protokollet
förutbestämt Det går att köra bussen mycket snabbt
processor-memory buses
Alla enheter måste använda samma
klock-frekvens Det går inte att göra en snabb och
samtidigt allt för lång buss pga sk clock-skew.
4
Asynkron Bus en Buss utan klocka Ett
handskaknings-protokoll används Sändare och
mottagare fortsätter till nästa steg i
protokollet först när de är överens om att det
föregående steget är utfört...
Ingen klocka! Lättare stödja olika typer av
enheter eftersom vi inte behöver komma överens om
en gemensam klockfrekvens. Längden på bussen
inget problem.
USB 2.0 och Firewire
Ingen klocka! Inte lika enkelt att implementera
(handskakning). Långsammare än Synkron buss
5
Asynchronous Bus Handshaking Protocol
Output (read) data from memory to an I/O device
I/O device signals a request by raising
ReadReq and putting the addr on the data lines
  1. Memory sees ReadReq, reads addr from data lines,
    and raises Ack
  1. I/O device sees Ack and releases the ReadReq and
    data lines
  1. Memory sees ReadReq go low and drops Ack
  1. When memory has data ready, it places it on data
    lines and raises DataRdy
  1. I/O device sees DataRdy, reads the data from data
    lines, and raises Ack
  1. Memory sees Ack, releases the data lines, and
    drops DataRdy
  1. I/O device sees DataRdy go low and drops Ack

6
Control lines Master initiates requests
Bus Master
Bus Slave
Data lines Data can go either way
  • Control lines
  • Signal requests and acknowledgments
  • Indicate what type of information is on the data
    lines
  • Data lines
  • Data, addresses, and complex commands
  • Bus transaction consists of
  • Master issuing the command (and address)
    request
  • Slave receiving (or sending) the data action
  • Defined by what the transaction does to memory
  • Input inputs data from the I/O device to the
    memory
  • Output outputs data from the memory to the I/O
    device

7
Nu får ni ge er - Jag vill ha bussen!
Jag vill oxå ha bussen!
Jag vill ha bussen!
Interrupts
Processor
Cache
Memory - I/O Bus
Main Memory
I/O Controller
I/O Controller
I/O Controller
Graphics
Disk
Disk
Network
8
Bus priority the highest priority device should
be serviced first
Fairness even the lowest priority device should
never be completely locked out from the bus
9
Om någon eller några gör request, skicka Ack
Vill jag ha bussen så tar jag den och skickar
inte vidare Ack.
Device 1 Highest Priority
Device N Lowest Priority
Device 2
Ack
Ack
Ack
Bus Arbiter
Request
wired-OR
Data/Addr
10
Device 1 Highest Priority
Device N Lowest Priority
Device 2
Ack
Ack
Ack
Bus Arbiter
Request
wired-OR
Data/Addr
Enkel att implementera
Daisy Chaining
Enhet med låg prioritet riskar att svälta, dvs
aldrig få tillgång till bussen. Ack måste
propagera ? slöar ner bussen.
11
Logik i hårdvara som ser till att ingen
svälter, dvs fairness
Device 1
Device N
Device 2
Request1
Request2
RequestN
Ack1
Ack2
Bus Arbiter
AckN
Data/Addr
Fairness
Centralized Parallel Arbitration
Mer komplicerad hårdvara
12
Memory Controller Hub Northbridge
Gbit ethernet 0.266 GB/s
Det som tidigare var separata I/O-kort ryms nu på
dessa chip. Trend att gå från parallella delade
bussar till seriella höghastighets interconnects
Hub Bus 8b x 266 MHz
2 serial ATAs 150 MB/s
2 parallel ATA 100 MB/s
8 USBs 60 MB/s
I/O Controller Hub Southbridge
13
Sammanfattning
  • A bus is a shared communication link (a single
    set of wires used to connect multiple subsystems)
    that needs to support a range of devices with
    widely varying latencies and data transfer rates
  • Advantages
  • Versatile new devices can be added easily and
    can be moved between computer systems that use
    the same bus standard
  • Low cost a single set of wires is shared in
    multiple ways
  • Disadvantages
  • Creates a communication bottleneck bus
    bandwidth limits the maximum I/O throughput
  • The maximum bus speed is largely limited by
  • The length of the bus
  • The number of devices on the bus

14
Att bortse från I/O är ett vanligt misstag
Antag att CPU blir 50 snabbare varje år
After n years CPU time (s) I/O time (s) Elapsed time (s) I/O time
0 90 10 100 10
1 90/1.5 60 10 70 14
2 60/1.5 40 10 50 20
3 40/1.5 27 10 37 27
4 27/1.5 18 10 28 36
5 18/1.5 12 10 22 45
Förbättring i CPU tid 90/12 7.5
Förbättring i total-tid 100/22 4.5
15
Kommunikation?
Processor
I/O enhet
Program som vi skriver...
16
I SPIM finns det stöd för en enkel minnes-mappad
I/O-enhet. För att skriva ut tecken används
följande minnes-mappade transmitter-register
För att läsa tecken används följande
minnes-mappade register
17
Direct Memory Access
Vill avlasta processorn...
  • For high-bandwidth devices (like disks)
    interrupt-driven I/O would consume a lot of
    processor cycles
  • DMA the I/O controller has the ability to
    transfer data directly to/from the memory without
    involving the processor
  • The processor initiates the DMA transfer by
    supplying the I/O device address, the operation
    to be performed, the memory address
    destination/source, the number of bytes to
    transfer
  • The I/O DMA controller manages the entire
    transfer (possibly thousand of bytes in length),
    arbitrating for the bus
  • When the DMA transfer is complete, the I/O
    controller interrupts the processor to let it
    know that the transfer is complete
  • There may be multiple DMA devices in one system
  • Processor and I/O controllers contend for bus
    cycles and for memory

Interrupt endast för att säga till när hela
rasket är klart.
Write a Comment
User Comments (0)
About PowerShow.com