PC I/O. May 7, Howard Huang 1

Similar documents
Final Lecture. A few minutes to wrap up and add some perspective

Lectures More I/O

Lecture 23. Finish-up buses Storage

Introduction to I/O. April 30, Howard Huang 1

CS232: Computer Architecture II

Computer Overview. A computer item you can physically see or touch. A computer program that tells computer hardware how to operate.

FUNCTIONS OF COMPONENTS OF A PERSONAL COMPUTER

Module 6: INPUT - OUTPUT (I/O)

7/28/ Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc.

CS 101, Mock Computer Architecture

Computers Are Your Future

Technology in Action

Full file at

More advanced CPUs. August 4, Howard Huang 1

Homeschool Enrichment. The System Unit: Processing & Memory

Components of a personal computer

IT 252 Computer Organization and Architecture. Introduction to I/O

Computer Architecture

Introduction to the Personal Computer

Computers and Microprocessors. Lecture 34 PHYS3360/AEP3630

Introduction To Computer Hardware. Hafijur Rahman

The Components of the System Unit

Computer Hardware. In this lesson we will learn about Computer Hardware, so that we have a better understanding of what a computer is.

A+ Guide to Hardware: Managing, Maintaining, and Troubleshooting, 5e. Chapter 1 Introducing Hardware

Advanced processor designs

About the Presentations

Computers Are Your Future

Intentionally Blank 0

Chapter 9: A Closer Look at System Hardware

Chapter 9: A Closer Look at System Hardware 4

The Central Processing Unit

Chapter 4 The Components of the System Unit

VIA ProSavageDDR KM266 Chipset

1 PC Hardware Basics Microprocessors (A) PC Hardware Basics Fal 2004 Hadassah College Dr. Martin Land

Robert Jamieson. Robs Techie PP Everything in this presentation is at your own risk!

So computers can't think in the same way that people do. But what they do, they do excellently well and very, very fast.

CS1101: Lecture 21. Organization: Input/Output. Lecture Outline. Buses. A simple personal computer. Buses

Motherboard Central Processing Unit (CPU) Random access memory (RAM)

Desktop Desirable Features: (please read notes below)

Computer System Overview

Part 1 of 3 -Understand the hardware components of computer systems

Motherboard BIOS. Fig: 1 What you see (or something similar) if you turn the PC manufacturer's logo off

EE108B Lecture 17 I/O Buses and Interfacing to CPU. Christos Kozyrakis Stanford University

Chapter 3. Top Level View of Computer Function and Interconnection. Yonsei University

Characteristics of Memory Location wrt Motherboard. CSCI 4717 Computer Architecture. Characteristics of Memory Capacity Addressable Units

Overview. Memory Classification Read-Only Memory (ROM) Random Access Memory (RAM) Functional Behavior of RAM. Implementing Static RAM

Chapter 1: Introduction. Oregon State University School of Electrical Engineering and Computer Science

Chapter 2. Prepared By: Humeyra Saracoglu

A+ Guide to Hardware, 4e. Chapter 4 Processors and Chipsets

Exam : FC0-U21. Title : CompTIA Strata IT Fundamentals. Version : DEMO

System Unit Components Chapter2

Computer System Overview OPERATING SYSTEM TOP-LEVEL COMPONENTS. Simplified view: Operating Systems. Slide 1. Slide /S2. Slide 2.

Mainstream Computer System Components CPU Core 2 GHz GHz 4-way Superscaler (RISC or RISC-core (x86): Dynamic scheduling, Hardware speculation

Mainstream Computer System Components

MSc-IT 1st Semester Fall 2016, Course Instructor M. Imran khalil 1

This page intentionally left blank

Motherboard Components of a Desktop Computer

Main Parts of Personal Computer

Inside the Computer System

Buses. Disks PCI RDRAM RDRAM LAN. Some slides adapted from lecture by David Culler. Pentium 4 Processor. Memory Controller Hub.

QUIZ Ch.6. The EAT for a two-level memory is given by:

Assembling Computers Summer Academy Presented by the Petters Research Institute (PRI) in cooperation with the Belize Defense Force

FC0-U21 CompTIA Strata IT Fundamentals

Where We Are in This Course Right Now. ECE 152 Introduction to Computer Architecture Input/Output (I/O) Copyright 2012 Daniel J. Sorin Duke University

Exam Questions fc0-u21

Memory Systems IRAM. Principle of IRAM

I/O. Fall Tore Larsen. Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum)

I/O. Fall Tore Larsen. Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum)

Chapter No. 1. Motherboard & its Components

Experiment #0. PC Hardware and Operating Systems

Introduction. Computer System Organization. Languages, Levels, Virtual Machines. A multilevel machine. Sarjana Magister Program

