Abstraction. Not real, not concrete A view that is removed from the reality Definitely has a "base" in reality – the "base" may be non-intuitive and not.

Slides:



Advertisements
Similar presentations
Switching circuits Composed of switching elements called “gates” that implement logical blocks or switching expressions Positive logic convention (active.
Advertisements

Computer Science 210 Computer Organization Introduction to Logic Circuits.
1 Seoul National University Logic Design. 2 Overview of Logic Design Seoul National University Fundamental Hardware Requirements  Computation  Storage.
David O’Hallaron Carnegie Mellon University Processor Architecture Logic Design Processor Architecture Logic Design
Random access memory Sequential circuits all depend upon the presence of memory. A flip-flop can store one bit of information. A register can store a single.
Henry Hexmoor1 Chapter 7 Henry Hexmoor Registers and RTL.
Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates Invitation to Computer Science, Java Version, Third Edition.
Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates Invitation to Computer Science, C++ Version, Third Edition.
Computer ArchitectureFall 2008 © August 20 th, Introduction to Computer Architecture Lecture 2 – Digital Logic Design.
Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates Invitation to Computer Science, C++ Version, Fourth Edition.
CS:APP CS:APP Chapter 4 Computer Architecture Control Logic and Hardware Control Language CS:APP Chapter 4 Computer Architecture Control Logic and Hardware.
16/07/2015CSE1303 Part B lecture notes 1 Hardware Implementation Lecture B17 Lecture notes section B17.
1 CHAPTER 4: PART I ARITHMETIC FOR COMPUTERS. 2 The MIPS ALU We’ll be working with the MIPS instruction set architecture –similar to other architectures.
CPSC 171 Introduction to Computer Science Boolean Logic, Gates, & Circuits.
CS 1308 – Computer Literacy and the Internet. It’s Not Magic  The goal of the next series of lectures is to show you exactly how a computer works. 
OCR GCSE Computing © Hodder Education 2013 Slide 1 OCR GCSE Computing Chapter 2: Binary Logic.
XOR and XNOR Logic Gates. XOR Function Output Y is TRUE if input A OR input B are TRUE Exclusively, else it is FALSE. Logic Symbol  Description  Truth.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
CSCI-235 Micro-Computers in Science Hardware Design Part I.
+ CS 325: CS Hardware and Software Organization and Architecture Combinational Circuits 1.
Logic Design Computer Architecture and Design Lecture 1.
Introduction to Digital Logic and Circuits EE 101, Fall 2015 University of Kentucky.
Fall 2012: FCM 708 Foundation I Lecture 2 Prof. Shamik Sengupta
1 Boolean Algebra & Logic Gates. 2 Objectives Understand the relationship between Boolean logic and digital computer circuits. Learn how to design simple.
HCL and ALU תרגול 10. Overview of Logic Design Fundamental Hardware Requirements – Communication: How to get values from one place to another – Computation.
1 Seoul National University Logic Design. 2 Overview of Logic Design Seoul National University Fundamental Hardware Requirements  Computation  Storage.
CSCI-100 Introduction to Computing Hardware Design Part I.
IT253: Computer Organization Lecture 7: Logic and Gates: Digital Design Tonga Institute of Higher Education.
4. Computer Maths and Logic 4.2 Boolean Logic Logic Circuits.
IT253: Computer Organization Lecture 9: Making a Processor: Single-Cycle Processor Design Tonga Institute of Higher Education.
Computer Architecture Carnegie Mellon University
CS 1308 – Computer Literacy and the Internet Building the CPU.
CS:APP3e CS:APP Chapter 4 Computer Architecture Logic Design CS:APP Chapter 4 Computer Architecture Logic Design CENG331 - Computer Organization Murat.
Logic Design / Processor and Control Units Tony Diep.
Concepts of Engineering and Technology Copyright © Texas Education Agency, All rights reserved.
LECTURE 4 Logic Design. LOGIC DESIGN We already know that the language of the machine is binary – that is, sequences of 1’s and 0’s. But why is this?
REGISTER TRANSFER LANGUAGE (RTL) INTRODUCTION TO REGISTER Registers1.
Appendix C Basics of Logic Design. Appendix C — Logic Basic — 2 Logic Design Basics §4.2 Logic Design Conventions Objective: To understand how to build.
Computer Architecture & Operations I
Invitation to Computer Science, C++ Version, Fourth Edition
GCSE OCR Computing A451 Binary logic Computing hardware 6.
Everything is a number Everything in a computer memory and on storages is a number. Number  Number Characters  Number by ASCII code Sounds  Number.
REGISTER TRANSFER LANGUAGE (RTL)
Assembly Language (CSW 353)
Random access memory Sequential circuits all depend upon the presence of memory. A flip-flop can store one bit of information. A register can store a single.
Lecture 12 Logic Design Review & HCL & Bomb Lab
Random access memory Sequential circuits all depend upon the presence of memory. A flip-flop can store one bit of information. A register can store a single.
CSCI-100 Introduction to Computing
CS140 Lecture 03: The Machinery of Computation: Combinational Logic
Seoul National University
Fundamentals & Ethics of Information Systems IS 201
Invitation to Computer Science, Java Version, Third Edition
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
Computer Science 210 Computer Organization
Fundamentals of Computer Science Part i2
Digital Logic Structures Logic gates & Boolean logic
Week 7: Gates and Circuits: PART II
Digital Logic.
Logic Gates.
CS Chapter 3 (3A and ) – Part 2 of 5
Adders.
Recall: ROM example Here are three functions, V2V1V0, implemented with an 8 x 3 ROM. Blue crosses (X) indicate connections between decoder outputs and.
Digital Logic.
Combinational Circuits
Random access memory Sequential circuits all depend upon the presence of memory. A flip-flop can store one bit of information. A register can store a single.
XOR Function Logic Symbol  Description  Truth Table 
Digital Circuits and Logic
Registers Today we’ll see some common sequential devices: counters and registers. They’re good examples of sequential analysis and design. They are also.
Computer Systems An Introducton.
Introduction to the Architecture of Computers
Presentation transcript:

Abstraction

Not real, not concrete A view that is removed from the reality Definitely has a "base" in reality – the "base" may be non-intuitive and not readily apparent which feature(s) are shown in the abstraction – different abstractions of the same base may seem completely different

Big Idea: Abstractions Hide Complexity!

Layers of Abstraction in a Computer

Binary Representations Electronic Implementation Electronic Implementation – Easy to store with bistable elements – Reliably transmitted on noisy and inaccurate wires 0.0V 0.5V 2.8V 3.3V 010

Now What? So we can represent a 1 and a 0 with hardware How are we supposed to do anything with a 1 and a 0?

Let's combine them!

Non-active gate

Active gate

Boolean logic Boolean logic: Operates on True (1) and False (0) Operators: AND, OR, NOT Boolean expression, truth table, combinational circuit All three are equivalent

Truth table: Give output for all input combinations 1 boolean input variable, how many values? 2 boolean input variables, how many combinations of values? 3 boolean input variables? K boolean inputs variables?

Truth table practice ABCOut

Converting a Truth Table to a Circuit

Create a circuit / table for the output of addition A + B = ?

A 1-bit adder with carry C in = carry in C out = carry out S = sum for 1-bit

Key Hardware Abstractions Binary System – hides the voltage details of the electronic signal – uses multiple signal paths to group 0s and 1s – base 2 number – Allows us to represent many different data forms, including numbers, text, pictures with just 2 states: 1's and 0's Boolean Logic – Allows us to represent the logic used in transistors and electronic circuits/gates

y_game_page.htm

Modular design for bit-addition

32-bit adder Connect 32 1-bit adders to each other, with C out from one step becoming C in for the next step We can now add really large numbers together! Not so impressive, but here is what is impressive: IADDL $64, %eax ADDL %eax, %edx (Intel processor instructions to add 64 to the register named eax and then use eax as an input to the next add instruction which adds the contents of eax and edx and stores the result in edx)

Key Hardware Abstraction Instruction Set – Allows us to represent complicated boolean logic that combines many boolean inputs as a single instruction

Key Hardware Abstraction Register – Allows us to store the result of one instruction for use in a later instruction

Abstraction Layer Computer Architecture Combinational Logic Compute Boolean functions of inputs Continuously respond to input changes Operate on data and implement control Storage Elements Store bits Addressable memories Non-addressable registers All abstracted nicely by a nifty Instruction Set! Register file Register file A B W dstW srcA valA srcB valB valW Clock ALUALU fun A B MUX 0 1 = Clock

But wait... What happened to all of the other "pieces" of a computer?

One last Key Abstraction Virtual Memory – All program input and output can be done with a single giant memory block that is byte addressable – The memory block is not real though, it is an abstraction! Different addresses of the block are mapped to different components in the system (main memory, DVD drive, hard drive, wireless network card, video card, etc.)

The power of abstraction MOVL %eax, $100 (writes the contents of register eax to memory location 100, which could be mapped to a file on a USB disk drive, or to a pixel in the upper left of your screen, or to any device on your computer, including a buffer on your wireless network card to be sent as a text message to your friend!)

Role Play Game activity time!