Instructor: Justin Hsia 6/18/2012Summer 2012 -- Lecture #11 CS 61C: Great Ideas in Computer Architecture Course Introduction, Number Representation.

Slides:



Advertisements
Similar presentations
CEG3420 L1 Intro.1 Copyright (C) 1998 UCB CEG3420 Computer Design Lecture 1 Philip Leong.
Advertisements

Intro to CS – Honors I Representing Numbers GEORGIOS PORTOKALIDIS
Microprocessors General Features To be Examined For Each Chip Jan 24 th, 2002.
Microprocessor Dr. Rabie A. Ramadan Al-Azhar University Lecture 1.
CS 61C L02 Number Representation (1) Garcia, Spring 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C.
COMP3221: Microprocessors and Embedded Systems--Lecture 1 1 COMP3221: Microprocessors and Embedded Systems Lecture 3: Number Systems (I)
COMP3221 lec05-numbers-I.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lecture 5: Number Systems – I
CS 61C L02 Number Representation (1)Harvey / Wawrzynek Fall 2003 © UCB 8/27/2003  Brian Harvey ( John Wawrzynek  (Warznek) (
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
CS61C L23 Synchronous Digital Systems (1) Garcia, Fall 2011 © UCB Lecturer SOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C.
Assembly Language and Computer Architecture Using C++ and Java
CS 61C L02 Number Representation (1) Garcia, Spring 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C.
Computer Organization: Introduction Spring 2006 Jen-Chang Liu ( )
1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the.
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify.
+ CS 325: CS Hardware and Software Organization and Architecture Integers and Arithmetic Part 4.
CS3350B Computer Architecture Winter 2015 Introduction Marc Moreno Maza
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See: P&H Chapter 2.4, 3.2, B.2, B.5, B.6.
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify.
CENG311 Computer Architecture Kayhan Erciyes. CS231 Assembly language and Digital Circuits Instructor:Kayhan Erciyes Office:
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
CENG 311 Machine Representation/Numbers
Computers Organization & Assembly Language
CSU0014 Assembly Languages Homepage: Textbook: Kip R. Irvine, Assembly Language for Intel-Based Computers,
Summer 2014 Chapter 1: Basic Concepts. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, Chapter Overview Welcome to Assembly Language.
Assembly Language for x86 Processors 7th Edition
1 CS37: Computer Architecture Spring Term, 2004 Instructor: Kate Forbes Riley Teaching Assistant:
CS-2710 Computer Organization Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick – CS-2710 info syllabus, homework, labs… –
CS61C L23 Synchronous Digital Systems (1) Garcia, Fall 2011 © UCB Senior Lecturer SOE Dan Garcia inst.eecs.berkeley.edu/~cs61c.
Computing Systems Basic arithmetic for computers.
Instructor: Justin Hsia 6/24/2013Summer Lecture #11 CS 61C: Great Ideas in Computer Architecture Course Introduction, Number Representation.
EET 4250: Chapter 1 Computer Abstractions and Technology Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Irwin.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
CS/ECE 3330 Computer Architecture Kim Hazelwood Fall 2009.
The Beauty and Joy of Computing Lecture #3 : Creativity & Abstraction UC Berkeley EECS Lecturer Gerald Friedland.
CPU Internal memory I/O interface circuit System bus
BR 8/99 Binary Numbers Again Recall than N binary digits (N bits) can represent unsigned integers from 0 to 2 N bits = 0 to 15 8 bits = 0 to 255.
(1) ECE 3056: Architecture, Concurrency and Energy in Computation Lecture Notes by MKP and Sudhakar Yalamanchili Sudhakar Yalamanchili (Some small modifications.
1 CPRE210: Introduction to Digital Design Instructor –Arun K. Somani –Tel: – –Office Hours: MWF 10:00-11:00 Teaching Assistant.
CS 61C Great Ideas in Computer Architecture (a.k.a. Machine Structures) Lecture 1: Course Introduction Instructors: Senior Lecturer SOE Dan Garcia (call.
Chapter 1 — Computer Abstractions and Technology — 1 The Computer Revolution Progress in computer technology – Underpinned by Moore’s Law Makes novel applications.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
Kavita Bala CS 3410, Spring 2014 Computer Science Cornell University.
 Lecture 2 Processor Organization  Control needs to have the  Ability to fetch instructions from memory  Logic and means to control instruction sequencing.
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
Review of the numeration systems The hardware/software representation of the computer and the coverage of that representation by this course. What is the.
Instructor: Senior Lecturer SOE Dan Garcia CS 61C: Great Ideas in Computer Architecture Pipelining Hazards 1.
Computer Organization Yasser F. O. Mohammad 1. 2 Lecture 1: Introduction Today’s topics:  Why computer organization is important  Logistics  Modern.
Introduction Computer Organization Spring 1436/37H (2015/16G) Dr. Mohammed Sinky Computer Architecture
New-School Machine Structures Parallel Requests Assigned to computer e.g., Search “Katz” Parallel Threads Assigned to core e.g., Lookup, Ads Parallel Instructions.
CS4100: 計算機結構 Course Outline 國立清華大學資訊工程學系 九十九年度第二學期.
ECE 3056: Architecture, Concurrency and Energy in Computation
Microprocessor Systems Design I
Stateless Combinational Logic and State Circuits
Microprocessor Systems Design I
COSC 3406: Computer Organization
March 2006 Saeid Nooshabadi
CS 61C Great Ideas in Computer Architecture (a. k. a
T Computer Architecture, Autumn 2005
CS 61C: Great Ideas in Computer Architecture Floating Point Arithmetic
CS 110 Computer Architecture (a. k. a
Introduction to Microprocessor Programming
Review In last lecture, done with unsigned and signed number representation. Introduced how to represent real numbers in float format.
Guest Lecturer: Justin Hsia
Lecture 1 Class Overview
Presentation transcript:

Instructor: Justin Hsia 6/18/2012Summer Lecture #11 CS 61C: Great Ideas in Computer Architecture Course Introduction, Number Representation

Introducing Your Instructor I’m not a professor – call me Justin Upbringing: Born and raised in the Bay Education: I bleed Blue and Gold (Go Bears!) – B.S. ME, B.S. EECS, M.S. EECS – Ph.D. EECS (expected 2014) in CIR Research: Synthetic Biology Teaching: EE128 (Fa08, Fa09), CS61C (Su11) Interests: 6/18/2012Summer Lecture #12

Agenda Course Overview Administrivia Number Representation – Number Bases – Signed vs. Unsigned – Sign Extension 6/18/2012Summer Lecture #13

Mainframe Era: 1950s s 6/18/2012Summer Lecture #14 Enabling Tech: Computers Big Players: “Big Iron” (IBM, UNIVAC) Cost: $1M, Target: Businesses Using: COBOL, Fortran, timesharing OS Processor (CPU) I/O

Minicomputer Era: 1970s 6/18/2012Summer Lecture #15 Enabling Tech: Integrated circuits Big Players: Digital, HP Cost: $10k, Target: Labs & universities Using: C, UNIX OS

PC Era: Mid 1980s - Mid 2000s 6/18/2012Summer Lecture #16 Enabling Tech: Microprocessors Big Players: Apple, IBM Cost: $1k, Target: Consumers (1/person) Using: Basic, Java, Windows OS

Post-PC Era: Late 2000s - ??? 6/18/2012Summer Lecture #17 Enabling Tech: Wireless networking, smartphones Big Players: Apple, Nokia, … Cost: $500, Target: Consumers on the go Using: Objective C, Android OS Personal Mobile Devices (PMD):

Post-PC Era: Late 2000s - ??? 6/18/2012Summer Lecture #18 Enabling Tech: Local Area Networks, broadband Internet Big Players: Amazon, Google, … Target: Transient users or users who cannot afford high- end equipment Cloud Computing:

Post-PC Era: Late 2000s - ??? 6/18/2012Summer Lecture #19 Datacenters and Warehouse Scale Computers (WSC): Enabling Tech: Local Area Networks, cheap servers Cost: $200M clusters + maintenance costs Target: Internet services and PMDs Usages: MapReduce, Ruby on Rails

Advanced RISC Machine (ARM) instruction set inside the iPhone 6/18/2012Summer Lecture #110 You will learn how to design and program a related RISC computer: MIPS

iPhone Innards 6/18/2012Summer Lecture #111 1 GHz ARM Cortex A8 You will learn about multiple processors, data level parallelism, caches in 61C I/O Processor Memory

What is CS 61C about? It is about the hardware-software interface – What does the programmer need to know to achieve the highest possible performance? Use low-level programming languages (closer to underlying hardware) – Allows us to talk about key hardware features in higher-level terms – Allows programmers to harness underlying hardware parallelism for high performance 6/18/2012Summer Lecture #112

Machine Structures 6/18/2012Summer Lecture #113 CS 61C I/O systemProcessor Compiler Operating System (Mac OSX) Application (ex: browser) Digital Design Circuit Design Instruction Set Architecture Datapath & Control Transistors Memory Hardware Software Assembler

New-School: Parallelism 6/18/2012Summer Lecture #1 Smart Phone Warehouse Scale Computer Leverage Parallelism & Achieve High Performance Core … Memory Input/Output Computer Core Parallel Requests Assigned to computer e.g. search “Katz” Parallel Threads Assigned to core e.g. lookup, ads Parallel Instructions > 1 one time e.g. 5 pipelined instructions Parallel Data > 1 data one time e.g. add of 4 pairs of words Hardware descriptions All gates functioning in parallel at same time Software Hardware Cache Memory Core Instruction Unit(s) Functional Unit(s) A 0 +B 0 A 1 +B 1 A 2 +B 2 A 3 +B 3 Logic Gates 14

Six Great Ideas in Computer Architecture 1.Layers of Representation/Interpretation 2.Moore’s Law 3.Principle of Locality/Memory Hierarchy 4.Parallelism 5.Performance Measurement & Improvement 6.Dependability via Redundancy 6/18/2012Summer Lecture #115

Anything can be represented as a number! e.g. words, colors, data, logic, and instructions Great Idea #1: Levels of Representation/Interpretation 6/18/2012Summer Lecture #116 lw $t0, 0($2) lw $t1, 4($2) sw $t1, 0($2) sw $t0, 4($2) Higher-Level Language Program (e.g. C) Assembly Language Program (e.g. MIPS) Machine Language Program (MIPS) Hardware Architecture Description (e.g. block diagrams) Compiler Assembler Machine Interpretation temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; Logic Circuit Description (Circuit Schematic Diagrams) Architecture Implementation

Great Idea #2: Moore’s Law 6/18/2012Summer Lecture #117 Predicts: Transistor count per chip doubles every 2 years Gordon Moore Intel Cofounder B.S. Cal 1950 # of transistors on an integrated circuit (IC) Year:

Great Idea #3: Principle of Locality/ Memory Hierarchy 6/18/2012Summer Lecture #118 Trade-off in speed and cost vs. capacity! Increasing distance from application/user

Great Idea #4: Parallelism 6/18/2012Summer Lecture #119

Great Idea #5: Performance Measurement and Improvement Allows direct comparisons of architectures and quantification of improvements It is all about time to finish (latency) – Includes both setup and execution. Match application and hardware to exploit: – Locality – Parallelism – Special hardware features, like specialized instructions (e.g. matrix manipulation) 6/18/2012Summer Lecture #120

Aside: Amdahl’s Law 6/18/2012Summer Lecture #121 Gene Amdahl Computer Pioneer Ph.D. Wisconsin 1952

Great Idea #6: Dependability via Redundancy Redundancy so that a failing piece doesn’t make the whole system fail 6/18/2012Summer Lecture # =2 1+1=1 1+1=2 2 of 3 agree FAIL!

Great Idea #6: Dependability via Redundancy Applies to everything from datacenters to storage to memory – Redundant datacenters so that can lose 1 datacenter but Internet service stays online – Redundant disks so that can lose 1 disk but not lose data (Redundant Arrays of Independent Disks/RAID) – Redundant memory bits of so that can lose 1 bit but no data (Error Correcting Code/ECC Memory) Increasing transistor density reduces the cost of redundancy 6/18/2012Summer Lecture #123

Agenda Course Overview Administrivia Number Representation – Number Bases – Signed vs. Unsigned – Sign Extension 6/18/2012Summer Lecture #124

Course Information This information can also be found on the course syllabus Website: Instructor: Justin Hsia Teaching Assistants: Brandon Lee, Paul Ruan, Raphael Townshend, Sung Roa Yoon Textbooks: average 15 pages of reading/week – Patterson & Hennessey, Computer Organization and Design, Revised 4 th Edition (not ≤ 3 rd Edition, not Asian 4 th Edition) – Kernighan & Ritchie, The C Programming Language, 2 nd Edition – Barroso & Holzle, The Datacenter as a Computer, 1 st Edition (free!) Piazza ( is the class forumhttp://piazza.com – Every announcement, discussion, clarification happens there 6/18/2012Summer Lecture #125

Course Assignments and Grading Homework (10%) Labs (10%) Projects (30%) 1.MIPS Instruction Set Simulator (C) 2.Performance Tuning of a Parallel Application -- Matrix Multiply using cache blocking, SIMD, MIMD (OpenMP) 3.Computer Processor Pipelined Design (Logisim) Midterm (20%): Friday, July 9am Final (25%): Thursday, August 9am Participation and Altruism (5%) 6/18/2012Summer Lecture #126

Projects 6/18/2012Summer Lecture #1 Smart Phone Warehouse Scale Computer Leverage Parallelism & Achieve High Performance Core … Memory Input/Output Computer Core Parallel Requests Assigned to computer e.g. search “Katz” Parallel Threads Assigned to core e.g. lookup, ads Parallel Instructions >1 one time e.g. 5 pipelined instructions Parallel Data > 1 data one time e.g. add of 4 pairs of words Hardware descriptions All gates functioning in parallel at same time Software Hardware Cache Memory Core Instruction Unit(s) Functional Unit(s) A 0 +B 0 A 1 +B 1 A 2 +B 2 A 3 +B 3 Logic Gates 27 MapReduce Project 1: MIPS Emulator Project 3: CPU Design Project 2: Matrix Multiply

Participation and Altruism Participation – Asking great questions in discussion and lecture and making it more interactive – Attending office hours, completing all assignments (on time is a plus!) Altruism – Helping others in lab, discussion, and on Piazza This is a subjective score (internal) – Reward for helping, not a penalty for not helping – The point is to encourage class-wide learning! 6/18/2012Summer Lecture #128

Late Policy – Slip Days Assignments due at 11:59:59pm (timestamped) You have 3 slip day tokens – Token used for every day your project or homework is late (even by a second) – Keep in mind that projects are worth more After tokens, it’s 33% deducted per day. – No credit if more than 2 days late No need for sob stories, just use a slip day! 6/18/2012Summer Lecture #129

Pedagogic Comments Deep learning does not happen in lecture – Learn by doing: labs, discussions, and assignments Engaging the material outside of class and lab is critical to your success – Study groups, testing out your own questions – Talking with others helps solidify your own understanding You learn best from your mistakes – Don’t be afraid to be wrong; only you lose if you remain silent 6/18/2012Summer Lecture #130

Peer Instruction Increase real-time learning in lecture, test understanding of concepts vs. details mazur- Multiple choice question at end of a “segment” – 1 minute to decide yourself – 2 minutes in pairs to reach consensus – Learn by teaching! Save flash cards for voting (get in discussion section) 6/18/2012Summer Lecture #

To offer a dependable system, you must use components that almost never fail ☐ Memory hierarchy goal is to look as fast as most expensive memory, as big as cheapest ☐ Moore’s Law means computers will continue to get put twice as many transistors/chip every ≈ 2 years without fail ☐ ☐ 32 Question: Which statement is FALSE about Great Ideas in Computer Architecture?

Comments on Summer Version Summer is EXTREMELY hectic! – Double the standard pace – Less time to synthesize material – Falling behind just a little can be fatal No MapReduce project Starts deceptively slowly (first two weeks) – If the course begins to overwhelm you, don’t wait, contact me or your TA immediately! 6/18/2012Summer Lecture #133

Policy on Assignments and Independent Work With the exception of Project 2, all homework and projects are to be YOUR work and your work ALONE. You are encouraged to discuss your assignments with other students (ideas), but we expect that what you hand in is yours. It is NOT acceptable to copy solutions from other students. It is NOT acceptable to copy (or start your) solutions from the Web. 6/18/2012Summer Lecture #134

Policy on Assignments and Independent Work We have tools and methods, developed over many years, for detecting this. You WILL be caught, and the penalties WILL be severe. The cheater receives -100% and the enabler receives 0% for the assignment. Letter to your university record documenting the incidence of cheating. – Possible automatic F in the course People are caught every semester of 61C 6/18/2012Summer Lecture #135

Hooked on Gadgets Gadgets reduce focus and learning – Bursts of info (e.g. s, IMs, etc.) are addictive – Heavy multitaskers have more trouble focusing and shutting out irrelevant information – This applies to all aspects of life, not just lecture NO audio allowed (mute phones & computers) Non-disruptive use okay – Stick to side and back seats – Stop/move if asked by fellow student 6/18/2012Summer Lecture #136

Architecture of a Lecture 6/18/2012Summer Lecture #137 Attention Time (minutes) Administrivia + stretch break Summary + Bonus Tech break + GTKYS Full

Last Things… Discussions and labs start immediately – Yes, that means today! – Switching sections: if you find another 61C student willing to swap discussion AND lab, talk to your TAs HW0 due this Tuesday, June 19 th – Find a small digital image of yourself HW1 due this Sunday, June 24 th No Justin OH this week (presenting research) 6/18/2012Summer Lecture #138

Get To Know Your Staff Category: Cal 6/18/2012Summer Lecture #139

Agenda Course Overview Administrivia Number Representation – Number Bases – Signed vs. Unsigned – Sign Extension 6/18/2012Summer Lecture #140

Number Representation Great Idea #1: Levels of Interpretation/Representation Inside a computer, everything stored as a sequence of 0’s and 1’s (bits) – Even this is an abstraction! How do we represent numbers in this format? – Let’s start with integers 6/18/2012Summer Lecture #141

Number Bases Key terminology: digit (d) and base (B) Value of i-th digit is d×B i where i starts at 0 and increases from right to left – n digit number d n-1 d n-2... d 1 d 0 – value = d n-1  B n-1 + d n-2  B n d 1  B 1 + d 0  B 0 In base B, each digit is one of B possible symbols Base is notated either as a prefix or subscript 6/18/2012Summer Lecture #142

Commonly Used Number Bases Decimal (base 10) – Symbols: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 – Notation: 9472 ten = 9472 Binary (base 2) – Symbols: 0, 1 – Notation: two = 0b Hexadecimal (base 16) – Symbols: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F – Notation: 2A5D hex = 0x2A5D 6/18/2012Summer Lecture #143

Number Base Examples Examples: 9472 ten = x x100+ 7x10+ 2x1 9x x x x ten =2x x x x ten =2500 hex 0xA15 =0b /18/2012Summer Lecture #

Bits Can Represent Anything n digits in base B can represent at most B n things! – Each of the n digits is one of B possible symbols – Have more things? Add more digits! Example: Logical values (1 bit) – 0 is False, 1 is True Example: Characters – 26 letters require 5 bits (2 5 = 32 > 26) Example: Students in this class (7 bits) For convenience, can group into nibbles (4 bits) and bytes (8 bits) 6/18/2012Summer Lecture #145

So What Number Is It Anyway? Here we are using binary bit patterns to represent numbers – Strictly speaking they are called numerals and have no meaning until you interpret them – Is CAB a word (taxi) or a number (3243 ten )? – Is 0x a number or a color (RGB)? Keep in mind that the same bit pattern will mean different things depending on how you choose to interpret it 6/18/2012Summer Lecture #146

Unsigned Integers two = 0 ten two = 1 ten two = 2 ten two = 2,147,483,645 ten two = 2,147,483,646 ten two = 2,147,483,647 ten two = 2,147,483,648 ten two = 2,147,483,649 ten two = 2,147,483,650 ten two = 4,294,967,293 ten two = 4,294,967,294 ten two = 4,294,967,295 ten 6/18/2012Summer Lecture #147 Represent non-negative (unsigned) integers using base 2:

Overflow Numbers really have  digits, but hardware can only store a finite number of them (fixed) – Usually ignore leading zeros – Leftmost is most significant bit (MSB) – Rightmost is least significant bit (LSB) Overflow is when the result of an arithmetic operation can’t be represented by the hardware bits 6/18/2012Summer Lecture #148 0b unsigned

Signed Integers Programs often need to deal with negative numbers, so how do we encode these? n bits can represent 2 n different things – Ideally, want the range evenly split between positive and negative Can we encode them in such a way that we can use the same hardware regardless of whether the numbers are signed or unsigned? 6/18/2012Summer Lecture #149

Sign and Magnitude MSB gives sign: 0 is positive, 1 is negative, rest of bits treated as unsigned (magnitude) – Examples: 0b = -2, 0b = 7 Two zeros! 0b00…0 (+0) and 0b10…0 (-0) Cannot reuse unsigned hardware 6/18/2012Summer Lecture #150

One’s Complement To negate: complement the bits – Example: +7 = 0b , -7 = 0b Leading 0’s if positive, leading 1’s if negative Incrementing the numeral nearly always increments the number, with one exception: – The two zeros: 0b00…000 and 0b11…111 6/18/2012Summer Lecture #151

Two’s Complement Minor modification of one’s complement – “Shift” representation of negative numbers down by one to remove duplicate zero Using this representation, incrementing the numeral always increments the integer To negate: complement the bits and add 1 6/18/2012Summer Lecture # Increasing numeral These “shifted” by one

Two’s Complement two = 0 ten two = 1 ten two = 2 ten two = 2,147,483,645 ten two = 2,147,483,646 ten two = 2,147,483,647 ten two = –2,147,483,648 ten two = –2,147,483,647 ten two = –2,147,483,646 ten two = –3 ten two = –2 ten two = –1 ten 6/18/2012Summer Lecture #153 Sign Bit

Two’s Complement Summary Used by all modern hardware Roughly evenly split between positive and negative – One more negative # because positive side has 0 Can still use MSB as sign bit To negate: Flip the bits and add one – Example: +7 = 0b , -7 = 0b /18/2012Summer Lecture #154

Suppose we had 4 bits. What integers can be represented in two’s complement? a) -15 to +15 b) -7_ to +7 c) -0_ to +15 d) -8_ to +7 e)-16 to +15  need 5 bits  one’s complement  unsigned  two’s complement  need 5 bits Two’s Complement Review 6/18/2012Summer Lecture #155

Sign Extension Want to represent the same number using more bits than before – Easy for positive #s (add leading 0’s), more complicated for negative #s – Sign and magnitude: add 0’s after the sign bit – One’s complement: copy MSB – Two’s complement: copy MSB Example: – Sign and magnitude: 0b 11 = 0b 1001 – One’s/Two’s complement: 0b 11 = 0b /18/2012Summer Lecture #156

Summary (1/2) CS61C: Learn 6 Great Ideas in Computer Architecture to enable high performance programming via parallelism 1.Layers of Representation/Interpretation 2.Moore’s Law 3.Principle of Locality/Memory Hierarchy 4.Parallelism 5.Performance Measurement and Improvement 6.Dependability via Redundancy 6/18/2012Summer Lecture #157

Summary (2/2) Number Representation: How to represent positive and negative integers using binary – Unsigned: Interpret numeral in base 2 – Signed: Two’s Complement – Sign extension must preserve signed number 6/18/2012Summer Lecture #158