8-1. Fig. 8-1 ASM Chart Elements 2001 Prentice Hall, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

Size: px
Start display at page:

Download "8-1. Fig. 8-1 ASM Chart Elements 2001 Prentice Hall, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated."

Transcription

1 8-1 Name Binary code IDLE 000 Register operation or output R 0 RUN Condition (a) State box (b) Example of state box (c) Decision box IDLE R 0 From decision box START Register operation or output PC 0 (d) Conditional output box (e) Example of decision and condition output box Fig. 8-1 ASM Chart Elements

2 8-2 IDLE Entry ASM BLOCK AVAIL Exit START A 0 Q 0 Exit Exit MUL0 MUL1 Fig. 8-2 ASM Block

3 8-3 Clock cycle 1 Clock cycle 2 Clock cycle 3 Clock START Q 0 State IDLE MUL1 AVAIL A Fig. 8-3 ASM Timing Behavior

4 Multiplicand Multiplier Product Fig. 8-4 Hand Multiplication Example

5 Multiplicand Multiplier Initial partial product Add multiplicand, since multiplier bit is Partial product after add and before shift Partial product after shift Add multiplicand, since multiplier bit is Partial product after add and before shift a Partial product after shift Partial product after shift Partial product after shift Add multiplicand, since multiplier bit is Partial product after add and before shift Product after final shift a. Note that overflow temporarily occurred. Fig. 8-5 Hardware Multiplication Example

6 8-6 n 1 Counter P IN n Multiplicand Register B log 2 n n Zero detect G (Go) C out Parallel adder Control unit 4 Z Q o n Multiplier 0 C Shift register A Shift register Q n n Control signals Product OUT Fig. 8-6 Block Diagram for Binary Multiplier

7 8-7 IDLE G C 0, A 0 P n 1 MUL0 Q 0 A A + B, C C out MUL1 C 0, C A Q sr C A Q, P P 1 Z Fig. 8-7 ASM Chart for Binary Multiplier

8 8-8 TABLE 8-1 Control Signals for Binary Multiplier Block Diagram Module Microoperation Control Signal Name Control Expression Register A: A 0 A A+ B CAQ sr CAQ Initialize Load Shift_dec IDLE G MUL0 Q 0 MUL1 Register B: B IN Load_B LOADB Flip-Flop C: C 0 Clear_C IDLE G + MUL1 C Load C out Register Q: Q IN CAQ sr CAQ Load_Q Shift_dec LOADQ Counter P: P n 1 Initialize P P 1 Shift_dec Table 8-1 Control Signals for Binary Multiplier

9 8-9 IDLE 00 G MUL0 01 MUL1 10 Z Fig. 8-8 Sequencing Part of ASM Chart for the Binary Multiplier

10 8-10 TABLE 8-2 State Table for Sequence Register and Decoder Part of Multiplier Control Unit Present state Inputs Next state Decoder Outputs Name M 1 M 0 G Z M 1 M 0 IDLE MUL0 MUL1 IDLE MUL MUL Table 8-2 State Table for Sequence Register and Decoder Part of Multiplier Control Unit

11 8-11 G Z D M 0 C DECODER IDLE A0 0 MUL0 1 2 MUL1 A1 3 Initialize Clear_C Shift_dec D M 1 C Q 0 Load Clock Fig. 8-9 Control Unit for Binary Multiplier Using a Sequence Register and a Decoder

12 8-12 State Entry Entry State D C Exit Entry X (a) State box Exit X Entry Exit 0 Exit 1 (b) Decision box Exit 0 Exit 1 Entry 1 Entry 2 Entry 1 Entry 2 Exit (c) Junction Exit Entry Entry X 1 X Exit 1 Control Exit 1 (d) Conditional output box Fig Transformation Rules for Control Unit with One Flip-Flop per State

13 IDLE D 1 C G 2 4 Initialize 3 MUL0 D 1 Q 0 4 Clear _C Load C MUL1 D 1 4 Shift_dec C Clock Z 2 Fig Control Unit with One Flip-Flop per State for the Binary Multiplier

14 Binary Multiplier with n = 4: VHDL Description -- See Figures 8-6 and 8-7 for block diagram and ASM Chart library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity binary_multiplier is port(clk, RESET, G, LOADB, LOADQ: in std_logic; MULT_IN: in std_logic_vector(3 downto 0); MULT_OUT: out std_logic_vector(7 downto 0)); end binary_multiplier; architecture behavior_4 of binary_multiplier is type state_type is (IDLE, MUL0, MUL1); signal state, next_state : state_type; signal A, B, Q: std_logic_vector(3 downto 0); signal P: std_logic_vector(1 downto 0); signal C, Z: std_logic; begin Z <= P(1) NOR P(0); MULT_OUT <= A & Q; state_register: process (CLK, RESET) begin if (RESET = '1') then state <= IDLE; elsif (CLK event and CLK = '1') then state <= next_state; end if; end process; next_state_func: process (G, Z, state) begin case state is when IDLE => if G = '1' then next_state <= MUL0; else next_state <= IDLE; end if; when MUL0 => next_state <= MUL1; when MUL1 => if Z = '1' then next_state <= IDLE; else next_state <= MUL0; end if; Fig VHDL Description of a Binary Multiplier

15 8-15 end case; end process; datapath_func: process (CLK) variable CA: std_logic_vector(4 downto 0); begin if (CLK event and CLK = '1') then if LOADB = '1' then B <= MULT_IN; end if; if LOADQ = '1' then Q <= MULT_IN; end if; case state is when IDLE => if G = '1' then C <= '0'; A <= "0000"; P <= "11"; end if; when MUL0 => if Q(0) = '1' then CA := ('0' & A) + ('0' & B); else CA := C & A; end if; C <= CA(4); A <= CA(3 downto 0); when MUL1 => C <= '0'; A <= C & A(3 downto 1); Q <= A(0) & Q(3 downto 1); P <= P - "01"; end case; end if; end process; end behavior_4; Fig VHDL Description of a Binary Multiplier (Continued)

