<ul><li>Michael Mullins </li></ul><ul><li>Systems-TSC  </li></ul>X64 Workshop I/O Architecture
X64 Workshop <ul><li>Welcome </li></ul><ul><ul><li>Introduction </li></ul></ul><ul><li>Scope </li></ul><ul><ul><li>What's ...
Agenda <ul><li>Architectures </li></ul><ul><ul><li>PCI  (Peripheral Component Interconnect) </li></ul></ul><ul><ul><li>PCI...
X64 Workshop ----  PCI  <ul><li>Bus Architecture </li></ul><ul><ul><li>PCI and PCI-X busses are multi-drop parallel interc...
X64 Workshop --- PCI-X <ul><li>PCI-X bus speeds 0 – 133Mhz ( Higher speeds ? ) </li></ul><ul><li>Bus load specific  </li><...
X64 Workshop --- PCI / PCI-X <ul><li>Steps in a PCI Transaction: </li></ul><ul><ul><li>Step 1: Bus Grant </li></ul></ul><u...
X64 Workshop --- PCI / PCI-X <ul><li>Transaction type are either Single date phases or Burst transfer </li></ul>
X64 Workshop --- PCI / PCI-X <ul><ul><li>PCI Transaction Model </li></ul></ul><ul><ul><ul><li>Programmed IO  (PIO) </li></...
X64 Workshop --- PCI/PCI-X <ul><li>Programmed IO  </li></ul><ul><ul><li>A transaction initiated by the CPU and that target...
X64 Workshop --- PCI/PCI-X <ul><li>Direct Memory Access (DMA) </li></ul><ul><ul><li>A PCI device becomes the master of the...
X64 Workshop --- PCI/PCI-X <ul><li>Peer to Peer  </li></ul><ul><ul><li>A peer to peer transaction is the direct transfer o...
X64 workshop --- PCI/PCI-X <ul><li>PCI retry protocol  </li></ul><ul><ul><li>When a PCI master initiates a transaction to ...
X64 Workshop --- PCI/PCI-X <ul><li>PCI disconnect protocol  </li></ul><ul><ul><li>When a PCI master initiates a transactio...
X64 Workshop --- PCI/PCI-X <ul><li>PCI Bandwidth </li></ul><ul><li>33MHz  32bit  133MB/s </li></ul><ul><li>33MHz  64bit  2...
X64 Workshop --- PCI-e <ul><li>Common PCI-e Terms </li></ul><ul><ul><li>Serdes ( Serializer / Deserializer ) </li></ul></u...
X64 Workshop --- PCI-e <ul><li>8b/10b encoding </li></ul><ul><ul><li>As the scheme name suggests, 8 bits of data are trans...
X64 Workshop --- PCI-e <ul><li>PCI-e implements a serial point to point type interconnect for communication between two de...
X64 Workshop --- PCI-e <ul><li>Differential Transmitter / Receiver </li></ul>
X64 Workshop --- PCI-e <ul><li>Hardware protocol summary </li></ul><ul><ul><li>Physical Layer. </li></ul></ul><ul><ul><ul>...
X64 Workshop --- PCI-e <ul><li>Link initialization and training is a physical layer process that configures and initialize...
X64 Workshop --- PCI-e <ul><li>PCI-e Bandwidth </li></ul><ul><li>Speed is per direction (transmit + receive) </li></ul><ul...
X64 Workshop --- Supported Options <ul><li>PCI-X </li></ul><ul><ul><li>Scsi </li></ul></ul><ul><ul><li>Fibre channel </li>...
Block Diagram – 8 CPU Modules CPU Module H CPU Module G CPU Module F CPU Module E CPU Module D CPU Module C CPU Module B C...
 
 
X64 Workshop --- PCI / PCI-X <ul><li>Current Issues.  Within the TSC platform pages there is an entry under each hardware ...
Useful Links <ul><li>http://systems-tsc/twiki/bin/view/Main/WebHome  /* TSC home */ </li></ul><ul><li>http://www.pcisig.co...
End <ul><li>Presenter’s Name </li></ul><ul><ul><li>[email_address] </li></ul></ul>
Upcoming SlideShare
Loading in …5
×

Io Architecture

