digitalLogic - Abstraction Levels of abstraction in a...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon
ENGR 100 1 Peter Chen Abstraction Aspects of a component that might be used in a larger design: • How do you use it? What is it supposed to do? behavior (or interface) • How does it work? What’s inside the box? implementation Abstraction makes it possible for humans to design and build complex systems • package together low-level pieces • use the package as a bigger building block in a more complex design • to use in larger design, only need to know a component’s behavior / interface (not its implementation) • similar to modular programming We use abstraction all the time. E.g. taking notes • lowest-level of abstraction: picking up pen, moving it across paper • middle-level of abstraction: call certain shapes “letters”. Now writing means to string letters together. • higher-level of abstraction: call combinations of letters “words”. Now writing means to string words together. Always possible to think at lower levels of abstraction, or at higher levels of abstraction Levels of abstraction in a computer system Digital logic systems are really complex • Intel Core i7 processor has 731 million transistors Levels of abstraction • applications and operating system (high-level language, e.g. C++) • applications and operating system (machine-level lan- guage) ------------------------- hardware/software boundary • computer processor • datapath and control • combinational and sequential logic • logic gates • transistors • solid-state physics We’ll start at a fairly low-level of abstraction (combinational and sequential logic) and build up • first goal: given a specific algorithm, be able to build a circuit that implements that algorithm • second goal: build a single circuit that can run any algo- rithm (i.e. a general-purpose computer)
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
ENGR 100 2 Peter Chen What can you do with bits? Group bits together into an array of bits • how many different values can be represented with 4 bits? • word = array of bits of default size (e.g., 4 bits) Communicate bits • a wire is used to communicate one bit between compo- nents • we say that the wire is communicating a “signal” Store bits and recall them later • store bits in “registers” Combinational logic Need more than communication and storage to do anything interesting with bits Compute output bit(s) based on input bit(s) E.g. Alice and Bob going to a party • two wires: A, B • A is 1 if Alice is going to the party; 0 otherwise • B is 1 if Bob should go to the party; 0 otherwise • build a circuit that computes whether Bob should go to the party or not, depending on what Alice is doing Bob goes if (and only if) Alice is going:
Background image of page 2
ENGR 100 3 Peter Chen Bob goes if Alice is NOT going: Schematic representation B’s value is computed based on A’s value • in mathematical terms, B is a function of A, or B=f(A) • if A’s value changes, B’s value will change a little later (propagation delay) Combinational logic: outputs depend only on the current com- bination of inputs.
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 02/14/2012 for the course ENGR 100-250 taught by Professor Peterchen during the Winter '12 term at University of Michigan.

Page1 / 34

digitalLogic - Abstraction Levels of abstraction in a...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online