16 8-16 // Binary Multiplier with n = 4: Verilog Description // See Figures 8-6 and 8-7 for block diagram and ASM Chart module binary_multiplier_v (CLK, RESET, G, LOADB, LOADQ, MULT_IN, MULT_OUT); input CLK, RESET, G, LOADB, LOADQ; input [3:0] MULT_IN; output [7:0] MULT_OUT; reg [1:0] state, next_state, P; parameter IDLE = 2 b00, MUL0 = 2 b01, MUL1 = 2 b10; reg [3:0] A, B, Q; reg C; wire Z; assign Z = ~ P; assign MULT_OUT = {A,Q}; //state register always@(posedge CLK or posedge RESET) begin if (RESET == 1) state <= IDLE; else state <= next_state; end //next state function always@(g or Z or state) begin case (state) IDLE: if (G == 1) next_state <= MUL0; else next_state <= IDLE; MUL0: next_state <= MUL1; MUL1: if (Z == 1) next_state <= IDLE; else next_state <= MUL0; endcase end //datapath function always@(posedge CLK) Fig Verilog Description of a Binary Multiplier

17 8-17 begin if (LOADB == 1) B <= MULT_IN; if (LOADQ == 1) Q <= MULT_IN; case (state) IDLE: if (G == 1) begin C <= 0; A <= 4 b0000; P <= 2 b11; end MUL0: if (Q[0] == 1) {C, A} = A + B; MUL1: begin C <= 1 b0; A <= {C, A[3:1]}; Q <= {A[0], Q[3:1]}; P <= P - 2 b01; end endcase end endmodule Fig Verilog Description of a Binary Multiplier (Continued)

18 8-18 Control inputs Status signals from datapath Next-address generator Control address register Sequencer Control address Address Control memory (ROM) Data Next-address information Control data register (optional) Control outputs Microinstruction Control signals to datapath Fig Microprogrammed Control Unit Organization

19 8-19 IDLE 000 G INIT 001 A 0, C 0 P n 1 MUL0 010 Q 0 ADD 011 A A + B, C C out MUL1 100 C 0, C A Q sr C A Q, P P 1 Z Fig ASM Chart for Microprogrammed Binary Multiplier Control Unit

20 NXTADD1 NXTADD0 SEL DATAPATH Fig Microinstruction Control Word Format

21 8-21 TABLE 8-3 Control Signals for Microprogrammed Multiplier Control Control Signal Register Transfers States in Which Signal is Active Microinstruction Bit Position Symbolic Notation Initialize A 0, P n 1 INIT 0 IT Load A A+ B, C C out ADD 1 LD Clear_C C 0 INIT, MUL1 2 CC Shift_dec CAQ sr CAQP, P 1 MUL1 3 SD Table 8-3 Control Signals for Microprogrammed Multiplier Control

22 8-22 TABLE 8-4 SEL Field Definition for Binary Multiplier Control Sequencing SEL Symbolic notation Binary Code Sequencing Microoperations NXT 00 DG 01 DQ 10 DZ 11 CAR NXTADD0 G: CAR NXTADD0 G: CAR NXTADD1 Q 0 : CAR NXTADD0 Q 0 : CAR NXTADD1 Z: CAR NXTADD0 Z: CAR NXTADD1 Table 8-4 SEL Field Definition for Binary Multiplier Control Sequencing

23 8-23 IN n 2 Datapath 4 n OUT MUX1 2 to 1 MUX DATAPATH 0 G Z Q 0 MUX2 4 to 1 MUX S 3 CAR x 12 Control Memory (ROM) SEL NXTADD0 NXTADD1 S 1 S 0 2 Fig Microprogrammed Control Unit for Multiplier

24 8-24 TABLE 8-5 Register Transfer Description of Binary Multiplier Microprogram Address IDLE INIT MUL0 ADD MUL1 Symbolic transfer statement G: CAR INIT, G: CAR IDLE C 0, A 0, P n 1, CAR MUL0 Q 0 : CAR ADD, Q 0 : CAR MUL1 A A+ B, C C out, CAR MUL1 C 0, CAQ sr CAQ, Z: CAR IDLE, Z: CAR MUL0, P P 1 Table 8-5 Register Transfer Description of Binary Multiplier Microprogram

25 8-25 TABLE 8-6 Symbolic Microprogram and Binary Microprogram for Multiplier Address NXTADD1 NXTADD0 SEL DATAPATH Address NXTADD1 NXTADD0 SEL DATAPATH IDLE INIT IDLE DG None INIT MUL0 NXT IT, CC MUL0 ADD MUL1 DQ None ADD MUL1 NXT LD MUL1 IDLE MUL0 DZ CC, SD Table 8-6 Symbolic Microprogram and Binary Microprogram for Multiplier

26 Opcode Destination register (DR) Source register A (SA) Source register B (SB) (a) Register Opcode Destination register (DR) Source register A (SA) Operand (OP) (b) Immediate Opcode Address (AD) (Left) Source register A (SA) Address (AD) (Right) (c) Jump and Branch Fig Three Instruction Formats

27 8-27 Decimal address Memory contents Decimal opcode Other specified fields Operation (Subtract) DR:1, SA:2 SB:3 R1 R2 R (Store) SA:4 SB:5 M [R4] R (Add Immediate) DR:2 SA:7 OP:3 R2 R (Branch on zero) AD: 44 SA:6 If R6 = 0, PC PC Data = 192. After execution of instruction in 35, Data = 80. Fig Memory Representation of Instructions and Data

28 8-28 Instruction memory 2 15 x 16 Program counter (PC) Register file 8 x 16 Data memory 2 15 x 16 Fig Storage Resource Diagram for a Simple Computer

29 8-29 V C N Z Branch Control PC Extend IR(8:6) IR(2:0) L P J B B C Address Instruction memory Instruction RW DA AA D Register file A B BA Instruction decoder IR(2:0) Zero fill Constant in 1 0 MUX B MB D A B A A A M B F S M D R W M W P L J B B C CONTROL FS V C N Z Bus A A Bus B Function unit F B Address out Data out Data in MW Data memory Data out Address Data in Bus D MD MUX D DATAPATH Fig Block Diagram for a Single-Cycle Computer

30 8-30 Instruction Opcode DR SA SB DA AA BA MB FS MD RW MW PL JB BC Control word Fig Diagram of Instruction Decoder

31 8-31 TABLE 8-7 Truth Table for Instruction Decoder Logic Instruction Bits Control Word Bits Instruction Function Type Bit 15 Bit 14 Bit 13 MB MD RW MW PL JB ALU function using registers X Shifter function using registers X Memory write using register data 0 0 X 0 X Memory read using register data X ALU operation using a constant X Shifter function using a constant X Conditional Branch X X 0 0 Unconditional Jump X X 0 1 Table 8-7 Truth Table for Instruction Decoder Logic

