ECE 526 – Network Processing Systems Design Computer Architecture: traditional network processing systems implementation Chapter 4: D. E. Comer.

Slides:



Advertisements
Similar presentations
Computer Architecture and Organization
Advertisements

Chapter 7: System Buses Dr Mohamed Menacer Taibah University
Computer Architecture
System Integration and Performance
Digital Computer Fundamentals
CS-334: Computer Architecture
Chapter 4 Conventional Computer Hardware Architecture
FIU Chapter 7: Input/Output Jerome Crooks Panyawat Chiamprasert
1 Version 3 Module 8 Ethernet Switching. 2 Version 3 Ethernet Switching Ethernet is a shared media –One node can transmit data at a time More nodes increases.
1 Version 3 Module 8 Ethernet Switching. 2 Version 3 Ethernet Switching Ethernet is a shared media –One node can transmit data at a time More nodes increases.
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
Midterm Tuesday October 23 Covers Chapters 3 through 6 - Buses, Clocks, Timing, Edge Triggering, Level Triggering - Cache Memory Systems - Internal Memory.
TECH CH03 System Buses Computer Components Computer Function
ECE 526 – Network Processing Systems Design
CS-334: Computer Architecture
Computer Architecture Lecture 08 Fasih ur Rehman.
Input / Output CS 537 – Introduction to Operating Systems.
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
Chapter 7 Input/Output Luisa Botero Santiago Del Portillo Ivan Vega.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
Chapter 10: Input / Output Devices Dr Mohamed Menacer Taibah University
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Top Level View of Computer Function and Interconnection.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
2009 Sep 10SYSC Dept. Systems and Computer Engineering, Carleton University F09. SYSC2001-Ch7.ppt 1 Chapter 7 Input/Output 7.1 External Devices 7.2.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CE-321: Computer.
Interrupts, Buses Chapter 6.2.5, Introduction to Interrupts Interrupts are a mechanism by which other modules (e.g. I/O) may interrupt normal.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
COMPUTER ORGANIZATIONS CSNB123. COMPUTER ORGANIZATIONS CSNB123 Expected Course Outcome #Course OutcomeCoverage 1Explain the concepts that underlie modern.
Computer Architecture Lecture 2 System Buses. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given.
EEE440 Computer Architecture
Chapter 9 Hardware Addressing and Frame Type Identification 1.Delivering and sending packets 2.Hardware addressing: specifying a destination 3. Broadcasting.
ECEG-3202 Computer Architecture and Organization Chapter 3 Top Level View of Computer Function and Interconnection.
CH10 Input/Output DDDData Transfer EEEExternal Devices IIII/O Modules PPPProgrammed I/O IIIInterrupt-Driven I/O DDDDirect Memory.
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
EECB 473 Data Network Architecture and Electronics Lecture 1 Conventional Computer Hardware Architecture
Dr Mohamed Menacer College of Computer Science and Engineering, Taibah University CE-321: Computer.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
Input Output Techniques Programmed Interrupt driven Direct Memory Access (DMA)
I/O Organization Competency – C6. Important facts to remember when I/O devices are to be connected to CPU There is a vast variety of I/O devices. Some.
Group 1 chapter 3 Alex Francisco Mario Palomino Mohammed Ur-Rehman Maria Lopez.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Computer Organization and Architecture + Networks Lecture 6 Input/Output.
DIRECT MEMORY ACCESS and Computer Buses
COMPUTER NETWORKS CS610 Lecture-9 Hammad Khalid Khan.
CHAPTER 4 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
CS 286 Computer Organization and Architecture
Chapter 3 Top Level View of Computer Function and Interconnection
Computer Architecture
ECEG-3202 Computer Architecture and Organization
William Stallings Computer Organization and Architecture 7th Edition
Presentation transcript:

ECE 526 – Network Processing Systems Design Computer Architecture: traditional network processing systems implementation Chapter 4: D. E. Comer

Ning WengECE 5262 Goals Examine architecture of conventional computer system Discuss operation of network interface

Ning WengECE 5263 Outline Computer System Architecture Bus Interconnect ─ 3 different bus lines ─ Bandwidth, size of address space and basic operation Network Interface Card (NIC) ─ Functionality The procedure to receive/send a packet ─ Problems of traditional NIC ─ 4 optimization techniques Lab 1 announcement

Ning WengECE 5264 Computer Systems Architecture Our focus today: Bus and Network Interface Card (NIC)

Ning WengECE 5265 Computer Systems Functionality Computation ─ Arithmetic and logic operation, protocol processing and etc ─ CPU Storage ─ Keep short-time or long-time data ─ register, cache, memory, disk, tape and etc Communication ─ Medium or device for communication and/or networking ─ Bus, Network Interface Card

