Microprogrammed Control

Size: px
Start display at page:

Download "Microprogrammed Control"

Transcription

1 Calcolatori Elettroici e Sistemi Operativi Microprogrammed Microprogrammed Iputs (state) Status sigals (from datapath) NS = δ(s,i) = ((S),I) O = λ(s) Next state Outputs sigals (to datapath) Microprogrammed Microprogrammed Iputs Status sigals (from datapath) (state) Next state Iputs Address geerator Memory Status sigals (from datapath) Sequecer Memory is also called Store CAR: Address ROM PROM RAM PLA CDR: Data Outputs sigals (to datapath) Data for the ext address (optioal) Outputs Microistructio sigals (to datapath)

2 Microprogrammed Microprogrammed Sequecer: geerates the states sequece successio of cosecutive states => coutig break o successio => jump Sigals Memory REG Sigals Memory REG Iputs ad Status Sigals Status Sigals Iputs Microistructios ad jumps sequece Microistructios sequece jumps are coditioed by status bits the sequece start is decided by iputs Calcolatori Elettroici e Sistemi Operativi CTRL Example: microprogrammed Oes couter Sigals microistructio Memory REG +1 jump Status Sigals Jumpig logic jump Status sigals coditio0 coditio1 DEC jumpalways Architecture jcoditio

3 CTRL Datapath Sigals microistructio Memory REG +1 Status sigals jump Architecture coditio0 coditio1 Jump ecodig (jcoditio): o jump coditio0 = coditio1 = jump if first flag = jump if secod flag = 0... jump if first flag = ucoditioal jump Z C N V Status flags DA RW addr_d addr_a 2 write_d addr_a 1 D A 1 file A 2 Z C N V A Op 1 Op 2 Fuctio uit Res AA BA 0 1 B MB B operatio FS 0 1 D MD 4 registers (8 bit) Data output Data iput Oes couter 8 8 X DATAIN oescouter OUTP START R0 <= R0 xor R0 START2 R0 <= R0 +1 INIT WAITD R1 <= DataI DataOut <= R3 OK 0 1 CALC R1 <= DataI 1 DATAIN 0 R3ADD R3 <= R3 + R0 SHIFT R1 <= R1 >> 1 SH2 R1 through adder (op) 0 Z 1 costraits test: oly 1 flag ext state: state+1 or other CALC OK R3RST R3 <= R3 xor R3 R1TEST R2 <= R1 ad R0 WAITD2 R1 <= DataI OUTP: umber of bits equal to '1' received o X DATAIN=1 sigals a ew iput data CALC=1 data fiished: provide result =1 ready to get data OK=1 computatio eded result ready device ready for a ew computatio DATAIN=1 oly whe CALC=0 CALC=1 oly whe DATAIN=0 DATAIN active util device sigals that data are read(=0) CALC active util the ed of computatio (OK=1) R1TEST2 R2 through adder (op) 1 0 Z WAITD4 1 DATAIN 0 WAITD3 0 1 CALC R1 <= DataI