32 8-32 TABLE 8-8 Six Instructions for the Single-Cycle Computer Operation code Symbolic name Format Description Function MB MD RW MW PL JB ADI Immediate Add immediate R[ DR] R[ SA] + zf I(2:0) operand LD Register Load memory content into register R[ DR] MRSA [ [ ]] ST Register Store register MRSA [ [ ]] R[ SB] 0 0 content in memory SL Register Shift left R[ DR] slr[ SB] NOT Register Complement register BRZ Jump/Branch If R[SA] = 0, branch to PC + se AD R[ DR] R[ SA] If R[SA] = 0, PC PC + sead, If R[SA] 0, PC PC Table 8-8 Six Instructions for the Single-Cycle Computer

33 8-33 PC 1 ns Instruction memory 4 ns Register file (Read) 3 ns MUX B 1 ns Function unit or Data memory 4 ns MUX D 1 ns Register file (Write) 3 ns Fig Worst Case Delay Path in Single-Cycle Computer

34 8-34 Extend PL PI PC ZCNZVC MUX S 3 MS 16 TD DR RW 4 DA D 9 x 16 Register file 8 IL Opcode IR DR SA SB TD SA 4 Zero fill AA A B BA 4 TB SB MC MUX C 1 0 MUX B MB CAR 8 Bus A Bus B MM MUX M Control memory 256 x 28 FS V C N A Function unit B Data MW Address out out Data in Address Memory M N A M S M C I L P I Sequence control P L T D T A T B M B F S M D R W M M M W 4 Datapath control Z MD Bus D F MUX D Data in Data out MICROPROGRAMMED CONTROL DATAPATH Fig Multiple-Cycle Microprogrammed Computer

35 NA MS M C I L P I P L T D T A T B M B FS M D R W M M M W Fig Format for Microinstruction

36 8-36 TABLE 8-9 Control Word Information for Datapath TD TA TB MB FS MD RW MM MW Select Select Select Select Code Function Code Select Function Select Function Code R[DR] R[SA] R[SB] Register 0 F = A FnUt No write (NW) Address No write (NW) 0 R8 R8 R8 Constant 1 F = A Data In Write (WR) PC Write (WR) 1 F = A + B F = A + B+ 1 F = A + B F = A + B+ 1 F = A 1 F = A F = A B F = A B F = A B F = A F = B F = sr B F = sl B Table 8-9 Control Word Information for Datapath

37 8-37 TABLE 8-10 Control Information for Sequence Control Fields MS MC IL PI PL Action Symbolic Notation Code Select Symbolic Notation Action Symbolic Notation Action Symbolic Notation Action Symbolic Notation Code Increment CAR CNT 000 NA NXA No load NLI No load NLP No load NLP 0 Load CAR NXT 001 Opcode OPC Load instr. LDI Increment PC INP Load PC LDP 1 If C 1, load CAR; BC 010 else increment CAR If V 1, load CAR; BV 011 else increment CAR If Z 1, load CAR; BZ 100 else increment CAR If N 1, load CAR; BN 101 else increment CAR If C 0, load CAR; BNC 110 else increment CAR If Z 0, load CAR, else increment CAR BNZ 111 Table 8-10 Control Information for Sequence Control Fields

38 8-38 EX IF IR M [PC] PC PC + 1 IR = ? ADl R [DR] R [SA] + zf IR [2:0] IR = ? LD R [DR] M [R [SA] ] IR = ? ST M [R [SA] ] R [SB] IR = ? INC R [DR] R [SA] + 1 IR = ? NOT R [DR] R [SA] IR = ? ADD R [DR] R [SA] + R [SB] IR = ? IR = ? Fig ASM Chart for Multiple-Cycle Microprogrammed Computer

39 8-39 TABLE 8-11 Symbolic Microprogram for Fetch and Execution of Six Instructions Address NXT ADD MS MC IL PI PL TD TA TB MB FS MD RW MM MW IF EX0 CNT LDI INP NLP NW PC NW EXO NXT OPC NLI NLP NLP NW NW ADI IF NXT NXA NLI NLP NLP DR SA Constant F = A + B FnUt WR NW LD IF NXT NXA NLI NLP NLP DR SA Data WR MA NW ST IF NXT NXA NLI NLP NLP SA SB Register NW MA WR INC IF NXT NXA NLI NLP NLP DR SA F = A + 1 FnUt WR NW NOT IF NXT NXA NLI NLP NLP DR SA F = A FnUt WR NW ADD IF NXT NXA NLI NLP NLP DR SA SB Register F = A + B FnUt WR NW Table 8-11 Symbolic Microprogram for Fetch and Execution of Six Instructions

40 8-40 TABLE 8-12 Binary Microprogram for Fetch and Execution of Six Instructions Address NXT ADD MS MC IL PI PL TD TA TB MB FS MD RW MM MW Table 8-12 Binary Microprogram for Fetch and Execution of Six Instructions

41 8-41 IR = ? LRI0 R8 M [R [ SA] ] LRI R [DR] M [R8] Fig ASM Chart for Register Indirect Instruction To IF

42 8-42 IR = ? SRM R8 zf IR [2:0] zf IR [2:0] = 0? 1 T0 IF 0 SRM R [DR] sr R [SA], NOTE: SA = DR SRM R8 R8 1 R8 = 0? 1 T0 IF 0 Fig ASM Chart for Right-Shift Multiple Instruction

43 8-43 EX0 01 IF 00 IR M [PC], PC PC + 1 IR = ? (ADl) R [DR] R [SA] + zf IR [2:0] IR = ? (LD) R [DR] M [R [SA] ] IR = ? (ST) M [R [SA] ] R [SB] IR = ? (INC) R [DR] R [SA] + 1 IR = ? (NOT) R [DR] R [SA] IR = ? (ADD) R [DR] R [SA] + R [SB] IR = ? (LRI) R8 M [R [SA] ] EX1 10 R [DR] M [R8] Fig ASM Chart for Multiple-Cycle, Decoder-Based Computer

44 8-44 CR Syn. reset Counter IL Decoder I R Decoder ADI LD ST INC NOT ADD LRI 2 I F E X E X Control logic C R I L P I T D T A T B M B F S M D R M W M M W Fig Block Diagram of Hardwired Counter and Decoder-Based, Multiple-Cycle Control Unit

45 8-45 WAREHOUSE Fig Assembly Line Analogy to Computer Pipeline