Computer Maintenance. Unit Subtitle: Motherboards. Copyright Texas Education Agency, All rights reserved. 1

A+ Guide to Managing & Maintaining Your PC, 8th Edition. Chapter 4 All About Motherboards

COMP2121: Microprocessors and Interfacing. Introduction to Microprocessors

OS And Hardware. Computer Hardware Review PROCESSORS. CPU Registers. CPU Registers 02/04/2013

Form Factors. Motherboards Jamie Tees

Update on logistics ECS 15

CS 16: Assembly Language Programming for the IBM PC and Compatibles

Introduction to computers

Buses, Video, and Upgrades

Key Points. Rotational delay vs seek delay Disks are slow. Techniques for making disks faster. Flash and SSDs

CMSC 313 Lecture 26 DigSim Assignment 3 Cache Memory Virtual Memory + Cache Memory I/O Architecture

Copyright 2012, Elsevier Inc. All rights reserved.

Computer Architecture. A Quantitative Approach, Fifth Edition. Chapter 2. Memory Hierarchy Design. Copyright 2012, Elsevier Inc. All rights reserved.

Notes - Computer Hardware Basics

Assembly Language for x86 Processors 7 th Edition. Chapter 2: x86 Processor Architecture

Connectivity. Module 2.2. Copyright 2006 EMC Corporation. Do not Copy - All Rights Reserved. Connectivity - 1

Personal computer hardware From Wikipedia, the free encyclopedia (Redirected from Computer hardware)

Lecture 16. Today: Start looking into memory hierarchy Cache$! Yay!

INFS 214: Introduction to Computing

Copyright 2012, Elsevier Inc. All rights reserved.

Computer Architecture A Quantitative Approach, Fifth Edition. Chapter 2. Memory Hierarchy Design. Copyright 2012, Elsevier Inc. All rights reserved.

Chapter 8. A Typical collection of I/O devices. Interrupts. Processor. Cache. Memory I/O bus. I/O controller I/O I/O. Main memory.

LECTURE 5: MEMORY HIERARCHY DESIGN

VIA Apollo P4X400 Chipset. Enabling Total System Performance

Pharmacy college.. Assist.Prof. Dr. Abdullah A. Abdullah

I/O Channels. RAM size. Chipsets. Cluster Computing Paul A. Farrell 9/8/2011. Memory (RAM) Dept of Computer Science Kent State University 1

System Buses Ch 3. Computer Function Interconnection Structures Bus Interconnection PCI Bus. 9/4/2002 Copyright Teemu Kerola 2002

Input/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture

Introduction to a Typical PC. Freedom High School

Transcription:

PC I/O Today wraps up the I/O material with a little bit about PC I/O systems. Internal buses like PCI and ISA are critical. External buses like USB and Firewire are becoming more important. Today also happens to be the last day of class. May 7, 2003 2001-2003 Howard Huang 1

Open up and say ahhh If you open up your computer, you ll find the motherboard, which connects everything together. May 7, 2003 PC I/O 2

The mothership CPU socket Serial, parallel, and USB ports (Back) Memory slots IDE drive connectors (Front) AGP slot PCI slots May 7, 2003 PC I/O 3

What is all that stuff? Different motherboards support different CPUs, types of memories, and expansion options. The picture is an Asus A7V. The CPU socket supports AMD Duron and Athlon processors. There are three DIMM slots for standard PC100 memory. Using 512MB DIMMs, you can get up to 1.5GB of main memory. The AGP slot is for video cards, which generate and send images from the PC to a monitor. IDE ports connect internal storage devices like hard drives, CD-ROMs, and Zip drives. PCI slots hold other internal devices such as network and sound cards and modems. Serial, parallel and USB ports are used to attach external devices such as scanners and printers. May 7, 2003 PC I/O 4

How is it all connected? CPU Memory North Bridge chip AGP port Video card PCI bus PCI slots South Bridge chip Modem Sound card IDE controller Serial, parallel and USB ports Hard disks CD-ROM May 7, 2003 PC I/O 5

PCI Peripheral Component Interconnect is a synchronous 32-bit bus running at 33MHz, although it can be extended to 64 bits and 66MHz. The maximum bandwidth is about 132 MB/s. 33 million transfers/second 4 bytes/transfer = 132MB/s Cards in the motherboard PCI slots plug directly into the PCI bus. Devices made for the older and slower ISA bus standard are connected via a south bridge controller chip, in a hierarchical manner. North Bridge chip 33 MHz PCI bus PCI slots South Bridge chip May 7, 2003 PC I/O 6

