Basic Arithmetic and the ALU. Basic Arithmetic and the ALU. Background. Background. Integer multiplication, division
|
|
- Brianna Lang
- 6 years ago
- Views:
Transcription
1 Basic Arithmetic and the ALU Forecast Representing numbs, 2 s Complement, unsigned ition and subtraction /Sub ALU full add, ripple carry, subtraction, togeth Carry-Lookahead addition, etc. Logical opations and, or, xor, nor, shifts - barrel shift Ovflow, MMX Basic Arithmetic and the ALU Integ multiplication, division floating point arithmetic lat not crucial for the project CS/ECE 552 Lecture Notes: Chapt 4 1 CS/ECE 552 Lecture Notes: Chapt 4 2 Background Background Recall: n bits give rise to 2 n combinations let us call a string of 32 bits as b31 b30... b3 b2 b1 b0 No inhent meaning one intpretation f(b31... b4 b3 b2 b1 b0) -> value anoth f(b31... b4 b3 b2 b1 b0) -> control signals 32-bit types include unsigned integs singed integs single-precision floating point MIPS instructions (A.10) CS/ECE 552 Lecture Notes: Chapt 4 3 CS/ECE 552 Lecture Notes: Chapt 4 4
2 Unsigned integs Signed Integs f(b31... b0) = b31 x b1 x 2 + b0 x 2 0 Treat as normal binary numb e.g., =1x2 7 +1x2 6 +0x2 5 +1x2 4 +0x2 3 +1x2 2 +0x2 1 +1x2 0 = = 213 max f ( ) = = 4, 294, 967, 295 min f( ) = 0 2 s Complement f(b31 b30... b1 b0) = -b31 x b1 x 2 + b0 x 2 0 max f( ) = = min f( ) = = (asymmetric) range [-2 31, ] => #values ( ) = 2 32 E.g., > > range [0, ] => # values (2 32-1) = 2 32 CS/ECE 552 Lecture Notes: Chapt 4 5 CS/ECE 552 Lecture Notes: Chapt 4 6 Why 2 s Complement ition and Subtraction why not use signed magnitude 2 s complement makes comput arithmetic simpl just like humans don t work with Roman Numals Representation affects ease of calculation 4-bit unsigned example not answ bit 2 s Complement - ignoring ovflow CS/ECE 552 Lecture Notes: Chapt 4 7 CS/ECE 552 Lecture Notes: Chapt 4 8
3 Subtraction A - B = A + 2 s complement of B E.g., full add (a, b, c in )--> (c out, s) c out = two of more of (a, b, c in ) s = exactly one or three of (a, b, c in ) CS/ECE 552 Lecture Notes: Chapt 4 9 CS/ECE 552 Lecture Notes: Chapt 4 10 Ripple-carry Ripple-carry Subtractor Just concatenate the full adds A - B = A + (-B) => invt B and set C in0 to 1 c in C out 1 C out a 0 b 0 a 1 b 1 a 2 b 2 a 31b 31 a 0 b 0 a 1 b 1 a 2 b 2 a 3 b 3 CS/ECE 552 Lecture Notes: Chapt 4 11 CS/ECE 552 Lecture Notes: Chapt 4 12
4 Combined Ripple-carry /Subtractor Carry Lookahead control = 1 => subtract XOR B with control and set C in0 to control a 0 b 0 a 1 b 1 a 2 b 2 C out a 31 b 31 opation The above ALU is too slow - gate delays for add = 32 x FA + XOR ~= 64 - too slow Theoretically: In parallel sum 0 = f(c in, a 0, b 0 ) sum i = f(c in, a i... a 0, b i... b 0 ) sum 31 = f(c in, a a 0, b b 0 ) CS/ECE 552 Lecture Notes: Chapt 4 13 CS/ECE 552 Lecture Notes: Chapt 4 14 Carry Lookahead Carry Lookahead Need compromise build tree so delay is O(log 2 n) for n bits E.g., 2 x 5 gate delays for 32-bits Need both to genate and at least one to propagate Define: g i = a i * b i ## carry genate We will give the basic idea with (a) 4-bit then (b) 16-bit add p i = a i + b i ## carry propagate Recall: c i+1 = a i * b i + a i * c i + b i * c i A little convoluted! = a i * b i + (a i + b i ) * c i = g i + p i * c i CS/ECE 552 Lecture Notes: Chapt 4 15 CS/ECE 552 Lecture Notes: Chapt 4 16
5 Carry Lookahead 4-bit Carry Lookahead Thefore c 1 = g 0 + p 0 * c 2 = g 1 + p 1 * c 1 = g 1 + p 1 * (g 0 + p 0 * ) c 4 Carry Lookahead Block = g 1 + p 1 * g 0 + p 1 * p 0 * g 3 p 3 a 3 b 3 g 2 p 2 a 2 b 2 g 1 p 1 a 1 b 1 g 0 p 0 a 0 b 0 c 3 = g 2 + p 2 * g 1 + p 2 * p 1 * g 0 + p 2 * p 1 * p 0 * c 4 = g 3 + p 3 *g 2 + p 3 *p 2 *g 1 + p 3 *p 2 *p 1 *g 0 + p 3 *p 2 *p 1 *p 0 * c 3 c 2 c 1 Uses one level to form p i and g i, two levels for carry But, this needs n+1 fanin at the OR and the rightmost AND s 3 s 2 s 1 s 0 CS/ECE 552 Lecture Notes: Chapt 4 17 CS/ECE 552 Lecture Notes: Chapt 4 18 Hiachical Carry Lookahead for 16 bits Hiachical Carry Lookahead for 16 bits Build 16-bit add from four 4-bit adds c 15 Carry Lookahead Block Figure out Genate and Propagate for 4-bits togeth G 0,3 = g 3 + p 3 * g 2 + p 3 * p 2 * g 1 + p 3 * p 2 * p 1 * g 0 P G a,b P G a,b 8-11 P G a 4-7 b 4-7 P G a 0-3 b 0-3 P 0,3 = p 3 * p 2 * p 1 * p 0 (Notation a little diffent from the book) G 4,7 = g 7 + p 7 * g 6 + p 7 * p 6 * g 5 + p 7 * p 6 * p 5 * g 4 c 12 c 8 c 4 P 4,7 = p 7 * p 6 * p 5 * p 4 G 12,15 = g 15 + p 15 * g 14 + p 15 * p 14 * g 13 + p 15 * p 14 * p 13 * g 12 s s 8-11 s 4-7 s 0-3 P 12,15 = p 15 * p 14 * p 13 * p 12 CS/ECE 552 Lecture Notes: Chapt 4 19 CS/ECE 552 Lecture Notes: Chapt 4 20
6 Carry Lookahead Basics Carry Lookahead: Compute G s and P s Fill in the holes in G s and P s: G i, k = G j+1,k + P j+1, k * G i,j (assume i < j +1 < k ) P i,k = P i,j * P j+1, k G 12,15 P 12,15 G 8,11 P 8,11 G 4,7 P 4,7 G 0,3 P 0,3 G 0,7 = G 4,7 + P 4,7 * G 0,3 P 0,7 = P 0,3 * P 4,7 G 8,15 = G 12,15 + P 12,15 * G 8,11 P 8,15 = P 8,11 * P 12, 15 G 0,15 = G 8,15 + P 8,15 * G 0,7 P 0,15 = P 0,7 * P 8, 15 G 8,15 P 8,15 G 0,7 P 0,7 G 0,15 P 0,15 CS/ECE 552 Lecture Notes: Chapt 4 21 CS/ECE 552 Lecture Notes: Chapt 4 22 c 12 Carry Lookahead: Compute c s g 12 - g 15 g 8 - g 11 g 4 - g 7 g 0 - g 3 p 12 - p 15 p 8 - p 11 p 4 - p 7 p 0 - p 3 c4 c0 G 8,11 P 8,11 c 8 G 0,3 P 0,3 Oth s: Carry Select Two adds in parallel - one with C in 0 and the oth c in 1 When C in is done, select the right result 0 1 c 8 G 0,7 P 0,7 next select 2-1 Mux CS/ECE 552 Lecture Notes: Chapt 4 24 select CS/ECE 552 Lecture Notes: Chapt 4 23
7 Oth s: Carry Save Wallace Tree A + B -> S f e d c b a Save carries A + B -> S, C out CSA CSA Use C in A + B + C -> S1, S2 (3# to 2# in parallel) Used in combinational multiplis by building a Wallace Tree c b a CSA CSA CSA c s CS/ECE 552 Lecture Notes: Chapt 4 25 CS/ECE 552 Lecture Notes: Chapt 4 26 Logical Opations Shift Bitwise AND, OR, XOR, NOR Implement with 32 gates in parallel Shifts and rotates rol -> rotate left (MSB --> LSB) ror -> rotate right (LSB --> MSB) sll -> shift left logical (0 --> LSB) srl -> shift right logical (0 --> MSB) srl -> shift right arithmetic (old MSB --> new MSB) E.g., Shift left logical for d<7:0> and shamt<2:0> Using 2-1 Muxes called Mux(select, in 0, in 1 ) stage0<7:0> = Mux(shamt<0>,d<7:0>, 0 d<7:1>) stage1<7:0> = Mux(shamt<1>, stage0<7:0>, 00 stage0<6:2>) dout<7:0) = Mux(shamt<2>, stage1<7:0>, 0000 stage1<3:0>) For Barrel shift used wid muxes CS/ECE 552 Lecture Notes: Chapt 4 27 CS/ECE 552 Lecture Notes: Chapt 4 28
8 Shift All Togeth Mux d 0 0 d 7 d 6 d 1 d 0 shift based on 0 th bit by 0 or 1 stage0 s0 7 s0 0 s0 7 s0 6 s0 0 s0 2 s0 1 0 s0 0 0 Mux shift based on 1 st bit by 0 or 2 stage1 s1 7 s1 0 s1 7 s1 3 s1 4 s1 0 s1 3 0 s1 0 0 Mux dout shift based on 2 nd bit by 0 or 4 shamt0 shamt1 shamt2 a b invt Mux carry in opation Mux result dout 7 dout 7 CS/ECE 552 Lecture Notes: Chapt 4 29 CS/ECE 552 Lecture Notes: Chapt 4 30 Ovflow Ovflow with n-bits only 2 n combinations Unsigned [0, 2 n -1], 2 s Complement [-2 n-1, 2 n-1-1] Unsigned > More involved for 2 s Complement = = -2 is correct => can t just use carry-out 1011 f(3:0) = a(2:0) + b(2:0) => ovflow = f(3) ;; carryout CS/ECE 552 Lecture Notes: Chapt 4 31 CS/ECE 552 Lecture Notes: Chapt 4 32
9 ition Ovflow When is ovflow NOT possible? p1, p2 > 0 and n1, n2 < 0 p1 + p2 p1 + n1 not possible n1 + p2 not possible n1 + n2 ovflow = X * a(2) * b(2) + Y * a(2) * b(2) What are X and Y? ition Ovflow = 5 > = -3 < 0! In genal, X = f(2) which is 011 > 0 In genal Y = f(2) Ovflow = f(2) * a(2) * b(2) + f(2) * a(2) * b(2) CS/ECE 552 Lecture Notes: Chapt 4 33 CS/ECE 552 Lecture Notes: Chapt 4 34 Subtraction Ovflow What to do on ovflow No ovflow on a-b if signs are same neg - pos ==> neg ;; ovflow othwise pos - neg ==> pos ;; ovflow othwise ovflow = f(2) * (a2) * b(2) + f(2) * a(2) * (b2) Ignore! Flag - condition code that may be tested by software sticky flag - e.g., for floating point trap - possibly with mask CS/ECE 552 Lecture Notes: Chapt 4 35 CS/ECE 552 Lecture Notes: Chapt 4 36
10 zo = f(2) + f(1) + f(0) can t also look at f(3) because So, negative = f(2) Zo and Negative Zo and Negative May also want correct answ even on ovflow negative = (a < b) = (a-b < 0) even if ovflow E.g., is -4 < 2? => ovflow If you work it out, negative = f(2) XOR ovflow CS/ECE 552 Lecture Notes: Chapt 4 37 CS/ECE 552 Lecture Notes: Chapt 4 38 MMX MMX, cont. MMX [Peleg & Weis, IEEE Micro, Aug. 96] Goal 2x pformance in audio, video, etc. Key technique: SIMD - single instruction multiple data 1999 Streaming SIMD Extensions in same spirit Data types 1 x 64 bit quad word 2 x 32 bit double-word 4 x 16 bit word 8 x 8 bit byte E.g., ADDB (for byte) more more == 300 mod 256 or 255 == maximum value E.g., 16 element dot product from matrix multiply [a1... a16] x [b1... b16] = a1*b a16*b16 IA-32: 32 loads, 16 *, 15 +, 12 loop control = 76 instr. MMX: 16 instr. Cycles 200 for int, 76 for FP, & 12 for MMX (6x ov FP!) CS/ECE 552 Lecture Notes: Chapt 4 39 CS/ECE 552 Lecture Notes: Chapt 4 40
11 MMX, cont. Oths: MOV, (UN)PACK, & MASK (e.g., next) FF FF FF FF Why? Weathpson at 00 s & weathmap at FF s Comments Backward compatible & no OS changes (ovload FP regs) Oths have similar: Sun, HP, and now Intel SSE ISVs (i.e., for games) have not (yet) embraced CS/ECE 552 Lecture Notes: Chapt 4 41
Lecture Topics. Announcements. Today: Integer Arithmetic (P&H ) Next: continued. Consulting hours. Introduction to Sim. Milestone #1 (due 1/26)
Lecture Topics Today: Integer Arithmetic (P&H 3.1-3.4) Next: continued 1 Announcements Consulting hours Introduction to Sim Milestone #1 (due 1/26) 2 1 Overview: Integer Operations Internal representation
More informationArithmetic Logic Unit. Digital Computer Design
Arithmetic Logic Unit Digital Computer Design Arithmetic Circuits Arithmetic circuits are the central building blocks of computers. Computers and digital logic perform many arithmetic functions: addition,
More informationEE260: Logic Design, Spring n Integer multiplication. n Booth s algorithm. n Integer division. n Restoring, non-restoring
EE 260: Introduction to Digital Design Arithmetic II Yao Zheng Department of Electrical Engineering University of Hawaiʻi at Mānoa Overview n Integer multiplication n Booth s algorithm n Integer division
More informationCOMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 3. Arithmetic for Computers Implementation
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 3 Arithmetic for Computers Implementation Today Review representations (252/352 recap) Floating point Addition: Ripple
More informationArithmetic and Logical Operations
Arithmetic and Logical Operations 2 CMPE2c x +y + sum Or in tabular form Binary Addition Carry Out Sum B A Carry In Binary Addition And as a full adder a b co ci sum 4-bit Ripple-Carry adder: Carry values
More informationNumber Systems and Computer Arithmetic
Number Systems and Computer Arithmetic Counting to four billion two fingers at a time What do all those bits mean now? bits (011011011100010...01) instruction R-format I-format... integer data number text
More informationCS 101: Computer Programming and Utilization
CS 101: Computer Programming and Utilization Jul-Nov 2017 Umesh Bellur (cs101@cse.iitb.ac.in) Lecture 3: Number Representa.ons Representing Numbers Digital Circuits can store and manipulate 0 s and 1 s.
More informationECE232: Hardware Organization and Design
ECE232: Hardware Organization and Design Lecture 4: Logic Operations and Introduction to Conditionals Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Overview Previously examined
More informationTailoring the 32-Bit ALU to MIPS
Tailoring the 32-Bit ALU to MIPS MIPS ALU extensions Overflow detection: Carry into MSB XOR Carry out of MSB Branch instructions Shift instructions Slt instruction Immediate instructions ALU performance
More informationLecture Topics. Announcements. Today: Integer Arithmetic (P&H ) Next: The MIPS ISA (P&H ) Consulting hours. Milestone #1 (due 1/26)
Lecture Topics Today: Integer Arithmetic (P&H 3.1-3.4) Next: The MIPS ISA (P&H 2.1-2.14) 1 Announcements Consulting hours Milestone #1 (due 1/26) Milestone #2 (due 2/2) 2 1 Review: Integer Operations Internal
More informationECE 30 Introduction to Computer Engineering
ECE 30 Introduction to Computer Engineering Study Problems, Set #6 Spring 2015 1. With x = 1111 1111 1111 1111 1011 0011 0101 0011 2 and y = 0000 0000 0000 0000 0000 0010 1101 0111 2 representing two s
More informationInteger Multiplication. Back to Arithmetic. Integer Multiplication. Example (Fig 4.25)
Back to Arithmetic Before, we did Representation of integers Addition/Subtraction Logical ops Forecast Integer Multiplication Integer Division Floating-point Numbers Floating-point Addition/Multiplication
More informationBinary Arithmetic. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T.
Binary Arithmetic Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. MIT 6.004 Fall 2018 Reminder: Encoding Positive Integers Bit i in a binary representation (in right-to-left order)
More informationCPE300: Digital System Architecture and Design
CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Arithmetic Unit 10122011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Recap Fixed Point Arithmetic Addition/Subtraction
More informationChapter 3: part 3 Binary Subtraction
Chapter 3: part 3 Binary Subtraction Iterative combinational circuits Binary adders Half and full adders Ripple carry and carry lookahead adders Binary subtraction Binary adder-subtractors Signed binary
More informationReview: MIPS Organization
1 MIPS Arithmetic Review: MIPS Organization Processor Memory src1 addr 5 src2 addr 5 dst addr 5 write data Register File registers ($zero - $ra) bits src1 data src2 data read/write addr 1 1100 2 30 words
More informationChapter 3: Arithmetic for Computers
Chapter 3: Arithmetic for Computers Objectives Signed and Unsigned Numbers Addition and Subtraction Multiplication and Division Floating Point Computer Architecture CS 35101-002 2 The Binary Numbering
More informationNUMBER OPERATIONS. Mahdi Nazm Bojnordi. CS/ECE 3810: Computer Organization. Assistant Professor School of Computing University of Utah
NUMBER OPERATIONS Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 3810: Computer Organization Overview Homework 4 is due tonight Verify your uploaded file before the
More informationNumber representations
Number representations Number bases Three number bases are of interest: Binary, Octal and Hexadecimal. We look briefly at conversions among them and between each of them and decimal. Binary Base-two, or
More informationEECS150 - Digital Design Lecture 13 - Combinational Logic & Arithmetic Circuits Part 3
EECS15 - Digital Design Lecture 13 - Combinational Logic & Arithmetic Circuits Part 3 October 8, 22 John Wawrzynek Fall 22 EECS15 - Lec13-cla3 Page 1 Multiplication a 3 a 2 a 1 a Multiplicand b 3 b 2 b
More informationBitwise Instructions
Bitwise Instructions CSE 30: Computer Organization and Systems Programming Dept. of Computer Science and Engineering University of California, San Diego Overview v Bitwise Instructions v Shifts and Rotates
More informationBy, Ajinkya Karande Adarsh Yoga
By, Ajinkya Karande Adarsh Yoga Introduction Early computer designers believed saving computer time and memory were more important than programmer time. Bug in the divide algorithm used in Intel chips.
More informationMicrocomputers. Outline. Number Systems and Digital Logic Review
Microcomputers Number Systems and Digital Logic Review Lecture 1-1 Outline Number systems and formats Common number systems Base Conversion Integer representation Signed integer representation Binary coded
More informationChapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>
Chapter 5 Digital Design and Computer Architecture, 2 nd Edition David Money Harris and Sarah L. Harris Chapter 5 Chapter 5 :: Topics Introduction Arithmetic Circuits umber Systems Sequential Building
More informationCOMP 303 Computer Architecture Lecture 6
COMP 303 Computer Architecture Lecture 6 MULTIPLY (unsigned) Paper and pencil example (unsigned): Multiplicand 1000 = 8 Multiplier x 1001 = 9 1000 0000 0000 1000 Product 01001000 = 72 n bits x n bits =
More informationDivide: Paper & Pencil
Divide: Paper & Pencil 1001 Quotient Divisor 1000 1001010 Dividend -1000 10 101 1010 1000 10 Remainder See how big a number can be subtracted, creating quotient bit on each step Binary => 1 * divisor or
More informationLec-6-HW-3-ALUarithmetic-SOLN
Lec-6-HW-3-ALUarithmetic-SOLN Reading, PP, Chp 2: 2.1 (Bits and datatypes) 2.2 (signed and unsigned integers) 2.3 (2's complement) 2.4 (positional notation) 2.5 (int. add/sub, signed/unsigned overflow)
More informationDigital Logic & Computer Design CS Professor Dan Moldovan Spring 2010
Digital Logic & Computer Design CS 434 Professor Dan Moldovan Spring 2 Copyright 27 Elsevier 5- Chapter 5 :: Digital Building Blocks Digital Design and Computer Architecture David Money Harris and Sarah
More informationArithmetic Circuits. Design of Digital Circuits 2014 Srdjan Capkun Frank K. Gürkaynak.
Arithmetic Circuits Design of Digital Circuits 2014 Srdjan Capkun Frank K. Gürkaynak http://www.syssec.ethz.ch/education/digitaltechnik_14 Adapted from Digital Design and Computer Architecture, David Money
More informationECE260: Fundamentals of Computer Engineering
MIPS Instruction Set James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy MIPS Registers MIPS
More informationMIPS Integer ALU Requirements
MIPS Integer ALU Requirements Add, AddU, Sub, SubU, AddI, AddIU: 2 s complement adder/sub with overflow detection. And, Or, Andi, Ori, Xor, Xori, Nor: Logical AND, logical OR, XOR, nor. SLTI, SLTIU (set
More informationENE 334 Microprocessors
Page 1 ENE 334 Microprocessors Lecture 10: MCS-51: Logical and Arithmetic : Dejwoot KHAWPARISUTH http://webstaff.kmutt.ac.th/~dejwoot.kha/ ENE 334 MCS-51 Logical & Arithmetic Page 2 Logical: Objectives
More informationTiming for Ripple Carry Adder
Timing for Ripple Carry Adder 1 2 3 Look Ahead Method 5 6 7 8 9 Look-Ahead, bits wide 10 11 Multiplication Simple Gradeschool Algorithm for 32 Bits (6 Bit Result) Multiplier Multiplicand AND gates 32
More informationComputer Architecture Set Four. Arithmetic
Computer Architecture Set Four Arithmetic Arithmetic Where we ve been: Performance (seconds, cycles, instructions) Abstractions: Instruction Set Architecture Assembly Language and Machine Language What
More informationComputer Architecture and Organization: L04: Micro-operations
Computer Architecture and Organization: L4: Micro-operations By: A. H. Abdul Hafez Abdul.hafez@hku.edu.tr, ah.abdulhafez@gmail.com, hafez@research.iiit.ac.in 1 Outlines 1. Arithmetic microoperation 2.
More informationChapter 4. Operations on Data
Chapter 4 Operations on Data 1 OBJECTIVES After reading this chapter, the reader should be able to: List the three categories of operations performed on data. Perform unary and binary logic operations
More informationOutline. EEL-4713 Computer Architecture Multipliers and shifters. Deriving requirements of ALU. MIPS arithmetic instructions
Outline EEL-4713 Computer Architecture Multipliers and shifters Multiplication and shift registers Chapter 3, section 3.4 Next lecture Division, floating-point 3.5 3.6 EEL-4713 Ann Gordon-Ross.1 EEL-4713
More informationMath 230 Assembly Programming (AKA Computer Organization) Spring 2008
Math 230 Assembly Programming (AKA Computer Organization) Spring 2008 MIPS Intro II Lect 10 Feb 15, 2008 Adapted from slides developed for: Mary J. Irwin PSU CSE331 Dave Patterson s UCB CS152 M230 L10.1
More informationECE260: Fundamentals of Computer Engineering
MIPS Instruction Set James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy MIPS Registers MIPS
More informationUnsigned Binary Integers
Unsigned Binary Integers Given an n-bit number x x n 1 n 2 1 0 n 12 xn 22 x12 x02 Range: 0 to +2 n 1 Example 2.4 Signed and Unsigned Numbers 0000 0000 0000 0000 0000 0000 0000 1011 2 = 0 + + 1 2 3 + 0
More informationUnsigned Binary Integers
Unsigned Binary Integers Given an n-bit number x x n 1 n 2 1 0 n 12 xn 22 x12 x02 Range: 0 to +2 n 1 Example 2.4 Signed and Unsigned Numbers 0000 0000 0000 0000 0000 0000 0000 1011 2 = 0 + + 1 2 3 + 0
More informationFloating-Point Data Representation and Manipulation 198:231 Introduction to Computer Organization Lecture 3
Floating-Point Data Representation and Manipulation 198:231 Introduction to Computer Organization Instructor: Nicole Hynes nicole.hynes@rutgers.edu 1 Fixed Point Numbers Fixed point number: integer part
More informationCourse Topics - Outline
Course Topics - Outline Lecture 1 - Introduction Lecture 2 - Lexical conventions Lecture 3 - Data types Lecture 4 - Operators Lecture 5 - Behavioral modeling A Lecture 6 Behavioral modeling B Lecture 7
More informationChapter 4 Arithmetic Functions
Logic and Computer Design Fundamentals Chapter 4 Arithmetic Functions Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Overview Iterative combinational
More informationVTU NOTES QUESTION PAPERS NEWS RESULTS FORUMS Arithmetic (a) The four possible cases Carry (b) Truth table x y
Arithmetic A basic operation in all digital computers is the addition and subtraction of two numbers They are implemented, along with the basic logic functions such as AND,OR, NOT,EX- OR in the ALU subsystem
More informationArithmetic Operations
Arithmetic Operations Arithmetic Operations addition subtraction multiplication division Each of these operations on the integer representations: unsigned two's complement 1 Addition One bit of binary
More informationECE 341 Midterm Exam
ECE 341 Midterm Exam Time allowed: 75 minutes Total Points: 75 Points Scored: Name: Problem No. 1 (8 points) For each of the following statements, indicate whether the statement is TRUE or FALSE: (a) A
More informationComputer Arithmetic Multiplication & Shift Chapter 3.4 EEC170 FQ 2005
Computer Arithmetic Multiplication & Shift Chapter 3.4 EEC170 FQ 200 Multiply We will start with unsigned multiply and contrast how humans and computers multiply Layout 8-bit 8 Pipelined Multiplier 1 2
More informationComputer Architecture and Organization
3-1 Chapter 3 - Arithmetic Computer Architecture and Organization Miles Murdocca and Vincent Heuring Chapter 3 Arithmetic 3-2 Chapter 3 - Arithmetic Chapter Contents 3.1 Fixed Point Addition and Subtraction
More informationChapter 3 Arithmetic for Computers
Chapter 3 Arithmetic for Computers 1 Arithmetic Where we've been: Abstractions: Instruction Set Architecture Assembly Language and Machine Language What's up ahead: Implementing the Architecture operation
More informationArithmetic and Bitwise Operations on Binary Data
Arithmetic and Bitwise Operations on Binary Data CSCI 2400: Computer Architecture ECE 3217: Computer Architecture and Organization Instructor: David Ferry Slides adapted from Bryant & O Hallaron s slides
More informationCPE 335 Computer Organization. MIPS Arithmetic Part I. Content from Chapter 3 and Appendix B
CPE 335 Computer Organization MIPS Arithmetic Part I Content from Chapter 3 and Appendix B Dr. Iyad Jafar Adatped from Dr. Gheith Abandah Slides http://www.abandah.com/gheith/courses/cpe335_s08/index.html
More informationCOMP2611: Computer Organization. Data Representation
COMP2611: Computer Organization Comp2611 Fall 2015 2 1. Binary numbers and 2 s Complement Numbers 3 Bits: are the basis for binary number representation in digital computers What you will learn here: How
More informationCS3350B Computer Architecture MIPS Instruction Representation
CS3350B Computer Architecture MIPS Instruction Representation Marc Moreno Maza http://www.csd.uwo.ca/~moreno/cs3350_moreno/index.html Department of Computer Science University of Western Ontario, Canada
More informationECE 341. Lecture # 6
ECE 34 Lecture # 6 Instructor: Zeshan Chishti zeshan@pdx.edu October 5, 24 Portland State University Lecture Topics Design of Fast Adders Carry Looakahead Adders (CLA) Blocked Carry-Lookahead Adders Multiplication
More informationIntroduction to the MIPS. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University
Introduction to the MIPS Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Introduction to the MIPS The Microprocessor without Interlocked Pipeline Stages
More informationDigital Circuit Design and Language. Datapath Design. Chang, Ik Joon Kyunghee University
Digital Circuit Design and Language Datapath Design Chang, Ik Joon Kyunghee University Typical Synchronous Design + Control Section : Finite State Machine + Data Section: Adder, Multiplier, Shift Register
More informationLogic Instructions. Basic Logic Instructions (AND, OR, XOR, TEST, NOT, NEG) Shift and Rotate instructions (SHL, SAL, SHR, SAR) Segment 4A
Segment 4A Logic Instructions Basic Logic Instructions (AND, OR, XOR, TEST, NOT, NEG) Shift and Rotate instructions (SHL, SAL, SHR, SAR) Course Instructor Mohammed Abdul kader Lecturer, EEE, IIUC Basic
More informationOperations On Data CHAPTER 4. (Solutions to Odd-Numbered Problems) Review Questions
CHAPTER 4 Operations On Data (Solutions to Odd-Numbered Problems) Review Questions 1. Arithmetic operations interpret bit patterns as numbers. Logical operations interpret each bit as a logical values
More informationUniversity of Illinois at Chicago. Lecture Notes # 10
ECE 366 Computer Architecture Instructor: Shantanu Dutt Department of Electrical and Computer Engineering University of Illinois at Chicago Lecture otes # 0 COMPUTER ARITHMETIC: Integer Addition and Multiplication
More informationCS352H: Computer Systems Architecture
CS352H: Computer Systems Architecture Lecture 4: Instruction Set Architectures III + MIPS ALU September 10, 2008 University of Texas at Austin CS352H - Computer Systems Architecture Fall 2009 Don Fussell
More informationFloating Point. The World is Not Just Integers. Programming languages support numbers with fraction
1 Floating Point The World is Not Just Integers Programming languages support numbers with fraction Called floating-point numbers Examples: 3.14159265 (π) 2.71828 (e) 0.000000001 or 1.0 10 9 (seconds in
More informationCHAPTER V NUMBER SYSTEMS AND ARITHMETIC
CHAPTER V-1 CHAPTER V CHAPTER V NUMBER SYSTEMS AND ARITHMETIC CHAPTER V-2 NUMBER SYSTEMS RADIX-R REPRESENTATION Decimal number expansion 73625 10 = ( 7 10 4 ) + ( 3 10 3 ) + ( 6 10 2 ) + ( 2 10 1 ) +(
More informationArithmetic for Computers
MIPS Arithmetic Instructions Cptr280 Dr Curtis Nelson Arithmetic for Computers Operations on integers Addition and subtraction; Multiplication and division; Dealing with overflow; Signed vs. unsigned numbers.
More informationComputer Architecture
CS3350B Computer Architecture Winter 2015 Lecture 4.2: MIPS ISA -- Instruction Representation Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and Design,
More informationWeek 7: Assignment Solutions
Week 7: Assignment Solutions 1. In 6-bit 2 s complement representation, when we subtract the decimal number +6 from +3, the result (in binary) will be: a. 111101 b. 000011 c. 100011 d. 111110 Correct answer
More informationLecture 8: Addition, Multiplication & Division
Lecture 8: Addition, Multiplication & Division Today s topics: Signed/Unsigned Addition Multiplication Division 1 Signed / Unsigned The hardware recognizes two formats: unsigned (corresponding to the C
More informationBinary Logic (review)
Binary Logic (review) Basic logical operators: (Chapter 7 expanded) NOT AND outputs 1 only if both inputs are 1 OR outputs 1 if at lest one input is 1 XOR outputs 1 if exactly one input is 1 a not 0 1
More informationArithmetic Operators There are two types of operators: binary and unary Binary operators:
Verilog operators operate on several data types to produce an output Not all Verilog operators are synthesible (can produce gates) Some operators are similar to those in the C language Remember, you are
More informationChapter 2. Instructions: Language of the Computer. HW#1: 1.3 all, 1.4 all, 1.6.1, , , , , and Due date: one week.
Chapter 2 Instructions: Language of the Computer HW#1: 1.3 all, 1.4 all, 1.6.1, 1.14.4, 1.14.5, 1.14.6, 1.15.1, and 1.15.4 Due date: one week. Practice: 1.5 all, 1.6 all, 1.10 all, 1.11 all, 1.14 all,
More informationTwo-Level CLA for 4-bit Adder. Two-Level CLA for 4-bit Adder. Two-Level CLA for 16-bit Adder. A Closer Look at CLA Delay
Two-Level CLA for 4-bit Adder Individual carry equations C 1 = g 0 +p 0, C 2 = g 1 +p 1 C 1,C 3 = g 2 +p 2 C 2, = g 3 +p 3 C 3 Fully expanded (infinite hardware) CLA equations C 1 = g 0 +p 0 C 2 = g 1
More informationChapter 10 Binary Arithmetics
27..27 Chapter Binary Arithmetics Dr.-Ing. Stefan Werner Table of content Chapter : Switching Algebra Chapter 2: Logical Levels, Timing & Delays Chapter 3: Karnaugh-Veitch-Maps Chapter 4: Combinational
More informationForecast. Instructions (354 Review) Basics. Basics. Instruction set architecture (ISA) is its vocabulary. Instructions are the words of a computer
Instructions (354 Review) Forecast Instructions are the words of a computer Instruction set architecture (ISA) is its vocabulary With a few other things, this defines the interface of computers But implementations
More informationArithmetic-logic units
Arithmetic-logic units An arithmetic-logic unit, or ALU, performs many different arithmetic and logic operations. The ALU is the heart of a processor you could say that everything else in the CPU is there
More informationCHAPTER 6 ARITHMETIC, LOGIC INSTRUCTIONS, AND PROGRAMS
CHAPTER 6 ARITHMETIC, LOGIC INSTRUCTIONS, AND PROGRAMS Addition of Unsigned Numbers The instruction ADD is used to add two operands Destination operand is always in register A Source operand can be a register,
More informationECE 154A Introduction to. Fall 2012
ECE 154A Introduction to Computer Architecture Fall 2012 Dmitri Strukov Lecture 4: Arithmetic and Data Transfer Instructions Agenda Review of last lecture Logic and shift instructions Load/store instructionsi
More informationShift and Rotate Instructions
Shift and Rotate Instructions Shift and rotate instructions facilitate manipulations of data (that is, modifying part of a 32-bit data word). Such operations might include: Re-arrangement of bytes in a
More informationCSCI 402: Computer Architectures
CSCI 402: Computer Architectures Instructions: Language of the Computer (2) Fengguang Song Department of Computer & Information Science IUPUI Memory Operands Two tribes: Big Endian: Most-significant byte
More informationECEN 468 Advanced Logic Design
ECEN 468 Advanced Logic Design Lecture 26: Verilog Operators ECEN 468 Lecture 26 Operators Operator Number of Operands Result Arithmetic 2 Binary word Bitwise 2 Binary word Reduction 1 Bit Logical 2 Boolean
More informationBinary Adders: Half Adders and Full Adders
Binary Adders: Half Adders and Full Adders In this set of slides, we present the two basic types of adders: 1. Half adders, and 2. Full adders. Each type of adder functions to add two binary bits. In order
More informationCOSC 243. Data Representation 3. Lecture 3 - Data Representation 3 1. COSC 243 (Computer Architecture)
COSC 243 Data Representation 3 Lecture 3 - Data Representation 3 1 Data Representation Test Material Lectures 1, 2, and 3 Tutorials 1b, 2a, and 2b During Tutorial a Next Week 12 th and 13 th March If you
More informationAnnouncements HW1 is due on this Friday (Sept 12th) Appendix A is very helpful to HW1. Check out system calls
Announcements HW1 is due on this Friday (Sept 12 th ) Appendix A is very helpful to HW1. Check out system calls on Page A-48. Ask TA (Liquan chen: liquan@ece.rutgers.edu) about homework related questions.
More informationInstruction Set extensions to X86. Floating Point SIMD instructions
Instruction Set extensions to X86 Some extensions to x86 instruction set intended to accelerate 3D graphics AMD 3D-Now! Instructions simply accelerate floating point arithmetic. Accelerate object transformations
More informationComputer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Bits and Bytes and Numbers
Computer Science 324 Computer Architecture Mount Holyoke College Fall 2007 Topic Notes: Bits and Bytes and Numbers Number Systems Much of this is review, given the 221 prerequisite Question: how high can
More informationChapter 2A Instructions: Language of the Computer
Chapter 2A Instructions: Language of the Computer Copyright 2009 Elsevier, Inc. All rights reserved. Instruction Set The repertoire of instructions of a computer Different computers have different instruction
More informationECE331: Hardware Organization and Design
ECE331: Hardware Organization and Design Lecture 15: Midterm 1 Review Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Basics Midterm to cover Book Sections (inclusive) 1.1 1.5
More informationNumber Systems and Their Representations
Number Representations Cptr280 Dr Curtis Nelson Number Systems and Their Representations In this presentation you will learn about: Representation of numbers in computers; Signed vs. unsigned numbers;
More informationECE 4514 Digital Design II. Spring Lecture 7: Dataflow Modeling
ECE 4514 Digital Design II Lecture 7: Dataflow Modeling A language Lecture Today's topic Dataflow Modeling input input input module output output Model with submodules and gates = Structural Model with
More informationAdvanced Computer Architecture-CS501
Advanced Computer Architecture Lecture No. 34 Reading Material Vincent P. Heuring & Harry F. Jordan Chapter 6 Computer Systems Design and Architecture 6.1, 6.2 Summary Introduction to ALSU Radix Conversion
More informationLecture Topics. Announcements. Today: The MIPS ISA (P&H ) Next: continued. Milestone #1 (due 1/26) Milestone #2 (due 2/2)
Lecture Topics Today: The MIPS ISA (P&H 2.1-2.14) Next: continued 1 Announcements Milestone #1 (due 1/26) Milestone #2 (due 2/2) Milestone #3 (due 2/9) 2 1 Evolution of Computing Machinery To understand
More informationPart III The Arithmetic/Logic Unit. Oct Computer Architecture, The Arithmetic/Logic Unit Slide 1
Part III The Arithmetic/Logic Unit Oct. 214 Computer Architecture, The Arithmetic/Logic Unit Slide 1 About This Presentation This presentation is intended to support the use of the textbook Computer Architecture:
More informationChapter 3 Arithmetic for Computers. ELEC 5200/ From P-H slides
Chapter 3 Arithmetic for Computers 1 Arithmetic for Computers Operations on integers Addition and subtraction Multiplication and division Dealing with overflow Floating-point real numbers Representation
More information4 Operations On Data 4.1. Foundations of Computer Science Cengage Learning
4 Operations On Data 4.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: List the three categories of operations performed on data.
More informationECOM4311 Digital Systems Design
ECOM 4311 Digital Systems Design Eng. Monther Abusultan Computer Engineering Dept. Islamic University of Gaza Page 1 Agenda 1. VHDL : Data Types Cont d 2. VHDL : Operators 3. VHDL : Signal Assignments
More informationComputer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture
Computer Science 324 Computer Architecture Mount Holyoke College Fall 2007 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture. Idea:
More informationCENG3420 L05: Arithmetic and Logic Unit
CENG3420 L05: Arithmetic and Logic Unit Bei Yu byu@cse.cuhk.edu.hk (Latest update: January 25, 2018) Spring 2018 1 / 53 Overview Overview Addition Multiplication & Division Shift Floating Point Number
More informationBasic Arithmetic (adding and subtracting)
Basic Arithmetic (adding and subtracting) Digital logic to show add/subtract Boolean algebra abstraction of physical, analog circuit behavior 1 0 CPU components ALU logic circuits logic gates transistors
More informationCENG3420 Lecture 03 Review
CENG3420 Lecture 03 Review Bei Yu byu@cse.cuhk.edu.hk 2017 Spring 1 / 38 CISC vs. RISC Complex Instruction Set Computer (CISC) Lots of instructions of variable size, very memory optimal, typically less
More informationXuan Guo. Lecture XIV: Review of Chapter 3 & 4. CSC 3210 Computer Organization and Programming Georgia State University. March 5, 2015.
CSC 3210 Computer Organization and Programming Georgia State University March 5, 2015 This lecture Plan for the lecture: Binary Hardware Device Converting from Decimal to other number system Converting
More informationCS6303 COMPUTER ARCHITECTURE LESSION NOTES UNIT II ARITHMETIC OPERATIONS ALU In computing an arithmetic logic unit (ALU) is a digital circuit that performs arithmetic and logical operations. The ALU is
More information