46 8-46 IF PC Stage 1 Address Instruction memory Instruction IF DOF IR AA Register file A data B data BA Stage 2 Instruction decoder Zero fill MUX B MB DOF AA BA MB Data A Data B EX FS MW Address out Stage 3 FS C V N 5 A B Function unit Data memory Address Z F Data in Data out EX WB Data F Data I Data out Data in MW Address Stage 4 WB DA MD RW CONTROL RW D DATAPATH MD MUX D D data register file (same as above) Data memory (same as above) Fig Block Diagram of Pipelined Computer

47 Clock cycle IF DOF EX WB 2 IF DOF EX WB 3 IF DOF EX WB 4 IF DOF EX WB 5 IF DOF EX WB 6 IF DOF EX WB 7 IF DOF EX WB Instruction Fig Pipeline Execution Pattern of Register Number Program

48 , 01 S , 11 01, S , 10, 11 S , 10 Fig State Diagram for Problem 8-1

8-1. Fig. 8-1 ASM Chart Elements 2001 Prentice Hall, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

8-1. Fig. 8-1 ASM Chart Elements 2001 Prentice Hall, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated. 8-1 Name Binary code IDLE 000 Register operation or output R 0 RUN 0 1 Condition (a) State box (b) Example of state box (c) Decision box IDLE R 0 From decision box 0 1 START Register operation or output

More information

TABLE 8-1. Control Signals for Binary Multiplier. Load. MUL0 Q 0 CAQ sr CAQ. Shift_dec. C out. Load LOADQ. CAQ sr CAQ. Shift_dec P P 1.

TABLE 8-1. Control Signals for Binary Multiplier. Load. MUL0 Q 0 CAQ sr CAQ. Shift_dec. C out. Load LOADQ. CAQ sr CAQ. Shift_dec P P 1. T-192 Control Signals for Binary Multiplier TABLE 8-1 Control Signals for Binary Multiplier Block Diagram Module Microoperation Control Signal Name Control Expression Register A: A 0 Initialize IDLE G

More information

Control Unit: Binary Multiplier. Arturo Díaz-Pérez Departamento de Computación Laboratorio de Tecnologías de Información CINVESTAV-IPN

Control Unit: Binary Multiplier. Arturo Díaz-Pérez Departamento de Computación Laboratorio de Tecnologías de Información CINVESTAV-IPN Control Unit: Binary Multiplier Arturo Díaz-Pérez Departamento de Computación Laboratorio de Tecnologías de Información CINVESTAV-IPN Example: Binary Multiplier Two versions Hardwired control Microprogrammed

More information

Chapter 10 Computer Design Basics

Chapter 10 Computer Design Basics Logic and Computer Design Fundamentals Chapter 10 Computer Design Basics Part 2 A Simple Computer Charles Kime & Thomas Kaminski 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View

More information

Chapter 9 Computer Design Basics

Chapter 9 Computer Design Basics Logic and Computer Design Fundamentals Chapter 9 Computer Design asics Part 2 A Simple Computer Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Overview

More information

ECE 3401 Lecture 20. Microprogramming (III) Overview. Single-Cycle Computer Issues. Multiple-Cycle Computer. Single-Cycle SC

ECE 3401 Lecture 20. Microprogramming (III) Overview. Single-Cycle Computer Issues. Multiple-Cycle Computer. Single-Cycle SC Overview ECE 34 Lecture 2 icroprogramming (III) Part Datapaths Introduction Datapath Example Datapath Representation and Control Word Part 2 A Simple Computer Set Architecture (ISA) Single-Cycle Hardwired

More information

Computer Architecture Programming the Basic Computer

Computer Architecture Programming the Basic Computer 4. The Execution of the EXCHANGE Instruction The EXCHANGE routine reads the operand from the effective address and places it in DR. The contents of DR and AC are interchanged in the third microinstruction.

More information

MICROPROGRAMMED CONTROL

MICROPROGRAMMED CONTROL MICROPROGRAMMED CONTROL Hardwired Control Unit: When the control signals are generated by hardware using conventional logic design techniques, the control unit is said to be hardwired. Micro programmed

More information

Lab 3: Standard Combinational Components

Lab 3: Standard Combinational Components Lab 3: Standard Combinational Components Purpose In this lab you will implement several combinational circuits on the DE1 development board to test and verify their operations. Introduction Using a high-level

More information

Universiteit Leiden Opleiding Informatica

Universiteit Leiden Opleiding Informatica Universiteit Leiden Opleiding Informatica Design, Analysis, and Optimization of an Embedded Processor Name: Ruben Meerkerk Studentnr: s1219677 Date: 31/08/2016 1st supervisor: Dr. T.P. Stefanov 2nd supervisor:

More information

Control and Datapath 8

Control and Datapath 8 Control and Datapath 8 Engineering attempts to develop design methods that break a problem up into separate steps to simplify the design and increase the likelihood of a correct solution. Digital system

More information

REGISTER TRANSFER LANGUAGE

REGISTER TRANSFER LANGUAGE REGISTER TRANSFER LANGUAGE The operations executed on the data stored in the registers are called micro operations. Classifications of micro operations Register transfer micro operations Arithmetic micro

More information

Final Exam Review. b) Using only algebra, prove or disprove the following:

Final Exam Review. b) Using only algebra, prove or disprove the following: EE 254 Final Exam Review 1. The final exam is open book and open notes. It will be made up of problems similar to those on the previous 3 hour exams. For review, be sure that you can work all of the problems

More information

THE MICROPROCESSOR Von Neumann s Architecture Model

THE MICROPROCESSOR Von Neumann s Architecture Model THE ICROPROCESSOR Von Neumann s Architecture odel Input/Output unit Provides instructions and data emory unit Stores both instructions and data Arithmetic and logic unit Processes everything Control unit

More information

ENGG3380: Computer Organization and Design Lab5: Microprogrammed Control

ENGG3380: Computer Organization and Design Lab5: Microprogrammed Control ENGG330: Computer Organization and Design Lab5: Microprogrammed Control School of Engineering, University of Guelph Winter 201 1 Objectives: The objectives of this lab are to: Start Date: Week #5 201 Due

More information

Contents. Chapter 9 Datapaths Page 1 of 28

Contents. Chapter 9 Datapaths Page 1 of 28 Chapter 9 Datapaths Page of 2 Contents Contents... 9 Datapaths... 2 9. General Datapath... 3 9.2 Using a General Datapath... 5 9.3 Timing Issues... 7 9.4 A More Complex General Datapath... 9 9.5 VHDL for

More information

Chapter 1 Microprocessor architecture ECE 3120 Dr. Mohamed Mahmoud http://iweb.tntech.edu/mmahmoud/ mmahmoud@tntech.edu Outline 1.1 Computer hardware organization 1.1.1 Number System 1.1.2 Computer hardware