Fist of the North Bridge The CPU and main memory exchange large amounts of data frequently. The 33MHz PCI bus is relatively slow for this, so a frontside bus is often dedicated to the CPU and main memory. Some newer systems use 64-bit frontside buses running 100-166MHz. By transferring data on both the positive and negative clock edges, the effective frequency increases to 200-333MHz. Other systems feature 16-bit buses running at 800MHz, and making four data transfers per clock cycle. All of this goes through the north bridge controller, which can get very hot. The north bridge in the A7V is cooled by a green heatsink. CPU 100-166MHz 64 Memory 64 North Bridge chip May 7, 2003 PC I/O 7

Frequencies CPUs actually operate at two frequencies. The internal frequency is the clock rate inside the CPU, which is what we ve been talking about all along. The external frequency is the speed of the processor bus, which limits how fast the CPU can transfer data. The internal frequency is usually a multiple of the external bus speed. A 2.66 GHz Pentium 4 might use a 533 MHz bus (533 5). An 2.167 GHz Athlon XP sits on a 166 MHz bus (166 13). Processors can often be overclocked to run faster than advertised. Some motherboards allow you to change the external bus frequency, the clock multiplier (e.g., 5 or 13), or both. This can cause problems with some devices or the CPU itself if you re not careful or if you overclock too much. May 7, 2003 PC I/O 8

Video cards are memory hogs Graphics cards need a lot of fast memory for high-resolution images. A 1024 768 resolution image in 32-bit color requires 3 MB of RAM. 1024 pixels/row 768 rows 4 bytes/pixel = 3 MB If the screen is refreshed at 75 Hz, this 3 MB image must be read 75 times per second. Games also use textures, which are images that get pasted onto shapes. Textures can each require 256 KB of memory or more. Chris Lattner, CS319 HW1 May 7, 2003 PC I/O 9

AGP In the old days video cards used PCI, but that involved a slow 33MHz bus with a lot of contention and a maximum transfer rate of 132MB/s. New machines include an Accelerated Graphics Port. The graphics card gets its own 32-bit, 66MHz path to the north bridge. With clock doubling (AGP 2x), transfer rates can go up to 528MB/s from the video card to main memory. The CPU and video card both need to access main memory quickly, so we still have possible contention problems. CPU Memory 64 North Bridge chip 32 AGP port Video card 800MB/s @ 100MHz 528MB/s @ 66MHz 2 May 7, 2003 PC I/O 10

External buses External buses can be much more convenient for end users. PCI, ISA and AGP devices must be attached inside the computer. This is difficult for some users, and laptops cannot even be opened. External buses also allow devices to be connected from further away. Some common external buses include serial and parallel connections, USB and Firewire. May 7, 2003 PC I/O 11

Serial and parallel connections A serial connection transmits data one bit at a time. A parallel port transmits multiple bits (typically 8) at a time. Although this can be faster, there are a couple of problems too. Thicker cables are needed to transmit more bits at once. This can be a hindrance for smaller devices like MP3 players. With many wires, interference becomes an issue. Special cables may be necessary for high-speed parallel connections. Delay or skew is also a problem, especially with longer external connections. All of the bits in a parallel transfer could arrive at slightly different times. The serial USB connector is the small one, and the parallel connector is the big one. May 7, 2003 PC I/O 12

USB The Universal Serial Bus is a newer asynchronous serial bus standard, with many advantages over older serial and parallel buses. The USB 1.1 standard has a bandwidth of 1.5 MB/s, which is enough for keyboards, mice and small home networks. The newewr USB 2.0 standard boosts speeds up to 60 MB/s, which works better for faster devices like CD-ROMs or hard drives, which can transfer at rates of 7-40 MB/s. The bus can be shared by up to 127 devices. As usual, more devices leads to more bus contention, but most personal computers have only a couple of USB peripherals. May 7, 2003 PC I/O 13

USB has several other advantages. USB is friendly It supports plug-and-play standards, so devices can be configured with software instead of flipping switches or setting jumpers. It also supports hot plugging, so you don t have to turn off a machine to add or remove a peripheral. This is important for portable devices that aren t always connected to a PC, like an MP3 player or a PDA. The cable and connectors are small, with just four wires. The cable transmits power! No more power cables, extension cords or electrical fires needed! May 7, 2003 PC I/O 14

Firewire Firewire, developed and trademarked by Apple, is very similar to USB. It has three main advantages. Most current implementations transfer up to 50MB/s, and the newest versions of Firewire can go twice as fast. No PC is needed! It s possible to connect two devices directly, which can make it easy to do things like copy data between two digital video camcorders. It provides more power to peripheral devices. These advantages make it attractive for video processing applications. May 7, 2003 PC I/O 15

Common bus themes Internal buses are taxed by fast devices that need large bandwidths, as well as many devices contending for the bus. Clock doubling increases transfer rates with the same bus width. Adding shorter and faster dedicated buses for high-bandwidth devices like the CPU, main memory and video cards reduces contention. External buses have some different requirements. Distances between devices are greater, so asynchronous serial data transfers are often faster and more reliable. Plug-and-play and hot plugging are important for end users. Numbers are always just general guidelines! Most buses never reach their theoretical maximum bandwidth, for instance. May 7, 2003 PC I/O 16