4 Oes couter (µprogrammed) s usage (datapath) R0 <=1 ; R1 <= datai ; R3 <= ONES µistructio datapath CW + output ctrl sigals + jcoditio + dest address Status Word datapath flags + iput ctrl sigals DA AA BA MB FS MD RW OK Jcoditio DEST Datapath Word CTRLOUT V C N Z DATAIN CALC Datapath flags CTRLIN Oes couter: ctrluit (µprogr) library ieee; use ieee.std_logic_1164.all; use ieee.umeric_std.all; file: ctrluit.vhdl -- iterface etity ctrluit is port ( CLK, rst_ : i std_logic; -- cotrol iputs DATAIN : i std_logic; CALC : i std_logic; -- cotrol outputs : out std_logic; OK : out std_logic; DA : out std_logic_vector(1 dowto 0); AA : out std_logic_vector(1 dowto 0); BA : out std_logic_vector(1 dowto 0); MB : out std_logic; FS : out std_logic_vector(4 dowto 0); MD : out std_logic; RW : out std_logic; -- status sigals V,C,N,Z : i std_logic ); ed ctrluit; Oes couter: ctrluit (µprogr) Oes couter: ctrluit (µprogr) file: ctrluit.vhdl architecture struct of ctrluit is compoet micro_rom is port ( address : i std_logic_vector( 5 dowto 0); data : out std_logic_vector(25 dowto 0) ); ed compoet; sigal state, extstate : std_logic_vector( 5 dowto 0); sigal microistructio : std_logic_vector(25 dowto 0); sigal cotrol_word : std_logic_vector(13 dowto 0); sigal cotrol_out : std_logic_vector( 1 dowto 0); sigal jcoditio : std_logic_vector( 3 dowto 0); sigal coditio0 : std_logic_vector( 5 dowto 0); sigal coditio1 : std_logic_vector( 5 dowto 0); sigal jump_dest : std_logic_vector( 5 dowto 0); sigal jumpalways : std_logic; sigal jump : std_logic; sigal status_word : std_logic_vector(5 dowto 0); begi MEM : micro_rom port map (address => state, data => microistructio); state <= (others=>'0') whe rst_='0' extstate whe risig_edge(clk); extstate <= jump_dest whe jump='1' std_logic_vector(usiged(state)+1); status_word <= V & C & N & Z & DATAIN & CALC; cotrol_word <= microistructio(25 dowto 12); cotrol_out <= microistructio(11 dowto 10); jcoditio <= microistructio(9 dowto 6); jump_dest <= microistructio(5 dowto 0); file: ctrluit.vhdl sigal rescod0,rescod1: std_logic_vector(coditio0'left dowto 0);

5 Oes couter: ctrluit (µprogr) Oes couter: ctrluit (µprogr) coditio decoder file: ctrluit.vhdl coditio0(5) <= '1' whe "0001" = jcoditio '0'; coditio0(4) <= '1' whe "0010" = jcoditio '0'; coditio0(3) <= '1' whe "0011" = jcoditio '0'; coditio0(2) <= '1' whe "0100" = jcoditio '0'; coditio0(1) <= '1' whe "0101" = jcoditio '0'; coditio0(0) <= '1' whe "0110" = jcoditio '0'; coditio1(5) <= '1' whe "0111" = jcoditio '0'; coditio1(4) <= '1' whe "1000" = jcoditio '0'; coditio1(3) <= '1' whe "1001" = jcoditio '0'; coditio1(2) <= '1' whe "1010" = jcoditio '0'; coditio1(1) <= '1' whe "1011" = jcoditio '0'; coditio1(0) <= '1' whe "1100" = jcoditio '0'; jumpalways <= '1' whe "1111" = jcoditio '0'; rescod0 <= (ot status_word) ad coditio0; rescod1 <= status_word ad coditio1; jump <= '1' whe jumpalways='1' '1' whe (rescod0 or rescod1) /= "000000" '0'; DA <= cotrol_word(13 dowto 12); AA <= cotrol_word(11 dowto 10); BA <= cotrol_word(9 dowto 8); MB <= cotrol_word(7); FS <= cotrol_word(6 dowto 2); MD <= cotrol_word(1); RW <= cotrol_word(0); <= cotrol_out(1); OK <= cotrol_out(0); ed struct; file: ctrluit.vhdl Oes couter: µprogram Oes couter: ctrluit (µprogr) : R0 <= R0 xor R : R0 <= R : R1 <= DataI ; DataOut <- R3 ; <- 1 ; OK <- 1 ; jump if CALC=1 to (INIT) : R1 <= DataI ; DataOut <- R3 ; <- 1 ; jump if DATAIN=0 to (WAITD) : R3 <= R3 xor R : R2 <= R1 ad R : R2 through Arithmetic Uit ; jump if Z=1 to (SHIFT) : R3 <= R3 + R : R1 <= R1 >> : R1 through Arithmetic Uit ; jump if Z=0 to (R1TEST) : R1 <= DataI ; DataOut <- R3 ; <- 1 ; jump if DATAIN=1 to (R1TEST) : op ; <- 1 ; jump if CALC=1 to (INIT) : R1 <= DataI ; DataOut <- R3 ; <- 1 ; jump to (WAITD2) file: micro_rom.vhdl library ieee; use ieee.std_logic_1164.all; etity micro_rom is port ( address : i std_logic_vector( 5 dowto 0); data : out std_logic_vector(25 dowto 0) ); ed micro_rom; architecture behav of micro_rom is begi data <= B"00_00_00_0_01100_0_1_00_0000_000000" whe address="000000" B"00_00_00_0_00001_0_1_00_0000_000000" whe address="000001" B"01_00_11_0_00000_1_1_11_1100_000010" whe address="000010" B"01_00_11_0_00000_1_1_10_0101_000011" whe address="000011" B"11_11_11_0_01100_0_1_00_0000_000000" whe address="000100" B"10_01_00_0_01000_0_1_00_0000_000000" whe address="000101" B"00_10_00_0_00000_0_0_00_1010_001000" whe address="000110" B"11_11_00_0_00010_0_1_00_0000_000000" whe address="000111" B"01_00_01_0_10100_0_1_00_0000_000000" whe address="001000" B"00_01_00_0_00000_0_0_00_0100_000101" whe address="001001" B"01_00_11_0_00000_1_1_10_1011_000101" whe address="001010" B"00_00_00_0_00000_0_0_10_1100_000010" whe address="001011" B"01_00_11_0_00000_1_1_10_1111_001010" whe address="001100" (others=>'-'); ed behav;

6 Oes couter: testbech (µprogr) Oes couter: testbech (µprogr) library ieee; use ieee.std_logic_1164.all; use ieee.umeric_std.all; use STD.textio.all; -- iterface etity TB is ed TB; architecture behav of TB is costat CLK_SEMIPERIOD0: time := 25 s; costat CLK_SEMIPERIOD1: time := 15 s; costat CLK_PERIOD : time := CLK_SEMIPERIOD0+CLK_SEMIPERIOD1; costat RESET_TIME : time := 3*CLK_PERIOD + 9 s; sigal CLK, rst_ : std_logic; sigal cout : std_logic_vector(23 dowto 0) := (others=> '0'); sigal it_cout : iteger := 0; sigal start : iteger := 0; sigal doe : iteger := 0; sigal couter_data : std_logic_vector(23 dowto 0) := (others=> '0'); sigal it_couter_data : iteger := 0; type TBstatetype is (WAIT1, SEND, WAIT0, WAITOK); sigal TBstate : TBstatetype; sigal X : std_logic_vector(7 dowto 0); sigal OUTP : std_logic_vector(7 dowto 0); sigal DATAIN : std_logic; sigal CALC : std_logic; sigal : std_logic; sigal OK : std_logic; Oes couter: testbech (µprogr) Oes couter: testbech (µprogr) compoet oescouter is port ( CLK, rst_ : i std_logic; X : i std_logic_vector(7 dowto 0); OUTP : out std_logic_vector(7 dowto 0); DATAIN : i std_logic; CALC : i std_logic; : out std_logic; OK : out std_logic ); ed compoet; begi DUT : oescouter port map (CLK, rst_, X => X, OUTP => OUTP, DATAIN => DATAIN, CALC => CALC, =>, OK => OK); start_process: process begi rst_ <= '1'; wait for 1 s; rst_ <= '0'; wait for RESET_TIME; rst_ <= '1'; start <= 1; wait; ed process start_process;

7 Oes couter: testbech (µprogr) Oes couter: testbech (µprogr) -- CLOCK geerator clk_process: process begi if CLK = '0' the CLK <= '1'; wait for CLK_SEMIPERIOD1; CLK <= '0'; wait for CLK_SEMIPERIOD0; cout <= std_logic_vector(usiged(cout) + 1); it_cout <= it_cout + 1; if doe = 1 the wait; ed process clk_process; -- datafile: data.txt read_file_process: process(clk) file ifile : TEXT ope READ_MODE is "data.txt"; variable iputlie : LINE; variable i_x : bit_vector(x'rage); variable i_datain : bit; variable i_calc : bit; begi if (clk='0') the if (start = 1) the case TBstate is whe WAIT1 => DATAIN <= '0'; CALC <= '0'; if /= '1' the TBstate <= WAIT1; TBstate <= SEND; Oes couter: testbech (µprogr) Oes couter: testbech (µprogr) whe SEND => -- load data ad set sigals if ot edfile(ifile) the readlie(ifile, iputlie); read(iputlie, i_x); readlie(ifile, iputlie); read(iputlie, i_datain); readlie(ifile, iputlie); read(iputlie, i_calc); readlie(ifile, iputlie); if i_calc='1' ad i_datain='1' the i_datain := '0'; X <= to_ux01(i_x); DATAIN <= to_ux01(i_datain); CALC <= to_ux01(i_calc); couter_data <= std_logic_vector(usiged(couter_data) + 1); it_couter_data <= it_couter_data + 1; if i_calc='1' the TBstate <= WAITOK; elsif i_datain='1' the TBstate <= WAIT0; TBstate <= WAIT1; TBstate <= WAIT1; doe <= 1;

8 Oes couter: testbech (µprogr) Microprogrammig whe WAIT0 => if = '0' the TBstate <= WAIT1; TBstate <= WAIT0; whe WAITOK => DATAIN <= '0'; CALC <= '1'; if OK='1' the TBstate <= WAIT1; TBstate <= WAITOK; ed case; ed process read_file_process; Horizotal microprogram each cotrol sigal is a bit i microistructio o decodig larger words ( larger memories) Vertical microprogram cotrol sigals are ecoded i shorter formats multiple microistructio formats e.g., oe format for data operatios, oe format for jumps eed decodig smaller memory Microprogrammig Simplify developmet Decouples HW ad algorithm desig desig becomes SW developmet Requires a fast cotrol memory Reduces flexibility ad efficiecy Datapath is ot applicatio specific Tradeoff: potetial efficiecy vs HW resources

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

Description of Single Cycle Computer (SCC)

Description of Single Cycle Computer (SCC) Descriptio of Sigle Cycle Computer (SCC) Refereces: Chapter 9 of M. Morris Mao ad Charles Kime, Logic ad Computer Desig Fudametals, Pearso Pretice Hall, 4 th Editio, 28. Overview Part Datapaths Itroductio

More information

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design College of Computer ad Iformatio Scieces Departmet of Computer Sciece CSC 220: Computer Orgaizatio Uit 11 Basic Computer Orgaizatio ad Desig 1 For the rest of the semester, we ll focus o computer architecture:

More information

Chapter 5: Processor Design Advanced Topics. Microprogramming: Basic Idea

Chapter 5: Processor Design Advanced Topics. Microprogramming: Basic Idea 5-1 Chapter 5 Processor Desig Advaced Topics Chapter 5: Processor Desig Advaced Topics Topics 5.3 Microprogrammig Cotrol store ad microbrachig Horizotal ad vertical microprogrammig 5- Chapter 5 Processor

More information

Lecture 2. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram

Lecture 2. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram Lecture 2 RTL Desig Methodology Trasitio from Pseudocode & Iterface to a Correspodig Block Diagram Structure of a Typical Digital Data Iputs Datapath (Executio Uit) Data Outputs System Cotrol Sigals Status

More information

Chapter 4 The Datapath

Chapter 4 The Datapath The Ageda Chapter 4 The Datapath Based o slides McGraw-Hill Additioal material 24/25/26 Lewis/Marti Additioal material 28 Roth Additioal material 2 Taylor Additioal material 2 Farmer Tae the elemets that

More information

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Part A Datapath Design

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Part A Datapath Design COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter The Processor Part A path Desig Itroductio CPU performace factors Istructio cout Determied by ISA ad compiler. CPI ad

More information

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Single-Cycle Disadvantages & Advantages

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Single-Cycle Disadvantages & Advantages COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter 4 The Processor Pipeliig Sigle-Cycle Disadvatages & Advatages Clk Uses the clock cycle iefficietly the clock cycle must

More information

Lecture 3. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram

Lecture 3. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram Lecture 3 RTL Desig Methodology Trasitio from Pseudocode & Iterface to a Correspodig Block Diagram Structure of a Typical Digital Data Iputs Datapath (Executio Uit) Data Outputs System Cotrol Sigals Status

More information

search_chr: ASM chart search_chr search_chr search_chr MEM_ENABLE MEM_WE MEM_ADDRESS MEM_DATAIN MEM_DATAOUT MEM_READY ADDRESS CHAR LEN nfound

search_chr: ASM chart search_chr search_chr search_chr MEM_ENABLE MEM_WE MEM_ADDRESS MEM_DATAIN MEM_DATAOUT MEM_READY ADDRESS CHAR LEN nfound ADDRESS CHAR LEN nfound 32 8 6? START READY 32 8 8 MEM_ENABLE MEM_WE MEM_ADDRESS MEM_DATAIN MEM_DATAOUT MEM_READY INIT COUNT

More information

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

Appendix D. Controller Implementation

Appendix D. Controller Implementation COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Appedix D Cotroller Implemetatio Cotroller Implemetatios Combiatioal logic (sigle-cycle); Fiite state machie (multi-cycle, pipelied);

More information

Computer Architecture. Microcomputer Architecture and Interfacing Colorado School of Mines Professor William Hoff

Computer Architecture. Microcomputer Architecture and Interfacing Colorado School of Mines Professor William Hoff Computer rchitecture Microcomputer rchitecture ad Iterfacig Colorado School of Mies Professor William Hoff Computer Hardware Orgaizatio Processor Performs all computatios; coordiates data trasfer Iput

More information

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 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)

More information

Elementary Educational Computer

Elementary Educational Computer Chapter 5 Elemetary Educatioal Computer. Geeral structure of the Elemetary Educatioal Computer (EEC) The EEC coforms to the 5 uits structure defied by vo Neuma's model (.) All uits are preseted i a simplified

More information

Behavioral Modeling in Verilog

Behavioral Modeling in Verilog Behavioral Modelig i Verilog COE 202 Digital Logic Desig Dr. Muhamed Mudawar Kig Fahd Uiversity of Petroleum ad Mierals Presetatio Outlie Itroductio to Dataflow ad Behavioral Modelig Verilog Operators

More information

CMSC Computer Architecture Lecture 3: ISA and Introduction to Microarchitecture. Prof. Yanjing Li University of Chicago

CMSC Computer Architecture Lecture 3: ISA and Introduction to Microarchitecture. Prof. Yanjing Li University of Chicago CMSC 22200 Computer Architecture Lecture 3: ISA ad Itroductio to Microarchitecture Prof. Yajig Li Uiversity of Chicago Lecture Outlie ISA uarch (hardware implemetatio of a ISA) Logic desig basics Sigle-cycle

More information

Module Instantiation. Finite State Machines. Two Types of FSMs. Finite State Machines. Given submodule mux32two: Instantiation of mux32two

Module Instantiation. Finite State Machines. Two Types of FSMs. Finite State Machines. Given submodule mux32two: Instantiation of mux32two Give submodule mux32two: 2-to- MUX module mux32two (iput [3:] i,i, iput sel, output [3:] out); Module Istatiatio Fiite Machies esig methodology for sequetial logic -- idetify distict s -- create trasitio

More information

ECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. Behavioral Design Style: Registers & Counters.

ECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. Behavioral Design Style: Registers & Counters. ECE 55 Lecture 6 Behavioral Modeling of Sequential-Circuit Building Blocks Required reading P. Chu, RTL Hardware esign using VHL Chapter 5.1, VHL Process Chapter 8, Sequential Circuit esign: Principle

More information

End Semester Examination CSE, III Yr. (I Sem), 30002: Computer Organization

End Semester Examination CSE, III Yr. (I Sem), 30002: Computer Organization Ed Semester Examiatio 2013-14 CSE, III Yr. (I Sem), 30002: Computer Orgaizatio Istructios: GROUP -A 1. Write the questio paper group (A, B, C, D), o frot page top of aswer book, as per what is metioed

More information

Reversible Realization of Quaternary Decoder, Multiplexer, and Demultiplexer Circuits

Reversible Realization of Quaternary Decoder, Multiplexer, and Demultiplexer Circuits Egieerig Letters, :, EL Reversible Realizatio of Quaterary Decoder, Multiplexer, ad Demultiplexer Circuits Mozammel H.. Kha, Member, ENG bstract quaterary reversible circuit is more compact tha the correspodig

More information

Improvement of the Orthogonal Code Convolution Capabilities Using FPGA Implementation

Improvement of the Orthogonal Code Convolution Capabilities Using FPGA Implementation Improvemet of the Orthogoal Code Covolutio Capabilities Usig FPGA Implemetatio Naima Kaabouch, Member, IEEE, Apara Dhirde, Member, IEEE, Saleh Faruque, Member, IEEE Departmet of Electrical Egieerig, Uiversity

More information

Chapter 3 Classification of FFT Processor Algorithms

Chapter 3 Classification of FFT Processor Algorithms Chapter Classificatio of FFT Processor Algorithms The computatioal complexity of the Discrete Fourier trasform (DFT) is very high. It requires () 2 complex multiplicatios ad () complex additios [5]. As

More information

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Pseudocode ( 1.1) High-level descriptio of a algorithm More structured

More information

Fundamentals of. Chapter 1. Microprocessor and Microcontroller. Dr. Farid Farahmand. Updated: Tuesday, January 16, 2018

Fundamentals of. Chapter 1. Microprocessor and Microcontroller. Dr. Farid Farahmand. Updated: Tuesday, January 16, 2018 Fudametals of Chapter 1 Microprocessor ad Microcotroller Dr. Farid Farahmad Updated: Tuesday, Jauary 16, 2018 Evolutio First came trasistors Itegrated circuits SSI (Small-Scale Itegratio) to ULSI Very

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

Digital System Design

Digital System Design July, 22 9:55 vra235_ch Sheet umber Page umber 65 black chapter Digital System Desig a b c d e f g h 8 7 6 5 4 3 2. Bd3 g6+, Ke8 d8 65 July, 22 9:55 vra235_ch Sheet umber 2 Page umber 66 black 66 CHAPTER

More information

The following algorithms have been tested as a method of converting an I.F. from 16 to 512 MHz to 31 real 16 MHz USB channels:

The following algorithms have been tested as a method of converting an I.F. from 16 to 512 MHz to 31 real 16 MHz USB channels: DBE Memo#1 MARK 5 MEMO #18 MASSACHUSETTS INSTITUTE OF TECHNOLOGY HAYSTACK OBSERVATORY WESTFORD, MASSACHUSETTS 1886 November 19, 24 Telephoe: 978-692-4764 Fax: 781-981-59 To: From: Mark 5 Developmet Group

More information

EE260: Digital Design, Spring /16/18. n Example: m 0 (=x 1 x 2 ) is adjacent to m 1 (=x 1 x 2 ) and m 2 (=x 1 x 2 ) but NOT m 3 (=x 1 x 2 )

EE260: Digital Design, Spring /16/18. n Example: m 0 (=x 1 x 2 ) is adjacent to m 1 (=x 1 x 2 ) and m 2 (=x 1 x 2 ) but NOT m 3 (=x 1 x 2 ) EE26: Digital Desig, Sprig 28 3/6/8 EE 26: Itroductio to Digital Desig Combiatioal Datapath Yao Zheg Departmet of Electrical Egieerig Uiversity of Hawaiʻi at Māoa Combiatioal Logic Blocks Multiplexer Ecoders/Decoders

More information

Data Structures and Algorithms. Analysis of Algorithms

Data Structures and Algorithms. Analysis of Algorithms Data Structures ad Algorithms Aalysis of Algorithms Outlie Ruig time Pseudo-code Big-oh otatio Big-theta otatio Big-omega otatio Asymptotic algorithm aalysis Aalysis of Algorithms Iput Algorithm Output

More information

DATA SHEET AND USER GUIDE

DATA SHEET AND USER GUIDE V L S I I P O W N E D B Y A V I R A L M I T T A L Mp3HufDec DATA SHEET AND USER GUIDE Mp3HufDec ISO 11172-3 LAYER III HUFFMAN DECODER. ISO 11172-3 Layer III or commoly called as Mp3, employs Huffma ecodi

More information

COMP Parallel Computing. PRAM (1): The PRAM model and complexity measures

COMP Parallel Computing. PRAM (1): The PRAM model and complexity measures COMP 633 - Parallel Computig Lecture 2 August 24, 2017 : The PRAM model ad complexity measures 1 First class summary This course is about parallel computig to achieve high-er performace o idividual problems

More information

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments Ruig Time Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects. The

More information

CMSC Computer Architecture Lecture 2: ISA. Prof. Yanjing Li Department of Computer Science University of Chicago

CMSC Computer Architecture Lecture 2: ISA. Prof. Yanjing Li Department of Computer Science University of Chicago CMSC 22200 Computer Architecture Lecture 2: ISA Prof. Yajig Li Departmet of Computer Sciece Uiversity of Chicago Admiistrative Stuff Lab1 out toight Due Thursday (10/18) Lab1 review sessio Tomorrow, 10/05,

More information

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments Ruig Time ( 3.1) Aalysis of Algorithms Iput Algorithm Output A algorithm is a step- by- step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects.

More information

Analysis of Algorithms

Analysis of Algorithms Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Ruig Time Most algorithms trasform iput objects ito output objects. The

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

SPIRAL DSP Transform Compiler:

SPIRAL DSP Transform Compiler: SPIRAL DSP Trasform Compiler: Applicatio Specific Hardware Sythesis Peter A. Milder (peter.milder@stoybroo.edu) Fraz Frachetti, James C. Hoe, ad Marus Pueschel Departmet of ECE Caregie Mello Uiversity

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

VHDL Examples Mohamed Zaky

VHDL Examples Mohamed Zaky VHDL Examples By Mohamed Zaky (mz_rasmy@yahoo.co.uk) 1 Half Adder The Half Adder simply adds 2 input bits, to produce a sum & carry output. Here we want to add A + B to produce Sum (S) and carry (C). A

More information

Polynomial Functions and Models. Learning Objectives. Polynomials. P (x) = a n x n + a n 1 x n a 1 x + a 0, a n 0

Polynomial Functions and Models. Learning Objectives. Polynomials. P (x) = a n x n + a n 1 x n a 1 x + a 0, a n 0 Polyomial Fuctios ad Models 1 Learig Objectives 1. Idetify polyomial fuctios ad their degree 2. Graph polyomial fuctios usig trasformatios 3. Idetify the real zeros of a polyomial fuctio ad their multiplicity

More information

Lecture 11: PI/T parallel I/O, part I

Lecture 11: PI/T parallel I/O, part I Lecture 11: PI/T parallel I/O, part I Geeral descriptio of the parallel I/O fuctio Bufferi Hadshaki Iput ad Output trasfers Timi Diarams Reister model of the 68230 Port Geeral Cotrol Reister (PGCR) Port

More information

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS APPLICATION NOTE PACE175AE BUILT-IN UNCTIONS About This Note This applicatio brief is iteded to explai ad demostrate the use of the special fuctios that are built ito the PACE175AE processor. These powerful

More information

UNIVERSITY OF MORATUWA

UNIVERSITY OF MORATUWA UNIVERSITY OF MORATUWA FACULTY OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING B.Sc. Egieerig 2014 Itake Semester 2 Examiatio CS2052 COMPUTER ARCHITECTURE Time allowed: 2 Hours Jauary 2016

More information

ELEG 5173L Digital Signal Processing Introduction to TMS320C6713 DSK

ELEG 5173L Digital Signal Processing Introduction to TMS320C6713 DSK Departmet of Electrical Egieerig Uiversity of Arasas ELEG 5173L Digital Sigal Processig Itroductio to TMS320C6713 DSK Dr. Jigia Wu wuj@uar.edu ANALOG V.S DIGITAL 2 Aalog sigal processig ASP Aalog sigal

More information

Outline and Reading. Analysis of Algorithms. Running Time. Experimental Studies. Limitations of Experiments. Theoretical Analysis

Outline and Reading. Analysis of Algorithms. Running Time. Experimental Studies. Limitations of Experiments. Theoretical Analysis Outlie ad Readig Aalysis of Algorithms Iput Algorithm Output Ruig time ( 3.) Pseudo-code ( 3.2) Coutig primitive operatios ( 3.3-3.) Asymptotic otatio ( 3.6) Asymptotic aalysis ( 3.7) Case study Aalysis

More information

Getting Started with VHDL

Getting Started with VHDL Getting Started with VHDL VHDL code is composed of a number of entities Entities describe the interface of the component Entities can be primitive objects or complex objects Architectures are associated

More information

Algorithm. Counting Sort Analysis of Algorithms

Algorithm. Counting Sort Analysis of Algorithms Algorithm Coutig Sort Aalysis of Algorithms Assumptios: records Coutig sort Each record cotais keys ad data All keys are i the rage of 1 to k Space The usorted list is stored i A, the sorted list will

More information

Outline. Applications of FFT in Communications. Fundamental FFT Algorithms. FFT Circuit Design Architectures. Conclusions

Outline. Applications of FFT in Communications. Fundamental FFT Algorithms. FFT Circuit Design Architectures. Conclusions FFT Circuit Desig Outlie Applicatios of FFT i Commuicatios Fudametal FFT Algorithms FFT Circuit Desig Architectures Coclusios DAB Receiver Tuer OFDM Demodulator Chael Decoder Mpeg Audio Decoder 56/5/ 4/48

More information

Tutorial 4 HDL. Outline VHDL PROCESS. Modeling Combinational Logic. Structural Description Instantiation and Interconnection Hierarchy

Tutorial 4 HDL. Outline VHDL PROCESS. Modeling Combinational Logic. Structural Description Instantiation and Interconnection Hierarchy CS3: Hardware Lab Tutorial 4 HDL Outline VHDL basic language concepts basic design methodology Examples A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati i i i3 i4 Modeling Combinational

More information

library STD; use STD.textio.all; library IEEE; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; package cordic_pkg is

library STD; use STD.textio.all; library IEEE; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; package cordic_pkg is cordic_pkg.vhdl Purpose: utility package of cordic Discussion: Licensing: This code is distributed under the GNU LGPL license. Modified: 2012.04.03 Author: Young W. Lim Functions: Conv2fixedPt (x : real;

More information

ECE 545 Lecture 12. Datapath vs. Controller. Structure of a Typical Digital System Data Inputs. Required reading. Design of Controllers

ECE 545 Lecture 12. Datapath vs. Controller. Structure of a Typical Digital System Data Inputs. Required reading. Design of Controllers ECE 545 Lecture 12 Design of Controllers Finite State Machines and Algorithmic State Machine (ASM) Charts Required reading P. Chu, using VHDL Chapter 1, Finite State Machine: Principle & Practice Chapter

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

CprE 583 Reconfigurable Computing

CprE 583 Reconfigurable Computing Recap Moore FSM Example CprE / ComS 583 Reconfigurable Computing Moore FSM that recognizes sequence 10 0 1 0 1 S0 / 0 S1 / 0 1 S2 / 1 Prof. Joseph Zambreno Department of Electrical and Computer Engineering

More information

EE University of Minnesota. Midterm Exam #1. Prof. Matthew O'Keefe TA: Eric Seppanen. Department of Electrical and Computer Engineering

EE University of Minnesota. Midterm Exam #1. Prof. Matthew O'Keefe TA: Eric Seppanen. Department of Electrical and Computer Engineering EE 4363 1 Uiversity of Miesota Midterm Exam #1 Prof. Matthew O'Keefe TA: Eric Seppae Departmet of Electrical ad Computer Egieerig Uiversity of Miesota Twi Cities Campus EE 4363 Itroductio to Microprocessors

More information

K-NET bus. When several turrets are connected to the K-Bus, the structure of the system is as showns

K-NET bus. When several turrets are connected to the K-Bus, the structure of the system is as showns K-NET bus The K-Net bus is based o the SPI bus but it allows to addressig may differet turrets like the I 2 C bus. The K-Net is 6 a wires bus (4 for SPI wires ad 2 additioal wires for request ad ackowledge

More information

Lecture 1: Introduction and Strassen s Algorithm

Lecture 1: Introduction and Strassen s Algorithm 5-750: Graduate Algorithms Jauary 7, 08 Lecture : Itroductio ad Strasse s Algorithm Lecturer: Gary Miller Scribe: Robert Parker Itroductio Machie models I this class, we will primarily use the Radom Access

More information

System and Software Architecture Description (SSAD)

System and Software Architecture Description (SSAD) System ad Software Architecture Descriptio (SSAD) Diabetes Health Platform Team #6 Jasmie Berry (Cliet) Veerav Naidu (Project Maager) Mukai Nog (Architect) Steve South (IV&V) Vijaya Prabhakara (Quality

More information

COVER SHEET: Total: Regrade Info: 5 (5 points) 2 (8 points) 6 (10 points) 7b (13 points) 7c (13 points) 7d (13 points)

COVER SHEET: Total: Regrade Info: 5 (5 points) 2 (8 points) 6 (10 points) 7b (13 points) 7c (13 points) 7d (13 points) EEL 4712 Midterm 2 Spring 2011 VERSION 1 Name: UFID: Sign your name here if you would like for your test to be returned in class: IMPORTANT: Please be neat and write (or draw) carefully. If we cannot read

More information

Solutions to Final COMS W4115 Programming Languages and Translators Monday, May 4, :10-5:25pm, 309 Havemeyer

Solutions to Final COMS W4115 Programming Languages and Translators Monday, May 4, :10-5:25pm, 309 Havemeyer Departmet of Computer ciece Columbia Uiversity olutios to Fial COM W45 Programmig Laguages ad Traslators Moday, May 4, 2009 4:0-5:25pm, 309 Havemeyer Closed book, o aids. Do questios 5. Each questio is

More information

COP4020 Programming Languages. Functional Programming Prof. Robert van Engelen

COP4020 Programming Languages. Functional Programming Prof. Robert van Engelen COP4020 Programmig Laguages Fuctioal Programmig Prof. Robert va Egele Overview What is fuctioal programmig? Historical origis of fuctioal programmig Fuctioal programmig today Cocepts of fuctioal programmig

More information

Figure 7.7. A digital system like the one in Figure 7.2.

Figure 7.7. A digital system like the one in Figure 7.2. Figure 7.7. A digital ytem like the oe i Figure 7.2. Figure 7.8. Uig multiplexer to implemet a bu. Figure 7.3. Code for the proceor (Part a). Figure 7.3. Code for the proceor (Part b). module proc(data,

More information

Hardware Design and Performance Estimation of The 128-bit Block Cipher CRYPTON

Hardware Design and Performance Estimation of The 128-bit Block Cipher CRYPTON Hardware Desig ad Performace Estimatio of The 128-bit Block Cipher CRYPTON Eujog Hog, Jai-Hoo Chug, ad Chae Hoo Lim Iformatio ad Commuicatios Research Ceter Future Systems, Ic. 372-2 Yagjae-Dog, Seocho-Ku,

More information

ECE 545 Lecture 4. Simple Testbenches. George Mason University

ECE 545 Lecture 4. Simple Testbenches. George Mason University ECE 545 Lecture 4 Simple Testbenches George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 2.2.4, Testbenches 2 Testbenches ECE 448 FPGA and ASIC Design with VHDL 3 Testbench

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

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

Implementing the Control. Simple Questions

Implementing the Control. Simple Questions Simple Questions How many cycles will it take to execute this code? lw $t2, 0($t3) lw $t3, 4($t3) beq $t2, $t3, Label add $t5, $t2, $t3 sw $t5, 8($t3) Label:... #assume not What is going on during the

More information

Analysis of Algorithms

Analysis of Algorithms Aalysis of Algorithms Ruig Time of a algorithm Ruig Time Upper Bouds Lower Bouds Examples Mathematical facts Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite

More information

1 Enterprise Modeler

1 Enterprise Modeler 1 Eterprise Modeler Itroductio I BaaERP, a Busiess Cotrol Model ad a Eterprise Structure Model for multi-site cofiguratios are itroduced. Eterprise Structure Model Busiess Cotrol Models Busiess Fuctio

More information

9.1. Sequences and Series. Sequences. What you should learn. Why you should learn it. Definition of Sequence

9.1. Sequences and Series. Sequences. What you should learn. Why you should learn it. Definition of Sequence _9.qxd // : AM Page Chapter 9 Sequeces, Series, ad Probability 9. Sequeces ad Series What you should lear Use sequece otatio to write the terms of sequeces. Use factorial otatio. Use summatio otatio to

More information

Part 4: VHDL for sequential circuits. Introduction to Modeling and Verification of Digital Systems. Memory elements. Sequential circuits

Part 4: VHDL for sequential circuits. Introduction to Modeling and Verification of Digital Systems. Memory elements. Sequential circuits M1 Informatique / MOSIG Introduction to Modeling and erification of Digital Systems Part 4: HDL for sequential circuits Laurence PIERRE http://users-tima.imag.fr/amfors/lpierre/m1arc 2017/2018 81 Sequential

More information

Final Exam Review. EE 3610 Digital Systems

Final Exam Review. EE 3610 Digital Systems EE 3610: Digital Systems 1 Final Exam Review 2 Combinational and Sequential Logic: short answers Combinational and Sequential Logic Timing: clock, hold time, setup time etc 3 Fast Carry Adder/Subtractor

More information

top() Applications of Stacks

top() Applications of Stacks CS22 Algorithms ad Data Structures MW :00 am - 2: pm, MSEC 0 Istructor: Xiao Qi Lecture 6: Stacks ad Queues Aoucemets Quiz results Homework 2 is available Due o September 29 th, 2004 www.cs.mt.edu~xqicoursescs22

More information

CSC165H1 Worksheet: Tutorial 8 Algorithm analysis (SOLUTIONS)

CSC165H1 Worksheet: Tutorial 8 Algorithm analysis (SOLUTIONS) CSC165H1, Witer 018 Learig Objectives By the ed of this worksheet, you will: Aalyse the ruig time of fuctios cotaiig ested loops. 1. Nested loop variatios. Each of the followig fuctios takes as iput a

More information

Digital System Construction

Digital System Construction Digital System Construction FYSIKUM Lecture 4: More VHDL, memory, PRNG Arithmetic Memories Pipelines and buffers Pseudorandom numbers IP core generation in Vivado Introduction to Lab 3 Digital Systemkonstruktion

More information

INTRODUCTION TO VHDL ADVANCED COMPUTER ARCHITECTURES. Slides by: Pedro Tomás. Additional reading: - ARQUITECTURAS AVANÇADAS DE COMPUTADORES (AAC)

INTRODUCTION TO VHDL ADVANCED COMPUTER ARCHITECTURES. Slides by: Pedro Tomás. Additional reading: - ARQUITECTURAS AVANÇADAS DE COMPUTADORES (AAC) INTRODUCTION TO VHDL Slides by: Pedro Tomás Additional reading: - ADVANCED COMPUTER ARCHITECTURES ARQUITECTURAS AVANÇADAS DE COMPUTADORES (AAC) Outline 2 Hardware Description Languages (HDL) VHDL Very

More information

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming Lecture Notes 6 Itroductio to algorithm aalysis CSS 501 Data Structures ad Object-Orieted Programmig Readig for this lecture: Carrao, Chapter 10 To be covered i this lecture: Itroductio to algorithm aalysis

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

The CPU Bus : Structure 0

The CPU Bus : Structure 0 The CPU Bus : Structure 0 The following can be applied to both the internal CPU buses and the external system buses. This distinction becomes blurred when we discuss Systems on a single Chip (SoC). The

More information

6.175: Constructive Computer Architecture. Oct 7,

6.175: Constructive Computer Architecture. Oct 7, 6.175: Costructive Computer Architecture Tutorial 2 Advaced BSV Qua Nguye (Now uses the correct dates o PPT slides) T02-1 Admiistrivia Today is add date! Please test vlsifarm machies Remaiig labs schedule

More information

Computer Architecture

Computer Architecture Computer Architecture Overview Prof. Tie-Fu Che Dept. of Computer Sciece Natioal Chug Cheg Uiv Sprig 2002 Overview- Computer Architecture Course Focus Uderstadig the desig techiques, machie structures,

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

VHDL/Verilog Simulation. Testbench Design

VHDL/Verilog Simulation. Testbench Design VHDL/Verilog Simulation Testbench Design The Test Bench Concept Elements of a VHDL/Verilog testbench Unit Under Test (UUT) or Device Under Test (DUT) instantiate one or more UUT s Stimulus of UUT inputs

More information

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr

More information

Data diverse software fault tolerance techniques

Data diverse software fault tolerance techniques Data diverse software fault tolerace techiques Complemets desig diversity by compesatig for desig diversity s s limitatios Ivolves obtaiig a related set of poits i the program data space, executig the

More information

Lower Bounds for Sorting

Lower Bounds for Sorting Liear Sortig Topics Covered: Lower Bouds for Sortig Coutig Sort Radix Sort Bucket Sort Lower Bouds for Sortig Compariso vs. o-compariso sortig Decisio tree model Worst case lower boud Compariso Sortig

More information

Exercise 6 (Week 42) For the foreign students only.

Exercise 6 (Week 42) For the foreign students only. These are the last exercises of the course. Please, remember that to pass exercises, the sum of the poits gathered by solvig the questios ad attedig the exercise groups must be at least 4% ( poits) of

More information

COMP303 - Computer Architecture Lecture 8. Designing a Single Cycle Datapath

COMP303 - Computer Architecture Lecture 8. Designing a Single Cycle Datapath COMP33 - Computer Architecture Lecture 8 Designing a Single Cycle Datapath The Big Picture The Five Classic Components of a Computer Processor Input Control Memory Datapath Output The Big Picture: The

More information

CPS104 Computer Organization and Programming Lecture 19: Pipelining. Robert Wagner

CPS104 Computer Organization and Programming Lecture 19: Pipelining. Robert Wagner CPS104 Computer Organization and Programming Lecture 19: Pipelining Robert Wagner cps 104 Pipelining..1 RW Fall 2000 Lecture Overview A Pipelined Processor : Introduction to the concept of pipelined processor.

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

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 15 Memories

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 15 Memories EE 459/500 HDL Based Digital Design with Programmable Logic Lecture 15 Memories 1 Overview Introduction Memories Read Only Memories Random Access Memories FIFOs 2 1 Motivation Most applications need memory!

More information

CS 111: Program Design I Lecture # 7: First Loop, Web Crawler, Functions

CS 111: Program Design I Lecture # 7: First Loop, Web Crawler, Functions CS 111: Program Desig I Lecture # 7: First Loop, Web Crawler, Fuctios Robert H. Sloa & Richard Warer Uiversity of Illiois at Chicago September 18, 2018 What will this prit? x = 5 if x == 3: prit("hi!")

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 19 Query Optimizatio Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Query optimizatio Coducted by a query optimizer i a DBMS Goal:

More information

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago CMSC 22200 Computer Architecture Lecture 12: Virtual Memory Prof. Yajig Li Uiversity of Chicago A System with Physical Memory Oly Examples: most Cray machies early PCs Memory early all embedded systems

More information

Abstract Data Types (ADTs) Stacks. The Stack ADT ( 4.2) Stack Interface in Java

Abstract Data Types (ADTs) Stacks. The Stack ADT ( 4.2) Stack Interface in Java Abstract Data Types (ADTs) tacks A abstract data type (ADT) is a abstractio of a data structure A ADT specifies: Data stored Operatios o the data Error coditios associated with operatios Example: ADT modelig

More information

Computers and Scientific Thinking

Computers and Scientific Thinking Computers ad Scietific Thikig David Reed, Creighto Uiversity Chapter 15 JavaScript Strigs 1 Strigs as Objects so far, your iteractive Web pages have maipulated strigs i simple ways use text box to iput

More information

condition w i B i S maximum u i

condition w i B i S maximum u i ecture 10 Dyamic Programmig 10.1 Kapsack Problem November 1, 2004 ecturer: Kamal Jai Notes: Tobias Holgers We are give a set of items U = {a 1, a 2,..., a }. Each item has a weight w i Z + ad a utility

More information

pco.2000 cooled digital 14 bit CCD camera system

pco.2000 cooled digital 14 bit CCD camera system pco.2000 cooled digital 14 bit CCD camera system excellet resolutio (2048 2048 pixel) 14 bit dyamic rage frame rate of 14.7 fps at full resolutio image memory i camera (camram up to 4 GB) excellet low

More information

Weston Anniversary Fund

Weston Anniversary Fund Westo Olie Applicatio Guide 2018 1 This guide is desiged to help charities applyig to the Westo to use our olie applicatio form. The Westo is ope to applicatios from 5th Jauary 2018 ad closes o 30th Jue

More information

8DIGITAL COUNTER/TIMER

8DIGITAL COUNTER/TIMER DGT COUNTER/TMER TMER + COUNTER TCOM!! Operates all fuctios by switches at frot (Multi-rage iput/free scale) Coutig speed 3 cps/kcps/kcps/5kcps selectable ON-DEY/OFF-DEY selectable Positio of a decimal

More information