More information

CSC 220: Computer Organization Unit 12 CPU programming

CSC 220: Computer Organization Unit 12 CPU programming College of Computer and Information Sciences Department of Computer Science CSC 220: Computer Organization Unit 12 CPU programming 1 Instruction set architectures Last time we built a simple, but complete,

More information

MCPU - A Minimal 8Bit CPU in a 32 Macrocell CPLD.

MCPU - A Minimal 8Bit CPU in a 32 Macrocell CPLD. MCPU - A Minimal 8Bit CPU in a 32 Macrocell CPLD. Tim Böscke, cpldcpu@opencores.org 02/2001 - Revised 10/2004 This documents describes a successful attempt to fit a simple VHDL - CPU into a 32 macrocell

More information

Chapter 5. Computer Architecture Organization and Design. Computer System Architecture Database Lab, SANGJI University

Chapter 5. Computer Architecture Organization and Design. Computer System Architecture Database Lab, SANGJI University Chapter 5. Computer Architecture Organization and Design Computer System Architecture Database Lab, SANGJI University Computer Architecture Organization and Design Instruction Codes Computer Registers

More information

More advanced CPUs. August 4, Howard Huang 1

More advanced CPUs. August 4, Howard Huang 1 More advanced CPUs In the last two weeks we presented the design of a basic processor. The datapath performs operations on register and memory data. A control unit translates program instructions into

More information

ELCT 501: Digital System Design

ELCT 501: Digital System Design ELCT 501: Digital System Lecture 4: CAD tools (Continued) Dr. Mohamed Abd El Ghany, Basic VHDL Concept Via an Example Problem: write VHDL code for 1-bit adder 4-bit adder 2 1-bit adder Inputs: A (1 bit)

More information

Blog - https://anilkumarprathipati.wordpress.com/

Blog - https://anilkumarprathipati.wordpress.com/ Control Memory 1. Introduction The function of the control unit in a digital computer is to initiate sequences of microoperations. When the control signals are generated by hardware using conventional

More information

CISC Processor Design

CISC Processor Design CISC Processor Design Virendra Singh Indian Institute of Science Bangalore virendra@computer.org Lecture 3 SE-273: Processor Design Processor Architecture Processor Architecture CISC RISC Jan 21, 2008

More information

Chapter 6: Datapath and Control. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V.

Chapter 6: Datapath and Control. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V. 6- Principles of Computer Architecture Miles Murdocca and Vincent Heuring 999 M. Murdocca and V. Heuring 6-2 Chapter Contents 6. Basics of the Microarchitecture 6.2 A Microarchitecture for the ARC 6.3

More information

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 13 Control and Sequencing: Hardwired and Microprogrammed Control

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 13 Control and Sequencing: Hardwired and Microprogrammed Control EE 459/500 HDL Based Digital Desig with Programmable Logic Lecture 13 Cotrol ad Sequecig: Hardwired ad Microprogrammed Cotrol Refereces: Chapter s 4,5 from textbook Chapter 7 of M.M. Mao ad C.R. Kime,

More information

CHAPTER SIX BASIC COMPUTER ORGANIZATION AND DESIGN

CHAPTER SIX BASIC COMPUTER ORGANIZATION AND DESIGN CHAPTER SIX BASIC COMPUTER ORGANIZATION AND DESIGN 6.1. Instruction Codes The organization of a digital computer defined by: 1. The set of registers it contains and their function. 2. The set of instructions

More information

3 Designing Digital Systems with Algorithmic State Machine Charts

3 Designing Digital Systems with Algorithmic State Machine Charts 3 Designing with Algorithmic State Machine Charts An ASM chart is a method of describing the sequential operations of a digital system which has to implement an algorithm. An algorithm is a well defined

More information

Objective now How are such control statements registers and other components Managed to ensure proper execution of each instruction

Objective now How are such control statements registers and other components Managed to ensure proper execution of each instruction Control and Control Components Introduction Software application similar to familiar nested Russian dolls As we ve observed earlier Application written in some high level programming language C, C++, C#,

More information

IT T35 Digital system desigm y - ii /s - iii

IT T35 Digital system desigm y - ii /s - iii UNIT - V Introduction to Verilog Hardware Description Language Introduction HDL for combinational circuits Sequential circuits Registers and counters HDL description for binary multiplier. 5.1 INTRODUCTION

More information

Class Notes. Dr.C.N.Zhang. Department of Computer Science. University of Regina. Regina, SK, Canada, S4S 0A2

Class Notes. Dr.C.N.Zhang. Department of Computer Science. University of Regina. Regina, SK, Canada, S4S 0A2 Class Notes CS400 Part VI Dr.C.N.Zhang Department of Computer Science University of Regina Regina, SK, Canada, S4S 0A2 C. N. Zhang, CS400 83 VI. CENTRAL PROCESSING UNIT 1 Set 1.1 Addressing Modes and Formats

More information

Digital System Design Using Verilog. - Processing Unit Design

Digital System Design Using Verilog. - Processing Unit Design Digital System Design Using Verilog - Processing Unit Design 1.1 CPU BASICS A typical CPU has three major components: (1) Register set, (2) Arithmetic logic unit (ALU), and (3) Control unit (CU) The register

More information

Chapter 05: Basic Processing Units Control Unit Design. Lesson 15: Microinstructions

Chapter 05: Basic Processing Units Control Unit Design. Lesson 15: Microinstructions Chapter 05: Basic Processing Units Control Unit Design Lesson 15: Microinstructions 1 Objective Understand that an instruction implement by sequences of control signals generated by microinstructions in

More information

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital hardware modules that accomplish a specific information-processing task. Digital systems vary in

More information

Major CPU Design Steps

Major CPU Design Steps Datapath Major CPU Design Steps. Analyze instruction set operations using independent RTN ISA => RTN => datapath requirements. This provides the the required datapath components and how they are connected

More information

6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )

6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( ) 6. Combinational Circuits George Boole (85 864) Claude Shannon (96 2) Signals and Wires Digital signals Binary (or logical ) values: or, on or off, high or low voltage Wires. Propagate digital signals

More information

Computer Architecture

Computer Architecture Computer Architecture Lecture 1: Digital logic circuits The digital computer is a digital system that performs various computational tasks. Digital computers use the binary number system, which has two

More information

EECE 353: Digital Systems Design Lecture 10: Datapath Circuits