New bus trends Emerging bus standards like 3GIO, HyperTransport and RapidIO combine many ideas from previous bus designs. Serial connections avoid delay skews and interference, can run at high speeds, and are less expensive to manufacture. Using multiple buses or moving to hub or switch organizations can reduce contention. Data from several devices can be multiplexed onto a bus, much like packets on a network. Thus, many devices can transmit data at once, instead of having to wait for previous transfers to complete. New features like error detection, quality-of-service, and power saving are also important for applications like servers, real-time broadcasting, and embedded systems. System bus CPU Memory Hard disks CD-ROM Network Display May 7, 2003 PC I/O 17

Instant replay The semester was split into roughly three parts. The first third covered instruction set architectures the connection between software and hardware. In the middle of the course we discussed processor design. We focused on pipelining, which is one of the most important ways of improving processor performance. Finally we talked about fast and large memory systems, I/O, and how to connect everything together. We also introduced many performance metrics to estimate the actual benefits of all of these fancy designs. Processor Memory Input/Output May 7, 2003 PC I/O 18

Some recurring themes There were several recurring themes throughout the semester. Instruction set and processor designs are intimately related. Parallel processing can often make systems faster. Amdahl s Law quantifies performance limitations. Hierarchical designs combine different parts of a system. Hardware and software depend on each other. May 7, 2003 PC I/O 19

Instruction sets and processor designs The MIPS instruction set was designed for pipelining. All instructions are the same length, to make instruction fetch and jump and branch address calculations simpler. Opcode and operand fields appear in the same place in each of the three instruction formats, making instruction decoding easier. Only relatively simple arithmetic and data transfer instructions are supported. These decisions have multiple advantages. They lead to shorter pipeline stages and higher clock rates. They result in simpler hardware, leaving room for other performance enhancements like forwarding, branch prediction and on-die caches. May 7, 2003 PC I/O 20

Parallel processing One way to improve performance is to do more processing at once. There were several examples of this in our CPU designs. Multiple functional units can be included in a datapath to let single instructions execute faster. For example, we can calculate a branch target while reading the register file. Pipelining allows us to overlap the executions of several instructions. Superscalar CPUs permit parallel execution of entire instructions. Memory and I/O systems also provide many good examples. A wider bus can transfer more data per clock cycle. Memory can be split into banks that are accessed simultaneously. Similar ideas may be applied to hard disks, as with RAID systems. A direct memory access controller performs I/O operations while the CPU does compute-intensive tasks instead. May 7, 2003 PC I/O 21

Amdahl s Law Performance is limited by the slowest component of the system. We ve seen this in regard to cycle times in our CPU implementations. Single-cycle clock times are limited by the slowest instruction. Pipelined cycle times depend on the slowest individual stage. Amdahl s Law also holds true outside the processor itself. Slow memory or bad cache designs can hamper overall performance. I/O performance is also becoming increasingly important. May 7, 2003 PC I/O 22

Hierarchical designs Hierarchies separate fast and slow parts of a system, and minimize the interference between them. Caches are fast memories which speed up access to frequently-used data and reduce traffic to slower main memory. Buses can also be split into several levels, allowing higher-bandwidth devices like the CPU, memory and video card to communicate without affecting or being affected by slower peripherals. May 7, 2003 PC I/O 23

Architecture and software Computer architecture plays a vital role in many areas of software. Compilers are critical to achieving good performance. They must take full advantage of a CPU s instruction set. Optimizations can reduce stalls and flushes, or arrange code and data accesses for optimal use of system caches. Operating systems interact closely with hardware. They should take advantage of CPU features like support for virtual memory and I/O capabilities for device drivers. The OS handles exceptions and interrupts together with the CPU. Demanding applications rely on advanced system architectures. The latest multimedia, database and supercomputing applications all benefit from modern architectures. Consumer devices such as cell phones and Gameboys frequently have different requirements and need custom hardware and software. May 7, 2003 PC I/O 24

Wait! Don t stop now! Those wacky electrical engineering people also have architecture classes. ECE291 teaches Intel 8086 assembly language programming, and also presents some architectural concepts along the way. ECE312 is similar to CS232, but a little more advanced and with actual processor simulations. The CS department has several higher-level architecture classes. CS331 CS333 Embedded Systems Architectures and Software Computer System Organization There are other related classes in our department also. CS321 CS323 CS326 Programming Languages and Compilers Operating Systems Design Compiler Construction May 7, 2003 PC I/O 25

Good luck on your exams and have a great summer! May 7, 2003 PC I/O 26