Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

18
Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour

Transcript of Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

Page 1: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

Computer Architecture

System Interface Units

Iolanthe II approaches Coromandel Harbour

Page 2: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

System Interface Unit (also BusIU)

• Positioned between • cache and • system bus (external to die)

Page 3: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

System Interface Unit (also BusIU)

• Cache main memory bus Responsible for

• Matching cache line length to memory bus• eg PowerPC 601

• 32 byte cache line• 64 bit (8 byte) bus• Memory transactions are “bursts” of 4 double

words

• Giving priority to reads• Read requests stall CPU pipeline• Writes are assumed “complete”

• when they exit the pipeline

• Detecting reads on data in the write buffers• Cache coherence - later!

Page 4: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

System Interface Unit

• Read queue• 2-4 entries• Read will fetch a cache line

• (PowerPC 8 words)• Need to fetch requested word first

• May be word 0-7 in the cache line• Bus transactions may be “out of order”

• Requested word first

• Bus clock << processor clock• 30-60 MHz vs 200 - 600 MHz 2 words / bus cycle or 2 words / 3 - 20 CPU cycles! Many CPU cycles if requested word is last read!

2003 dataAdd a factor of 3 or so!

Page 5: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

System Interface Unit

• Write buffer• 2-3 entries• Lower priority than read buffer

• Additional (R10000)• Incoming buffer

• External Agent (EA) supplying data writes to it• Processor doesn’t control transfer• EA signals completion and

data forwarded to cache

• Uncached buffer• Pages may be marked “not cached” Faster I/O transactions

Page 6: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

System Interface Unit

• Overlap greater bus utilisation• Separate Address and Data buses

• Multiplexing two types of information on the same bus

• Saves pins• Costs time - unable to assert both at once

• Expensive for writes!• Required since …. whenever

• Separate Address and Data bus tenure• Address and data phases split

• Issue address1, wait for data1

• Issue address2 while waiting for data1

Page 7: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

PowerPC organisation

PowerPC 601~1993

Boundary of the

Si die

New - Look in the “Example Processors” sectionof the Web notes

Page 8: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

PowerPC organisation

PowerPC 601~1993

Boundary of theSi die

New - Look in the “Example Processors” sectionof the Web notes

3-way SuperScalar• Integer• Branch• Floating Point

Page 9: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

PowerPC organisation

PowerPC 601~1993

Boundary of theSi die

New - Look in the “Example Processors” sectionof the Web notes

MMU• Unified TLB (Data and I-misses)• Instruction TLB

Page 10: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

PowerPC organisation

PowerPC 601~1993

Boundary of the

Si die

New - Look in the “Example Processors” sectionof the Web notes

Cache• Unified (Data and Inst)

Page 11: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

PowerPC organisation

PowerPC 601~1993

Boundary of the

Si die

New - Look in the “Example Processors” sectionof the Web notes

SIU• Read Q (2 entries)• Write Q (3 entries)

Page 12: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

Bus Transactions

• Primary task of SIU• Implement bus protocol

• Sequence of signals and responses1. Requesting access

• Several devices can be bus masters

2. Granting access

3. Indicating type of transaction• Read, write, read-modify-write, cache invalidate,

4. Transaction tag• Allows multiple transactions ‘in flight’• Slow devices don’t block system

5. Address

6. Data

Page 13: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

Bus Protocols

• Depend on type of bus• Serial

• Single (or small number) of data wires• Parallel

• Smallest number of wires• Multiplexed address and data

• Separate address and data• Most complex• Requiring separate grants to address and data

buses• Highest throughput• Greatest tolerance for slow devices• See following diagram

Page 14: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

System Interface Unit

• Separate Address and Data bus tenure• Address and data phases split

• Issue address1, wait for data1

• Issue address2 while waiting for data1

Page 15: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

System Interface Unit

• Separate Address and Data bus tenure• Address and data phases split

• Issue address1, wait for data1

• Issue address2 while waiting for data1

Page 16: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

Separate Address and Data buses

• Overlap greater bus utilisation• Separate Address and Data buses

• Separate Address and Data bus tenure• Address and data phases split

• Issue address1, wait for data1

• Issue address2 while waiting

• Increases utilisation of both buses• Device latency can be long

• SIU doesn’t idle while device responds to access request

Page 17: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

System Interface Unit

• Next generation (eg PowerPC 620)• Multiple transactions active at any time• Each transaction identified by a transaction ID

(3 bits on bus)• Allows multiple processors to interleave

transactions on the bus• Further tolerance for long, variable latencies

• Memory and devices may have different latencies

• Multiple levels of memory• Devices: discs, networks, graphics, etc

• Very long latency operation doesn’t block a (just) long latency one

Page 18: Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.

Parallelism

• Modern systems derive performance from ability to perform many tasks in parallel• Datapath

• Pipelined – one instruction / stage• Instruction Issue Unit

• Instruction Q• Superscalar

• 3+ functional units execute multiple instructions• SIU

• I/O transaction Qs• System bus

• Several transactions active at any time• Peripherals

• Several servicing requests at the same time