EECE 353: Digital Systems Design Lecture 10: Datapath Circuits EECE 353: Digital Systems Design Lecture 10: Datapath Circuits Cristian Grecu grecuc@ece.ubc.ca Course web site: http://courses.ece.ubc.ca/353 Introduction to lecture 10 Large digital systems are more

More information

Sequential Logic - Module 5

Sequential Logic - Module 5 Sequential Logic Module 5 Jim Duckworth, WPI 1 Latches and Flip-Flops Implemented by using signals in IF statements that are not completely specified Necessary latches or registers are inferred by the

More information

Register Transfer Level

Register Transfer Level Register Transfer Level Something between the logic level and the architecture level A convenient way to describe synchronous sequential systems State diagrams for pros Hierarchy of Designs The design

More information

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

CHAPTER 8: Central Processing Unit (CPU)

CHAPTER 8: Central Processing Unit (CPU) CS 224: Computer Organization S.KHABET CHAPTER 8: Central Processing Unit (CPU) Outline Introduction General Register Organization Stack Organization Instruction Formats Addressing Modes 1 Major Components

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware 4.1 Introduction We will examine two MIPS implementations

More information

Chapter 3 : Control Unit

Chapter 3 : Control Unit 3.1 Control Memory Chapter 3 Control Unit The function of the control unit in a digital computer is to initiate sequences of microoperations. When the control signals are generated by hardware using conventional

More information

PESIT Bangalore South Campus

PESIT Bangalore South Campus INTERNAL ASSESSMENT TEST III Date : 21/11/2017 Max Marks : 40 Subject & Code : Computer Organization (15CS34) Semester : III (A & B) Name of the faculty: Mrs. Sharmila Banu Time : 11.30 am 1.00 pm Answer

More information

Blog -

Blog - . Instruction Codes Every different processor type has its own design (different registers, buses, microoperations, machine instructions, etc) Modern processor is a very complex device It contains Many

More information

ECE 2300 Digital Logic & Computer Organization. More Single Cycle Microprocessor

ECE 2300 Digital Logic & Computer Organization. More Single Cycle Microprocessor ECE 23 Digital Logic & Computer Organization Spring 28 More Single Cycle Microprocessor Lecture 6: HW6 due tomorrow Announcements Prelim 2: Tues April 7, 7:3pm, Phillips Hall Coverage: Lectures 8~6 Inform

More information

CENG 3420 Computer Organization and Design. Lecture 06: MIPS Processor - I. Bei Yu

CENG 3420 Computer Organization and Design. Lecture 06: MIPS Processor - I. Bei Yu CENG 342 Computer Organization and Design Lecture 6: MIPS Processor - I Bei Yu CEG342 L6. Spring 26 The Processor: Datapath & Control q We're ready to look at an implementation of the MIPS q Simplified

More information

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS II Fall 1999

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS II Fall 1999 UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS II Fall 1999 Lab 7-10: Micro-processor Design: Minimal Instruction Set Processor (MISP) Objective:

More information

Digital Design with FPGAs. By Neeraj Kulkarni

Digital Design with FPGAs. By Neeraj Kulkarni Digital Design with FPGAs By Neeraj Kulkarni Some Basic Electronics Basic Elements: Gates: And, Or, Nor, Nand, Xor.. Memory elements: Flip Flops, Registers.. Techniques to design a circuit using basic

More information

Digital Design with SystemVerilog

Digital Design with SystemVerilog Digital Design with SystemVerilog Prof. Stephen A. Edwards Columbia University Spring 25 Synchronous Digital Design Combinational Logic Sequential Logic Summary of Modeling Styles Testbenches Why HDLs?

More information

COMPUTER ORGANIZATION

COMPUTER ORGANIZATION COMPUTER ORGANIZATION INDEX UNIT-II PPT SLIDES Srl. No. Module as per Session planner Lecture No. PPT Slide No. 1. Register Transfer language 2. Register Transfer Bus and memory transfers 3. Arithmetic

More information

Single cycle MIPS data path without Forwarding, Control, or Hazard Unit

Single cycle MIPS data path without Forwarding, Control, or Hazard Unit Single cycle MIPS data path without Forwarding, Control, or Hazard Unit Figure 1: an Overview of a MIPS datapath without Control and Forwarding (Patterson & Hennessy, 2014, p. 287) A MIPS 1 single cycle

More information

CSE140 L. Instructor: Thomas Y. P. Lee. March 1, Agenda. Computer System Design. Computer Architecture. Instruction Memory design.

CSE140 L. Instructor: Thomas Y. P. Lee. March 1, Agenda. Computer System Design. Computer Architecture. Instruction Memory design. CSE4 L Instructor: Thomas Y. P. Lee March, 26 Agenda Computer System Design Computer Architecture Instruction Memory design Datapath Registers Program Counter Instruction Decoder Lab4 Simple Computer System

More information

General Purpose Processors

General Purpose Processors Calcolatori Elettronici e Sistemi Operativi Specifications Device that executes a program General Purpose Processors Program list of instructions Instructions are stored in an external memory Stored program

More information

CS 2461: Computer Architecture I

CS 2461: Computer Architecture I Computer Architecture is... CS 2461: Computer Architecture I Instructor: Prof. Bhagi Narahari Dept. of Computer Science Course URL: www.seas.gwu.edu/~bhagiweb/cs2461/ Instruction Set Architecture Organization

More information

CENG 3420 Lecture 06: Datapath

CENG 3420 Lecture 06: Datapath CENG 342 Lecture 6: Datapath Bei Yu byu@cse.cuhk.edu.hk CENG342 L6. Spring 27 The Processor: Datapath & Control q We're ready to look at an implementation of the MIPS q Simplified to contain only: memory-reference

More information

C.P.U Organization. Memory Unit. Central Processing Unit (C.P.U) Input-Output Processor (IOP) Figure (1) Digital Computer Block Diagram

C.P.U Organization. Memory Unit. Central Processing Unit (C.P.U) Input-Output Processor (IOP) Figure (1) Digital Computer Block Diagram C.P.U Organization 1.1 Introduction A computer system is sometimes subdivided into two functional entities "Hardware" and "Software". The H/W of the computer consists of all the electronic components and

More information

RTL Design (Using ASM/SM Chart)

RTL Design (Using ASM/SM Chart) Digital Circuit Design and Language RTL Design (Using ASM/SM Chart) Chang, Ik Joon Kyunghee University Process of Logic Simulation and Synthesis Design Entry HDL Description Logic Simulation Functional

More information

Solutions - Homework 4 (Due date: November 9:30 am) Presentation and clarity are very important!