Ning WengECE 5266 Bus Interconnect Bus: parallel set wires used for communication ─ Address, control and data Bus bandwidth ─ Bus BW = data line width * bus frequency ─ Example: PCI bus on PC: 64 bit with 66 Mhz ─ Wider bus transfer more data per unit time at more cost and space ─ Compromise: multiplex Design Principle: trade time (performance) for space (cost). Can we use more bits for data line and less for address line?

Ning WengECE 5267 Bus Address Space Bus is shared medium Addresses “coding” device information ─ Each device gets a unique set of addresses ─ Addresses space depends on application ─ Not entire address space needs to be allocated Bus address space determined by width of address line

Ning WengECE 5268 Bus Operation: fetch and store Fundamental paradigm ─ Used in computer systems ─ “Coded” by control lines Fetch: load data from device to bus ─ Place addresses of a device on address lines ─ Issue fetch on control lines ─ Wait for device that owns the address to respond ─ If successful, extract value from data lines Store: put data from bus to device ─ Place addresses of a device on address lines ─ Place value on data lines ─ Issue store on control lines ─ Wait for device that owns the address to respond ─ If unsuccessful, report error

Ning WengECE 5269 Bus: summary Shared, parallel communication medium ─ Data lines: determining the bus bandwidth ─ Address lines: determining the address space ─ Control lines: encoding fetch, store operations Real busses are more complicated ─ Bus arbiter implements accesses rules, e.g., priorities ─ Some busses allow split-transactions ─ Some busses transfer data on each edge of the clock cycle ─ Etc Other share communication medium ─ Crossbar ─ Shared memory

Ning WengECE Network Interface Card I/O device ─ Transferring packet between network and memory ─ Controlled by CPU Send packet to network ─ CPU assembling a packet in memory ─ CPU transferring the packet to NIC ─ NIC Transmitting the packet to network Receive packet from network ─ CPU informed NIC the storage location for coming packet ─ NIC waiting for packet from network ─ NIC placing packet into specified location ─ NIC informing CPU

Ning WengECE Several Facts & Inefficiencies Ethernet shared medium => NIC receiving a lot of packets that intended for other stations NIC wasting CPU for wrong interruption and forwarding wrong packet Network traffic burst => Packet loss if NIC can’t forward packets Packet size bigger than the bus width => Multiple transfer required for one packet Multiple CPU interrupt Bus interconnect shared medium => NIC waiting for transfer turn to access memory How to improve it?

Ning WengECE NIC Optimization Solution: ─ Avoid using CPU whenever possible ─ Improve NIC own processing, storage and communication ability Four optimization techniques ─ Onboard address recognition and filtering ─ Onboard packet buffering ─ Direct memory accesses (DMA) ─ Data chaining and operation chaining

Ning WengECE Onboard Address Recognition & Filtering Recognition of unicast and broadcast addresses ─ NIC check each frame destination MAC address with its own True: forwarding to CPU over bus No: discard without interrupt CPU and BUS Multicast addresses more complex ─ Multicast address is dynamic process ─ Might be a lot of multicast addresses associated one station Hash False positive Shift “processing” duty from CPU to NIC

Ning WengECE Onboard Packet Buffering NIC has its own memory to buffer packet due to ─ burst traffic ─ contention on bus interconnect NIC can receive packets while transferring others to CPU How to decide the right size of buffer memory? Shift “storage” from main memory to NIC buffer

Ning WengECE Direct Memory Access PIO (programmed IO): requesting CPU to handle each transfer cross bus DMA ─ For large data transfer from/to disk ─ Transferring of larger amounts of data directly to/from memory ─ CPU tells NIC the location of buffer in memory ─ CPU overhead per packet not per transfer Shift “communication” duty from shared bus to own virtual bus by using DMA

Ning WengECE Operation Chaining CPU sets up linked list of buffers ─ NIC fills buffer as data comes in: “Command” in each buffer specifies receive or transmit Extra bit indicates if NIC has completed transfer Question: how is the packet buffer allocated?

Ning WengECE Data Chaining Data chaining used also in operating system Unix BSD packet mbufs:

Ning WengECE NIC: Summary Traditional operation ─ transferring packet from/to network link to/from memory over shared bus, controlled by CPU for each transfer Several Facts & Inefficiencies Optimization techniques ─ On-board filtering ─ On-board buffering ─ DMA ─ Operation and data chaining

Ning WengECE For Next Class Read Comer Chapter 5