310 likes | 412 Views
ECSE-2610 Computer Components & Operations (COCO). Today: General Course Information First Hour : Introduction to Design Section 1.1 of Katz’s Textbook In-class Activity #1 Second Hour : Digital Systems Section 1.2 of Katz In-class Activity #2. Lectures (DCC 308) twice a week
E N D
ECSE-2610Computer Components & Operations (COCO) • Today: • General Course Information • First Hour: Introduction to Design • Section 1.1 of Katz’s Textbook • In-class Activity #1 • Second Hour: Digital Systems • Section 1.2 of Katz • In-class Activity #2
Lectures (DCC 308) twice a week First hour: Lecture + in-class activity Second hour: Lecture + in-class activity For each class, need to Read ahead Bring the Katz textbook 2-hr Studio sessions (JEC 6309/6314) once a week. Points for advance preparation! All course material and info is on WebCT Go to RPINFO, Click on WebCT courses, ECSE Dept, COCO. Login ID same as RCS Initial password is your birthdate in “mmddyy” format. Change it! Adds, Drops, Section Changes… Contact Ms. Jeanne Denue for all administrative matters JEC 6049, Phone: 276 - 6313 Course Information
PCs Laptop computer smartcards Mainframe/supercomputer Router CRT projector Router printer Router Television Scanner Data PDA Telephone Fax The Digital World
Information Processing Systems, especially computers, are driving the world economy. The Internet is changing the way we communicate, shop, learn, invest, and entertain ourselves. This is an amazingly fast moving business!! Processors double in speed every 18 months The Internet doubles in size every year Computers are the most amazing and complex things ever built by mankind The Intel Pentium III has 28 million transistors It runs at 1.3 billion cycles per second The Digital World COCO is about: 1. Computer building blocks 2. How the building blocks are assembled to build the computer
Sheer Complexity Intel Pentium III Chip • 28 million transistors • 1.3 billion cycles/sec clock • Just one part of a computer • Overall, a computer can have a billion transistors. The Design Process is a systematic way to cope with all this complexity.
Basic Ideas • To design is to represent • Divide and conquer • Successive Refinement • Use Math Tools: • Combinational Logic • Sequential Logic • Use Software tools
N E W N - S E - W S Traffic Signal Example Lights for N & S are the same, call them N-S Similarly, we have E-W
N E W N - S E - W S What the System Does • Cycles through the sequence GREEN-YELLOW-RED • N-S and E-W never GREEN or YELLOW at the same time • GREEN stays on for 45 seconds, YELLOW for 15, RED for 60
N E W N - S E - W S System Requirements • speed: compute changes in under 100 ms • power: consume less than 20 watts • boardarea: implement in less than 20 square cm • cost: less than $20 to manufacture
Start N-S Green E-W Red after 45 seconds N-S Yellow E-W Red after 15 seconds N-S Red E-W Green after 45 seconds N-S Red E-W Yellow after 15 seconds "To Design Is to Represent" 1. English language specification not precise, can be ambiguous 2. Functional description more precise flow charts, program fragments 3. Structural description modules decomposed into simpler components 4. Physical description In terms of logic gates or transistors
Going from One Representation to Another Top Down: Complex functions replaced by more primitive functions Bottom Up: Build more and more complex assemblies out of smaller parts, respecting the rules of composition Rules of Composition: Electrical Rules Timing Rules
N-S Green N-S Green N-S Green N-S Yellow N-S Yellow N-S Yellow Start Traffic N-S Red N-S Red N-S Red E-W Green E-W Green E-W Green Subsystem E-W Yellow E-W Yellow E-W Yellow E-W Red E-W Red E-W Red 45 secs Light Start T imer Sequencer 15 secs 45 secs N-S Lights Start T imer Decoder Counter 15 secs E-W Lights Top-Down Design Example Refine Refine again
The Process of Building System E.g., a group of flip flops form a counter Modules groups of gates form flip flops, timers, sequencers etc. Gates a group of transistors form a gate Transistors
Functional Description Blocks Waveforms Truth Tables Boolean Algebra Gates Transistors Computer Simulation Computer Synthesis Tools Chip Design Rapid Prototyping Technologies Representations & Technologies Word description
Debugging the System What Can Go Wrong • Design Flaws • Design Flaws Implementation does not meet functional specification Logic design is incorrect (wrong function implemented) • Implementation Flaws • Implementation Flaws Individual modules function correctly but their compositions do not Misunderstanding of interface and timing behavior Wiring mistakes • Component Flaws
Debugging Methods Simulate before constructing Systematic testing Systematic testing Divide and conquer Divide and conquer Use lab Instruments, e.g., Logic Analyzers
Design Iteration Implementation Debug Design Initial concept: what is the function performed by the object? Constraints: How fast? How much area? How much cost? Refine abstract functional blocks into more concrete realizations Implementation Assemble primitives into more complex building blocks Composition via wiring Choose among alternatives to improve the design Debug Faulty systems: design flaws, composition flaws, component flaws Design to make debugging easier Hypothesis formation and troubleshooting skills Recap Of Design Process
Reference: Section 1.1 of Katz Textbook Bring the book to each class from now on If you are on the wait list, put “W” for the section number. Do Activity #1 Now
Digital Hardware Systems V V +5 +5 1 0 1 Time Time –5 –5 Analog: values vary over a broad range continuously Digital: only discrete values
Why Prefer Digital ? • Analog systems: • Limited precision, errors accumulate, drift • Interface circuits (i.e., sensors & actuators) often analog • Digital systems: • More accurate and reliable • Readily available as self-contained, easy to cascade building blocks • Computers use digital circuits internally
Binary Digital Systems • Just two discrete values: yes/on/5 volts/current flowing/magnetized North/true/"1" no/off/0 volts/no current flowing/magnetized South/false/"0" • Two kinds of systems: 1. Combinational: Described by Boolean Logic 2. Sequential: Described by State Machine Theory
X Y X AND Y X Y X OR Y X NOT X 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 Boolean Logic Operations Boolean variable: assume values 0 or 1 Boolean equation: also called “logic expression” If a logic expression is false, it has value 0 If a logic expression is true, it has value 1 Basic Boolean Operations: AND, OR, NOT
Start N-S Green E-W Red after 45 seconds N-S Yellow E-W Red after 15 seconds N-S Red E-W Green after 45 seconds N-S Red E-W Yellow after 15 seconds Traffic Light Example IF N-S is green AND E-W is red AND 45 seconds has elapsed since the last light change THEN we can advance to the next light configuration
LOGIC CIRCUIT NSG EWR NEXT T45 Variables, Equation, and Circuit IF N-S is green AND E-W is red AND 45 seconds has elapsed since the last light change THEN we can advance to the next light configuration Boolean variables: NSG (1 Green), EWR (1 Red), T45 (1 Elapsed), NEXT (1 Go to next) Logic Equation: NEXT = NSG AND EWR AND T45
LOGIC CIRCUIT NSG EWR NEXT T45 Combinational Logic • For this circuit, the outputs are a pure, instant function of the inputs • Combinations of inputs define the output • Also called “memoryless” logic
Start N-S Green E-W Red after 45 seconds N-S Yellow E-W Red after 15 seconds N-S Red E-W Green after 45 seconds N-S Red E-W Yellow after 15 seconds Traffic Light Example Combinational Logic cannot describe the entire system!! Why??
Start N-S Green E-W Red after 45 seconds N-S Yellow E-W Red after 15 seconds N-S Red E-W Green after 45 seconds N-S Red E-W Yellow after 15 seconds Sequential Logic Traffic light controller sequences infinitely through four states Inputs and outputs overlap Outputs depend on inputs and the entire history of execution! That is, the circuit has memory Circuit only needs a summary representation of the past: a limited number of unique configurations called state Need: storage elements to remember the current state
Logic Circuit X Z 1 1 X Z 2 - - 2 - - - - X Z n m Sequential Logic Block Diagram New component: storage elements to remember the current state Circuit has feedbackconnections outputandnewstate is a function of the inputsandtheoldstate So, the fed back outputs are the state! Feedback connection!
Other Inputs, Like Timer Signals Traffic Light New Traffic Light Controller Controller Configuration Current Traffic Light Controller Configuration Traffic Light Example
Clock Timer Alarms S T Next State Combinational Logic Output Combinational Logic Detailed Light A Control Signals T E Current State Output Logic Current State Next State Logic Traffic Light Details Current state mapped into control signals to change the lights and to start the event timers Binary Storage devices replaced by next state when the clock signal arrives Maps current state and alarm events into the next state IF controller in state N-S green, E-W red AND the 45 second timer alarm is on, THEN the next state becomes N-S yellow, E-W red at the next clock tick
Due: End of Class Today RETAIN THE LAST PAGE (#3)!! For Next Class: Bring Randy Katz Textbook Required Reading: Sec 1.1, 1.2, and 1.3 of Katz Omit Sec 1.3.5 - 1.3.7, and Sec 1.4 This reading is necessary for getting points in the Studio Activity! Studio Session #1 Tuesday/Wednesday Do Activity #2 Now