Solutions - Homework 4 (Due date: November 9:30 am) Presentation and clarity are very important! DPARTMNT OF LCTRICAL AND COMPUTR NGINRING, TH UNIVRSITY OF NW MXICO C-38L: Computer Logic Design Fall 3 Solutions - Homework 4 (Due date: November 6th @ 9:3 am) Presentation and clarity are very important!

More information

Faculty of Engineering Systems & Biomedical Dept. First Year Cairo University Sheet 6 Computer I

Faculty of Engineering Systems & Biomedical Dept. First Year Cairo University Sheet 6 Computer I aculty of Engineering Systems & Biomedical Dept. irst Year Cairo University Sheet 6 Computer I 1. Choose rue or alse for each of the following statements a) In a direct addressing mode instruction, the

More information

Concurrent & Sequential Stmts. (Review)

Concurrent & Sequential Stmts. (Review) VHDL Introduction, Part II Figures in this lecture are from: Rapid Prototyping of Digital Systems, Second Edition James O. Hamblen & Michael D. Furman, Kluwer Academic Publishers, 2001, ISBN 0-7923-7439-

More information

Digital Circuit Design and Language. Datapath Design. Chang, Ik Joon Kyunghee University

Digital 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 information

Unit II Basic Computer Organization

Unit II Basic Computer Organization 1. Define the term. Internal Organization-The internal organization of a digital system is defined by the sequence of microoperations it performs on data stored in its registers. Program- A program is

More information

The University of Alabama in Huntsville Electrical and Computer Engineering CPE/EE 422/522 Spring 2005 Homework #6 Solution

The University of Alabama in Huntsville Electrical and Computer Engineering CPE/EE 422/522 Spring 2005 Homework #6 Solution 5.3(a)(2), 5.6(c)(2), 5.2(2), 8.2(2), 8.8(2) The University of Alabama in Huntsville Electrical and Computer Engineering CPE/EE 422/522 Spring 25 Homework #6 Solution 5.3 (a) For the following SM chart:

More information

EL 310 Hardware Description Languages Midterm

EL 310 Hardware Description Languages Midterm EL 3 Hardware Description Languages Midterm 2 3 4 5 Total Name: ID : Notes: ) Please answer the questions in the provided space after each question. 2) Duration is minutes 3) Closed books and closed notes.

More information

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit Lecture1: introduction Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit 1 1. History overview Computer systems have conventionally

More information

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 4: Datapath and Control

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 4: Datapath and Control ELEC 52/62 Computer Architecture and Design Spring 217 Lecture 4: Datapath and Control Ujjwal Guin, Assistant Professor Department of Electrical and Computer Engineering Auburn University, Auburn, AL 36849

More information

VHDL in 1h. Martin Schöberl

VHDL in 1h. Martin Schöberl VHDL in 1h Martin Schöberl VHDL /= C, Java, Think in hardware All constructs run concurrent Different from software programming Forget the simulation explanation VHDL is complex We use only a small subset

More information

CPE 335. Basic MIPS Architecture Part II

CPE 335. Basic MIPS Architecture Part II CPE 335 Computer Organization Basic MIPS Architecture Part II Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides http://www.abandah.com/gheith/courses/cpe335_s08/index.html CPE232 Basic MIPS Architecture

More information

BUILDING BLOCKS OF A BASIC MICROPROCESSOR. Part 1 PowerPoint Format of Lecture 3 of Book

BUILDING BLOCKS OF A BASIC MICROPROCESSOR. Part 1 PowerPoint Format of Lecture 3 of Book BUILDING BLOCKS OF A BASIC MICROPROCESSOR Part PowerPoint Format of Lecture 3 of Book Decoder Tri-state device Full adder, full subtractor Arithmetic Logic Unit (ALU) Memories Example showing how to write

More information

Control Unit Implementation

Control Unit Implementation Control Unit Implementation Moore Machine Implementation Reset RES PC IF PC MAR, PC + PC Note capture of MBR in these states IF Wait/ IF2 Wait/ Wait/ MAR Mem, Read/Write, Request, Mem MBR Wait/ IF3 Wait/

More information

csitnepal Unit 3 Basic Computer Organization and Design

csitnepal Unit 3 Basic Computer Organization and Design Unit 3 Basic Computer Organization and Design Introduction We introduce here a basic computer whose operation can be specified by the resister transfer statements. Internal organization of the computer

More information

CPU Design John D. Carpinelli, All Rights Reserved 1

CPU Design John D. Carpinelli, All Rights Reserved 1 CPU Design 1997 John D. Carpinelli, All Rights Reserved 1 Outline Register organization ALU design Stacks Instruction formats and types Addressing modes 1997 John D. Carpinelli, All Rights Reserved 2 We

More information

CSE 140L Spring 2010 Bonus Final

CSE 140L Spring 2010 Bonus Final CSE 140L Spring 2010 Bonus Final Logistics for Bonus Final: This final should be done in individually. Use Xilinx tools version 10.1. What is due: - Report: o Submit a single report in.pdf form via email

More information

COMPUTER HARDWARE. Instruction Set Architecture

COMPUTER HARDWARE. Instruction Set Architecture COMPUTER HARDWARE Instruction Set Architecture Overview Computer architecture Operand addressing Addressing architecture Addressing modes Elementary instructions Data transfer instructions Data manipulation

More information

Computer Organisation CS303

Computer Organisation CS303 Computer Organisation CS303 Module Period Assignments 1 Day 1 to Day 6 1. Write a program to evaluate the arithmetic statement: X=(A-B + C * (D * E-F))/G + H*K a. Using a general register computer with

More information

UNIT-III REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT

UNIT-III REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT UNIT-III 1 KNREDDY UNIT-III REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT Register Transfer: Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Micro operations Logic

More information

Module 5 - CPU Design

Module 5 - CPU Design Module 5 - CPU Design Lecture 1 - Introduction to CPU The operation or task that must perform by CPU is: Fetch Instruction: The CPU reads an instruction from memory. Interpret Instruction: The instruction

More information

Controller Implementation--Part II

Controller Implementation--Part II Controller Implementation--Part II Alternative controller FSM implementation approaches based on: Classical Moore and Mealy machines Time-State: Divide and Conquer Jump counters Microprogramming (ROM)

More information

CC 311- Computer Architecture. The Processor - Control

