ALU Design CS3410.

Slides:



Advertisements
Similar presentations
Part 4: combinational devices
Advertisements

ALU Design CS3410.
Chapter 9 Computer Design Basics. 9-2 Datapaths Reminding A digital system (or a simple computer) contains datapath unit and control unit. Datapath: A.
L10 – Transistors Logic Math 1 Comp 411 – Spring /22/07 Arithmetic Circuits Didn’t I learn how to do addition in the second grade?
1 ALUs. 2 Topics: ALU Overview - core of the integer datapath - 2 operands, 32-bits wide, plus control signals Exercise: A simple multiplier.
Sec 01: Logisim.
Logisim.
Fall 2005 L15: Combinational Circuits Lecture 15: Combinational Circuits Complete logic functions Some combinational logic functions –Half adders –Adders.
1 Lecture 4: Arithmetic for Computers (Part 3) CS 447 Jason Bakos.
Levels in Processor Design
Lec 17 Nov 2 Chapter 4 – CPU design data path design control logic design single-cycle CPU performance limitations of single cycle CPU multi-cycle CPU.
Prepared by: Sanchita mishra Sonkali bhalavi sunita Submitted to: Shweta agrawal.
Adders, subtractors, ALUs
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
Chapter 6-1 ALU, Adder and Subtractor
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
HCL and ALU תרגול 10. Overview of Logic Design Fundamental Hardware Requirements – Communication: How to get values from one place to another – Computation.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
Chapter 1: Digital Computers and Information Illustration at beginning of each Chapter Base 10 Binary Base 2 Octal Base 8 Hex bas
ECEN 248 Lab 4: Multiplexer Based Arithmetic Logic Unit
Arithmetic Logic Unit (ALU) Anna Kurek CS 147 Spring 2008.
Gary MarsdenSlide 1University of Cape Town Chapter 5 - The Processor  Machine Performance factors –Instruction Count, Clock cycle time, Clock cycles per.
CDA 3101 Fall 2013 Introduction to Computer Organization The Arithmetic Logic Unit (ALU) and MIPS ALU Support 20 September 2013.
ECE 445 – Computer Organization
A four function ALU A 00 ADD B MUX SUB 11 Result AND OR
IT253: Computer Organization
The Karnaugh Map.
MIPS ALU. Building from the adder to ALU ALU – Arithmetic Logic Unit, does the major calculations in the computer, including – Add – And – Or – Sub –
Outline Binary Addition 2’s complement Binary Subtraction Half Adder
Computer Architecture Lecture 9 MIPS ALU and Data Paths Ralph Grishman Oct NYU.
CPU Overview Computer Organization II 1 February 2009 © McQuain & Ribbens Introduction CPU performance factors – Instruction count n Determined.
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
Lecture #23: Arithmetic Circuits-1 Arithmetic Circuits (Part I) Randy H. Katz University of California, Berkeley Fall 2005.
MIPS ALU. Exercise – Design a selector? I need a circuit that takes two input bits, a and b, and a selector bit s. The function is that if s=0, f=a. if.
The George Washington University School of Engineering and Applied Science Department of Electrical and Computer Engineering ECE122 – Lab 6 Multiplexers,
ECE 3110: Introduction to Digital Systems Chapter 5 Combinational Logic Design Practices Adders,subtractors, ALUs.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
Combinational Circuits
Computer Design Basics
Chap 7. Register Transfers and Datapaths
Introduction CPU performance factors
Morgan Kaufmann Publishers The Processor
Morgan Kaufmann Publishers
LAB #1 Introduction Combinational Logic Design
Prof. Sirer CS 316 Cornell University
Instructors: Randy H. Katz David A. Patterson
Design of an Arithmetic Logic Unit (ALU)
Arithmetic Circuits (Part I) Randy H
Computer Architecture and Design Lecture 6
Levels in Processor Design
Rocky K. C. Chang 6 November 2017
Levels in Processor Design
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Guest Lecturer TA: Shreyas Chand
Homework Reading Machine Projects Labs
Unit 10 Arithmetic-logic Units
Arithmetic and Decisions
Levels in Processor Design
Prof. Sirer CS 316 Cornell University
Levels in Processor Design
Computer Design Basics
Combinational Circuits
ECE 352 Digital System Fundamentals
Design of Digital Circuits Lab 5 Supplement: Implementing an ALU
Levels in Processor Design
CS334: Logisim program lab6
Instruction execution and ALU
COMS 361 Computer Organization
Instructor: Michael Greenbaum
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

ALU Design CS3410

ALU Overview Arithmetic Logic Unit Core of integer data path 2 operands, 32-bits wide, plus control signals

Mechanism +/– Implements add, sub, or, and, shift-left, right-shift… Computes many results in parallel Control mux selects desired output from among all potential results +/– A B

Requirements You can only use the following Logisim elements: Anything in the Wiring folder (pins, splitters, probes, tunnels, etc.) Anything in the Base folder (wires, text, etc.) Anything in the Gates folder except for the even parity, odd parity, and controlled buffer elements. Anything in the Plexers folder.

Bit Shifts Logical Shift (4-bit) Left logical shift Right logical shift 0b1101 >> 2 = ? 0b0101 >> 2 = ?

Bit Shifts Logical Shift (4-bit) Left logical shift 0b1101 << 2 = 0b0100 0b1100 << 2 = 0b0000 Right logical shift 0b1101 >> 2 = 0b0011 0b0101 >> 2 = 0b0001

Bit Shifts Arithmetic Shift (4-bit) Right arithmetic shift

Bit Shifts Arithmetic Shift (4-bit) Right arithmetic shift 0b1101 >> 2 = 0b1111 0b0101 >> 2 = 0b0001

Basic ALU(2-bit) Note: the two inputs to the adder here for the ALU are NOT signed two's complement numbers. This is different from the requirements listed on the webpage of Lab1. Logisim Example

Test Vectors Note: the two inputs to the adder here for the ALU are NOT signed two's complement numbers. This is different from the requirements listed on the webpage of Lab1. Logisim Example

What to Submit? README file Logisim Project file Three ascii text files containing test vectors Design documentation Please read the webpage of Lab1 for detailed information.

Lab 1 Dos Best Practices: http://www.cs.cornell.edu/Courses/cs3410/2015fa/labs/logisim_design.html DO get started early. DO write your test cases first. DO use labels to make your circuit readable and executable. Using labels in the correct way is very very very important. Do not use text boxes to label elements, use the Label option to label them. DO make sure that the inputs and outputs are positioned correctly. Data flows left-to-right. Inputs on the left, outputs on the right. DO test each component independently. DO use version control and backup your circuit.

Lab 1 Don’ts Points will be take off for DON’Ts DON’T use tunnels excessively. DON’T forget to label your inputs and outputs correctly. The labels are case-sensitive. DON’T use gates with more number of inputs than necessary. DON’T forget to test. DON’T include circuits from different files. Use subcircuits like we did in Lab0. Ensure that you do not have external file dependencies.

Version Control You can use Git and Github to keep track of revisions of your circuit file. If using an online repository you MUST make it private. Github (https://education.github.com) and Bitbucket (https://bitbucket.org) allow for free repos. To learn how to use Git see http://git-scm.com/docs/gittutorial Logisim and Git sometimes don’t work well together when merging, be careful and check files carefully while merging.