1,021 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,021
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • What is not included Hypertransport interconnect
  • Explain bus loading 10-12 loads. Explain use of PCI bridges to extend the number of devices PCI implements reflective wave switching signal drivers The driver drives a half signal swing signal on the rising edge of the PCI clock. The signal propogates down the PCI bus and is reflected at the end of the transmission line where there is no termination. The reflection causes the half signal to double. Half duplex. Show how the bus is half duplex – only one action can occur on the bus at a time, ie transmit or receive. These cannot occur at the same time
  • Take our 8 bit character 10101010 divide into a 3bit and 5 bit entry as below 101 01010 transpose the entry 01010 101 if data the entry becomes D 10.5 we then lookup the entry for D10 and these 5bits become a six bit paqtter We then lookup the entry for the .5 and these three bits become four bits ans adding the two together become 10bits D10 becomes 101010 .5 becomes 1010 10b = 1010101010 D31.7 (all 1s) becomes 101011. 1110/0111
  • Io Architecture

    1. 1. <ul><li>Michael Mullins </li></ul><ul><li>Systems-TSC </li></ul>X64 Workshop I/O Architecture
    2. 2. X64 Workshop <ul><li>Welcome </li></ul><ul><ul><li>Introduction </li></ul></ul><ul><li>Scope </li></ul><ul><ul><li>What's covered? </li></ul></ul><ul><ul><li>What's not covered? </li></ul></ul>Introduction
    3. 3. Agenda <ul><li>Architectures </li></ul><ul><ul><li>PCI (Peripheral Component Interconnect) </li></ul></ul><ul><ul><li>PCI-X </li></ul></ul><ul><ul><li>PCI-e </li></ul></ul><ul><li>Supported Options </li></ul><ul><li>Current issues </li></ul>
    4. 4. X64 Workshop ---- PCI <ul><li>Bus Architecture </li></ul><ul><ul><li>PCI and PCI-X busses are multi-drop parallel interconnect in which many devices share one bus </li></ul></ul><ul><li>PCI bus speeds 0 – 66Mhz (PCI) </li></ul><ul><li>Devices are known as either Initiator or Targets (PCI) </li></ul><ul><li>Typical PCI device either IC or PCI expansion card </li></ul><ul><li>PCI bus loading </li></ul><ul><li>Half duplex </li></ul>
    5. 5. X64 Workshop --- PCI-X <ul><li>PCI-X bus speeds 0 – 133Mhz ( Higher speeds ? ) </li></ul><ul><li>Bus load specific </li></ul><ul><ul><li>(1 Slot = 133Mhz, 2 Slot = 100Mhz, 4 Load = 66Mhz) </li></ul></ul><ul><li>Devices are known as either Requester / Completer (PCI-X) </li></ul>
    6. 6. X64 Workshop --- PCI / PCI-X <ul><li>Steps in a PCI Transaction: </li></ul><ul><ul><li>Step 1: Bus Grant </li></ul></ul><ul><ul><ul><li>The PCI arbiter gives a requesting initiator permission to use the bus </li></ul></ul></ul><ul><ul><li>Step 2: Address Phase </li></ul></ul><ul><ul><ul><li>The target for the transaction and the type of transaction to take place are identified. </li></ul></ul></ul><ul><ul><li>Step 3: Data Phase(s) </li></ul></ul><ul><ul><ul><li>Data is transferred between the agents. There may be multiple data phases if the current transaction is a burst transfer. </li></ul></ul></ul>
    7. 7. X64 Workshop --- PCI / PCI-X <ul><li>Transaction type are either Single date phases or Burst transfer </li></ul>
    8. 8. X64 Workshop --- PCI / PCI-X <ul><ul><li>PCI Transaction Model </li></ul></ul><ul><ul><ul><li>Programmed IO (PIO) </li></ul></ul></ul><ul><ul><ul><li>Direct Memory Access (DMA) </li></ul></ul></ul><ul><ul><ul><li>Peer to Peer </li></ul></ul></ul><ul><ul><ul><li>PCI Retry Protocol </li></ul></ul></ul><ul><ul><ul><li>PCI Disconnect Protocol </li></ul></ul></ul>
    9. 9. X64 Workshop --- PCI/PCI-X <ul><li>Programmed IO </li></ul><ul><ul><li>A transaction initiated by the CPU and that targets a peripheral device, is referred to as a programmed IO transaction. Software commands the CPU to initiate a memory or IO read/write cycle on the host bus targeting an address mapped in a PCI devices address space. Once arbitration of the PCI bus is gained the address is driven onto the PCI bus and all targets decode the address and one device will then claim the transaction. Data is then transferred between master and target under control of the CPU </li></ul></ul>
    10. 10. X64 Workshop --- PCI/PCI-X <ul><li>Direct Memory Access (DMA) </li></ul><ul><ul><li>A PCI device becomes the master of the PCI bus under control of the software running on this device, the device may initiate a request to talk to memory. The PCI bus device arbitrates for the bus and when it becomes the bus master initiates a PCI memory bus cycle. The north bridge (NB) which decodes the address acts as the target for the transaction. During the data phase of the bus cycle data is transferred between PCI device and the NB. The NB in turn generates the memory cycle and communicates with system memory. Once the data transfer is completed the PCI device generates an interrupt to indicate transfer is complete. </li></ul></ul>
    11. 11. X64 Workshop --- PCI/PCI-X <ul><li>Peer to Peer </li></ul><ul><ul><li>A peer to peer transaction is the direct transfer of data between two PCI devices. A device that wishes to initiate a transaction arbitrates, wins ownership of the bus and starts a transaction. A target that recognizes the address claims the bus cycle. </li></ul></ul><ul><ul><li>For a write bus cycle, data is moved from initiator to target. </li></ul></ul><ul><ul><li>For a read bus cycle, data is moved from the target to the initiator. </li></ul></ul>
    12. 12. X64 workshop --- PCI/PCI-X <ul><li>PCI retry protocol </li></ul><ul><ul><li>When a PCI master initiates a transaction to access a target device and the target device is not ready, the target signals a transaction retry. ( wait states may be inserted in the data phase if only a few are needed) A retry tells the master to end the bus cycle prematurely without transferring any data. The PCI device releases the PCI bus and must re-arbitrate for the PCI bus to attempt the same bus cycle again. Hopefully the target device will now be ready otherwise and the transaction can continue otherwise a retry transaction is again issued and the cycle continues. </li></ul></ul>
    13. 13. X64 Workshop --- PCI/PCI-X <ul><li>PCI disconnect protocol </li></ul><ul><ul><li>When a PCI master initiates a transaction to access a target device and if the target device is able to transfer part of the data but cannot complete the entire data transfer, it disconnects the bus cycle at the point at which it cannot continue the data transfer. ( wait states may be inserted in the data phase if only a few are needed). The PCI device releases the PCI bus and must re-arbitrate for the PCI bus to attempt the same bus cycle again. Hopefully the target device will now be ready otherwise and the transaction can continue otherwise a retry transaction is again issued and the cycle continues. </li></ul></ul>
    14. 14. X64 Workshop --- PCI/PCI-X <ul><li>PCI Bandwidth </li></ul><ul><li>33MHz 32bit 133MB/s </li></ul><ul><li>33MHz 64bit 266MB/s </li></ul><ul><li>66MHz 32bit 266MB/s </li></ul><ul><li>66Mhz 64bit 512MB/s </li></ul><ul><li>PCI-X Bandwidth </li></ul><ul><li>100MHz 64bit 800MB/s </li></ul><ul><li>133MHz 64bit 1GB/s </li></ul><ul><li>266Mhz 64bit 2GB/s </li></ul>
    15. 15. X64 Workshop --- PCI-e <ul><li>Common PCI-e Terms </li></ul><ul><ul><li>Serdes ( Serializer / Deserializer ) </li></ul></ul><ul><ul><li>8B/10B encoding / decoding </li></ul></ul><ul><ul><ul><li>8B character </li></ul></ul></ul><ul><ul><ul><li>10B symbol </li></ul></ul></ul><ul><ul><ul><li>Among the areas in which 8B/10B encoding finds application are HyperTransport, PCI Express, IEEE 1394b, Serial ATA,SAS, Fibre Channel, SSA, Gigabit Ethernet, InfiniBand,XAUI, Serial RapidIO, DVI (Transition Minimized Differential Signaling), DVB Asynchronous Serial Interface (ASI) </li></ul></ul></ul>
    16. 16. X64 Workshop --- PCI-e <ul><li>8b/10b encoding </li></ul><ul><ul><li>As the scheme name suggests, 8 bits of data are transmitted as a 10-bit entity called a symbol. The low 5 bits of data are encoded into a 6-bit group and the top 3 bits are encoded into a 4-bit group. The data symbols are often referred to as Dxx.y where xx ranges from 0-31 and y from 0-7. Because 8B/10B encoding uses 10-bit symbols to encode 8-bit words, each of the 256 possible 8-bit words can be encoded in two different ways, one the bit-wise inverse of the other. Using these alternative encodings, the scheme is able to effect long-term DC-balance in the serial data stream. </li></ul></ul><ul><ul><li>The encoding is normally done entirely in hardware, based on lookup tables. </li></ul></ul>
    17. 17. X64 Workshop --- PCI-e <ul><li>PCI-e implements a serial point to point type interconnect for communication between two devices </li></ul><ul><li>A PCI-e interconnect that connects two devices together is referred to as a link </li></ul><ul><li>A link consists of either x1, x2, x4, x8, x16 or x32 signal pairs in each direction </li></ul><ul><li>These signals are referred to as lanes </li></ul>
    18. 18. X64 Workshop --- PCI-e <ul><li>Differential Transmitter / Receiver </li></ul>
    19. 19. X64 Workshop --- PCI-e <ul><li>Hardware protocol summary </li></ul><ul><ul><li>Physical Layer. </li></ul></ul><ul><ul><ul><li>At the electrical level, each lane utilizes two unidirectional low voltage differential signaling (LVDS) pairs at 2.5 Gbit/s. Transmit and receive are separate differential pairs, for a total of 4 data wires per lane. </li></ul></ul></ul><ul><ul><li>Data Link Layer. </li></ul></ul><ul><ul><ul><li>The Data Link Layer implements sequencing of Transaction Layer Packets (TLPs) that are generated by the Transaction Layer </li></ul></ul></ul><ul><ul><li>Transaction Layer. </li></ul></ul><ul><ul><ul><li>PCI Express implements split transactions (transactions with request and response separated by time), allowing the link to carry other traffic while the target device gathers data for the response. </li></ul></ul></ul>
    20. 20. X64 Workshop --- PCI-e <ul><li>Link initialization and training is a physical layer process that configures and initializes a devices physical layer, port and associated links so normal packet traffic can proceed on the link. </li></ul><ul><li>There are two sub-blocks within the physical layer and these are split into transmit logic and receive logic, which allows for dual simplex communications </li></ul>
    21. 21. X64 Workshop --- PCI-e <ul><li>PCI-e Bandwidth </li></ul><ul><li>Speed is per direction (transmit + receive) </li></ul><ul><li>x1 250MB/s (500MB/s) </li></ul><ul><li>x2 500MB/s (1GB/s) </li></ul><ul><li>x4 1GB/s (2GB/s) </li></ul><ul><li>x8 2GB/s (4GB/s) </li></ul><ul><li>x16 4GB/s (8GB/s) </li></ul><ul><li>x32 8GB/s (16GB/s) </li></ul>
    22. 22. X64 Workshop --- Supported Options <ul><li>PCI-X </li></ul><ul><ul><li>Scsi </li></ul></ul><ul><ul><li>Fibre channel </li></ul></ul><ul><ul><li>Ethernet Further options added almost daily </li></ul></ul><ul><li>PCI-e: </li></ul><ul><ul><li>Infiniband </li></ul></ul><ul><ul><li>Fibre channel </li></ul></ul><ul><ul><li>Ethernet </li></ul></ul><ul><ul><li>Crypto Accellerator </li></ul></ul><ul><ul><li>Scsi Further options added almost daily </li></ul></ul>
    23. 23. Block Diagram – 8 CPU Modules CPU Module H CPU Module G CPU Module F CPU Module E CPU Module D CPU Module C CPU Module B CPU Module A CPU0 CPU2 CPU1 CPU3 CPU4 CPU5 CPU6 CPU7 ILOM 8132 PCI-X Tunnel CK8-04 LSI SAS1064 SHARED 100 MHz bus FW82546 FW82546 PCI-X 100 MHz PCI-X 100 MHz PCI-E 8-lane PCI-E 8-lane PCI-E 4-lane Motorola MPC8248 SP Video over LAN Redirect VGA Video SAS HDDs 4 x 1 GB Ethernet DVI Video BCM 5221 Managed Power Supply Managed Power Supply Managed Power Supply Managed Power Supply Management Ethernet Serial Super I/O USB HUB IDE CD/DVD Rear USB Front USB USB [2..4] USB 1 USB 5 IDE USB 0 64 MB DDR SDRAM 32 MB FLASH IO-04 PCI-E 8-lane PCI-E 8-lane PCI-E 4-lane Rage XL All HT links - 1 GHz 8 GB/sec
    24. 26. X64 Workshop --- PCI / PCI-X <ul><li>Current Issues. Within the TSC platform pages there is an entry under each hardware platform a known issues page </li></ul>
    25. 27. Useful Links <ul><li>http://systems-tsc/twiki/bin/view/Main/WebHome /* TSC home */ </li></ul><ul><li>http://www.pcisig.com/specifications/ /* PCI specifications */ http://www.sun.com/io_technologies/ /* Third party support */ </li></ul>
    26. 28. End <ul><li>Presenter’s Name </li></ul><ul><ul><li>[email_address] </li></ul></ul>

    ×