CC 311- Computer Architecture. The Processor - Control CC 311- Computer Architecture The Processor - Control Control Unit Functions: Instruction code Control Unit Control Signals Select operations to be performed (ALU, read/write, etc.) Control data flow (multiplexor

More information

There are four registers involved in the fetch cycle: MAR, MBR, PC, and IR.

There are four registers involved in the fetch cycle: MAR, MBR, PC, and IR. CS 320 Ch. 20 The Control Unit Instructions are broken down into fetch, indirect, execute, and interrupt cycles. Each of these cycles, in turn, can be broken down into microoperations where a microoperation

More information

Chapter 15: Design Examples. CPU Design Example. Prof. Soo-Ik Chae 15-1

Chapter 15: Design Examples. CPU Design Example. Prof. Soo-Ik Chae 15-1 CPU Design Example Prof. Soo-Ik Chae 5- Partitioned Sequential Machine Datapaths Datapath Unit External Control Inputs Control Unit Finite State Machine Control signals Datapath Logic Clock Datapath Registers

More information

CS/EE Homework 7 Solutions

CS/EE Homework 7 Solutions CS/EE 260 - Homework 7 Solutions 4/2/2001 1. (20 points) A 4 bit twisted ring counter is a sequential circuit which produces the following sequence of output values: 0000, 1000, 1100, 1110, 1111, 0111,

More information

yamin/

yamin/ http://cis.k.hosei.ac.jp/ yamin/ Verilog HDL p.1/76 HDL Verilog HDL IEEE Standard 1364-1995 (Verilog-1995) IEEE Standard 1364-2001 (Verilog-2001) VHDL VHSIC HDL IEEE Standard 1076-1987 AHDL Altera HDL

More information

Register Transfer and Micro-operations

Register Transfer and Micro-operations Register Transfer Language Register Transfer Bus Memory Transfer Micro-operations Some Application of Logic Micro Operations Register Transfer and Micro-operations Learning Objectives After reading this

More information

Chapter 4 The Von Neumann Model

Chapter 4 The Von Neumann Model Chapter 4 The Von Neumann Model The Stored Program Computer 1943: ENIAC Presper Eckert and John Mauchly -- first general electronic computer. (or was it John V. Atananasoff in 1939?) Hard-wired program

More information

DC57 COMPUTER ORGANIZATION JUNE 2013

DC57 COMPUTER ORGANIZATION JUNE 2013 Q2 (a) How do various factors like Hardware design, Instruction set, Compiler related to the performance of a computer? The most important measure of a computer is how quickly it can execute programs.

More information

Schedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a

Schedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu November 8, 2006 Midterm Average: 70 Lecture 16: Midterm Solutions Homework 6: Calculator Handshaking HW 6: Due Wednesday, November

More information

EE 3170 Microcontroller Applications

EE 3170 Microcontroller Applications EE 3170 Microcontroller Applications Lecture 4 : Processors, Computers, and Controllers - 1.2 (reading assignment), 1.3-1.5 Based on slides for ECE3170 by Profs. Kieckhafer, Davis, Tan, and Cischke Outline

More information

Basic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control,

Basic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control, UNIT - 7 Basic Processing Unit: Some Fundamental Concepts, Execution of a Complete Instruction, Multiple Bus Organization, Hard-wired Control, Microprogrammed Control Page 178 UNIT - 7 BASIC PROCESSING

More information

CPU Organization (Design)

CPU Organization (Design) ISA Requirements CPU Organization (Design) Datapath Design: Capabilities & performance characteristics of principal Functional Units (FUs) needed by ISA instructions (e.g., Registers, ALU, Shifters, Logic

More information

Control Unit Implementation Hardwired Memory

Control Unit Implementation Hardwired Memory Chapter 7: Microprogrammed nit mplementation Hardwired nstruction code Sequence Counter Combinational Logic Circuits signals Microprogrammed nstruction code CAR: Register CDR: Data Register Next Generator

More information

EEL 4712 Digital Design Test 1 Spring Semester 2008

EEL 4712 Digital Design Test 1 Spring Semester 2008 IMPORTANT: Please be neat and write (or draw) carefully. If we cannot read it with a reasonable effort, it is assumed wrong. Also, as always, the best answer gets the most points. COVER SHEET: Problem:

More information

!"#$%&&"'(')"*+"%,%-".#"'/"'.001$$"

!#$%&&'(')*+%,%-.#'/'.001$$ !"#$%&&"'(')"*+"%,%-".#"'/"'.001$$"!!"#$%&'#()#*+"+#,-."/0110#230#4."50",+"+#)6# 6+-+#(.6+-0#)4475.8)60#0/#.65-0#230#9+**+"+# 2.48).-0#(.6+-0#! 2+"*5."5*:#,."/0110#;)**0! *),".6*:#-.99-0*0"5."+#2+660,.40"5)#;)*)2)#

More information

Fig: Computer memory with Program, data, and Stack. Blog - NEC (Autonomous) 1

Fig: Computer memory with Program, data, and Stack. Blog -   NEC (Autonomous) 1 Central Processing Unit 1. Stack Organization A useful feature that is included in the CPU of most computers is a stack or last in, first out (LIFO) list. A stack is a storage device that stores information

More information

Engr 303 Digital Logic Design Fall 2018

Engr 303 Digital Logic Design Fall 2018 Engr 303 Digital Logic Design Fall 2018 LAB 14 Single Cycle Computer You will implement the single cycle computer given in Figure 8-15 of the Chapter 8 handout. Implement these designs, compile, simulate,

More information

CO Computer Architecture and Programming Languages CAPL. Lecture 18 & 19

CO Computer Architecture and Programming Languages CAPL. Lecture 18 & 19 CO2-3224 Computer Architecture and Programming Languages CAPL Lecture 8 & 9 Dr. Kinga Lipskoch Fall 27 Single Cycle Disadvantages & Advantages Uses the clock cycle inefficiently the clock cycle must be

More information

The overall datapath for RT, lw,sw beq instrucution

The overall datapath for RT, lw,sw beq instrucution Designing The Main Control Unit: Remember the three instruction classes {R-type, Memory, Branch}: a) R-type : Op rs rt rd shamt funct 1.src 2.src dest. 31-26 25-21 20-16 15-11 10-6 5-0 a) Memory : Op rs

More information

RAČUNALNIŠKEA COMPUTER ARCHITECTURE

RAČUNALNIŠKEA COMPUTER ARCHITECTURE RAČUNALNIŠKEA COMPUTER ARCHITECTURE 6 Central Processing Unit - CPU RA - 6 2018, Škraba, Rozman, FRI 6 Central Processing Unit - objectives 6 Central Processing Unit objectives and outcomes: A basic understanding

More information