Basic Computer Organization and Design Part 2/3

Similar documents
UNIT:2 BASIC COMPUTER ORGANIZATION AND DESIGN

Computer Organization (Autonomous)

BASIC COMPUTER ORGANIZATION AND DESIGN

BASIC COMPUTER ORGANIZATION AND DESIGN

BASIC COMPUTER ORGANIZATION AND DESIGN

Basic Computer Organization - Designing your first computer. Acknowledgment: Most of the slides are adapted from Prof. Hyunsoo Yoon s slides.

CHAPTER 5 Basic Organization and Design Outline Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle

5-1 Instruction Codes

Computer Architecture and Organization: L06: Instruction Cycle

COMPUTER ORGANIZATION

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

Computer Organization and Design

csitnepal Unit 3 Basic Computer Organization and Design

CHAPTER SIX BASIC COMPUTER ORGANIZATION AND DESIGN

Unit II Basic Computer Organization

Computer Architecture

Programming Level A.R. Hurson Department of Computer Science Missouri University of Science & Technology Rolla, Missouri

Midterm Examination # 2 Wednesday, March 18, Duration of examination: 75 minutes

Blog -

Computer Organization and Architecture

Introduction. Machine Language. Assembly Language. Assembler. Program Loops. Programming Arithmetic and Logic Operations.

Computer architecture Assignment 3

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

Effective Approach for Teaching Computer System Architecture

CHAPTER SEVEN PROGRAMMING THE BASIC COMPUTER

COMPUTER ARCHITECTURE AND DIGITAL DESIGN

Darshan Institute of Engineering & Technology for Diploma Studies Unit - 1

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

Computer Architecture

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

Chapter 16. Control Unit Operation. Yonsei University

جامعة بنها - كمية العموم قسم الرياضيات المستوي الرابع )علوم حاسب( يوم االمتحان: االحد تاريخ االمتحان: 1024 / 21 / 12 المادة :

THE MICROPROCESSOR Von Neumann s Architecture Model

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

Micro-Operations. execution of a sequence of steps, i.e., cycles

REGISTER TRANSFER LANGUAGE

Register Transfer and Micro-operations

M. Sc (CS) (II Semester) Examination, Subject: Computer System Architecture Paper Code: M.Sc-CS-203. Time: Three Hours] [Maximum Marks: 60

William Stallings Computer Organization and Architecture

Credit Based Choice Based Curriculum for. Bachelor of Computer Applications (BCA) Programme 2016 Onwards

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

SCRAM Introduction. Philipp Koehn. 19 February 2018

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

Assembly Language Programming of 8085

UNIT-III REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT

CHAPTER 8: Central Processing Unit (CPU)

Computer Organization II CMSC 3833 Lecture 33

INSTRUCTION SET OF 8085

REGISTER TRANSFER AND MICROOPERATIONS

For Example: P: LOAD 5 R0. The command given here is used to load a data 5 to the register R0.

Roll No TCS 402/TIT 402

2 MARKS Q&A 1 KNREDDY UNIT-I

Control Unit Implementation Hardwired Memory

Computer Organization (Autonomous)

REGISTER TRANSFER AND MICROOPERATIONS

COA. Prepared By: Dhaval R. Patel Page 1. Q.1 Define MBR.

Control unit. Input/output devices provide a means for us to make use of a computer system. Computer System. Computer.

UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

Digital System Design Using Verilog. - Processing Unit Design

COMPUTER ORGANIZATION AND ARCHITECTURE

Combinational and sequential circuits (learned in Chapters 1 and 2) can be used to create simple digital systems.

Blog -

MAHALAKSHMI ENGINEERING COLLEGE TIRUCHIRAPALLI UNIT I THE 8085 & 8086 MICROPROCESSORS. PART A (2 Marks)

PSIM: Processor SIMulator (version 4.2)

Mini-Computer PDP-8 ISA Simulator Design and Verification

General purpose registers These are memory units within the CPU designed to hold temporary data.

Magdy Saeb, Samy Salamah Arab Academy for Science, Technology & Maritime Transport School of Engineering, Computer Department Alexandria, Egypt

DC57 COMPUTER ORGANIZATION JUNE 2013

Chapter 3 : Control Unit

Module 5 - CPU Design

Computer Architecture Programming the Basic Computer

MICROPROGRAMMED CONTROL

TYPES OF INTERRUPTS: -

STRUCTURE OF DESKTOP COMPUTERS

CHAPTER 4: Register Transfer Language and Microoperations


IA-32 architecture. PDP8/e architecture Arithmetic. IA-32 architecture (cont)

(2) Explain the addressing mode of OR What do you mean by addressing mode? Explain diff. addressing mode for 8085 with examples.

CPU Design John D. Carpinelli, All Rights Reserved 1

IAS Computer. Instructions

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

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

Introduction to Computers - Chapter 4

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics

CC312: Computer Organization

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

Outcomes. Lecture 13 - Introduction to the Central Processing Unit (CPU) Central Processing UNIT (CPU) or Processor

EE 3170 Microcontroller Applications

Chapter 4. MARIE: An Introduction to a Simple Computer

MICROPROGRAMMED CONTROL

MICROPROGRAMMED CONTROL

Chapter 4 Topics. Comp. Sys. Design & Architecture 2 nd Edition Prentice Hall, Mark Franklin,S06

CPU ARCHITECTURE. QUESTION 1 Explain how the width of the data bus and system clock speed affect the performance of a computer system.

INTELLIGENCE PLUS CHARACTER - THAT IS THE GOAL OF TRUE EDUCATION UNIT-I

MARIE: An Introduction to a Simple Computer

Microcomputer Architecture and Programming


CPU Structure and Function

8085 INSTRUCTION SET INSTRUCTION DETAILS

session 7. Datapath Design

Transcription:

Basic Computer Organization and Design Part 2/3 Adapted by Dr. Adel Ammar Computer Organization

Basic Computer Instructions Basic Computer Instruction Format Memory-Reference Instructions (OP-code = 000 ~ 110) 15 14 12 11 0 I Opcode Address Register-Reference Instructions (OP-code = 111, I = 0) 15 12 11 0 Register operation 0 1 1 1 Input-Output Instructions (OP-code =111, I = 1) 15 12 11 0 I/O operation 1 1 1 1 Computer Organization 2

Basic Computer Instructions Hex Code Symbol I = 0 I = 1 Description AND 0xxx 8xxx AND memory word to AC ADD 1xxx 9xxx Add memory word to AC LDA 2xxx Axxx Load AC from memory STA 3xxx Bxxx Store content of AC into memory BUN 4xxx Cxxx Branch unconditionally BSA 5xxx Dxxx Branch and save return address ISZ 6xxx Exxx Increment and skip if zero CLA 7800 Clear AC CLE 7400 Clear E CMA 7200 Complement AC CME 7100 Complement E CIR 7080 Circulate right AC and E CIL 7040 Circulate left AC and E INC 7020 Increment AC SPA 7010 Skip next instr. if AC is positive SNA 7008 Skip next instr. if AC is negative SZA 7004 Skip next instr. if AC is zero SZE 7002 Skip next instr. if E is zero HLT 7001 Halt computer INP F800 Input character to AC OUT F400 Output character from AC SKI F200 Skip on input flag SKO F100 Skip on output flag ION F080 Interrupt on IOF F040 Interrupt off Computer Organization 3

Instruction Set Completeness A computer should have a set of instructions so that the user can construct machine language programs to evaluate any function that is known to be computable. Instruction Types Functional Instructions Arithmetic, logic, and shift instructions ADD, CMA, INC, CIR, CIL, AND, CLA Transfer Instructions Data transfers between the main memory and the processor registers LDA, STA Control Instructions Program sequencing and control BUN, BSA, ISZ Input/Output Instructions Input and output INP, OUT Computer Organization 4

Control Unit Control unit (CU) of a processor translates from machine instructions to the control signals for the microoperations that implement them Control units are implemented in one of two ways Hardwired Control CU is made up of sequential and combinational circuits to generate the control signals Microprogrammed Control A control memory on the processor contains microprograms that activate the necessary control signals We will consider a hardwired implementation of the control unit for the Basic Computer Computer Organization 5

Timing and Control Control unit of Basic Computer Instruction register (IR) 15 14 13 12 11-0 Other inputs 3 x 8 decoder 7 6 5 4 3 2 1 0 I D 0 D 7 Combinational Control logic Control signals T 15 T 0 15 14.... 2 1 0 4 x 16 decoder 4-bit sequence counter (SC) Increment (INR) Clear (CLR) Clock Computer Organization 6

Timing Signals Generated by 4-bit sequence counter (SC) and 4 16 decoder The SC can be incremented or cleared. Clock T0 T1 T0 T1 T2 T3 T4 T0 Example: T0, T1, T2, T3, T4, T0, T1,... Assume: At time T4, SC is cleared to 0 if decoder output D3 is active. D3T4: SC 0 T2 T3 T4 D3 CLR SC Computer Organization 7

Instruction Cycle In Basic Computer, a machine instruction is executed in the following cycle: 1. Fetch an instruction from memory 2. Decode the instruction 3. Read the effective address from memory if the instruction has an indirect address 4. Execute the instruction After an instruction is executed, the cycle starts again at step 1, for the next instruction Note: Every different processor has its own (different) instruction cycle Computer Organization 8

Fetch and Decode T0: AR PC (S 0 S 1 S 2 =010, T0=1) T1: IR M [AR], PC PC + 1 (S0S1S2=111, T1=1) T2: D0,..., D7 Decode IR(12-14), AR IR(0-11), I IR(15) T1 T0 S 2 S 1 Bus Memory unit Read Address S 0 7 AR 1 LD PC 2 INR IR 5 LD Common bus Clock Computer Organization 9

D7 IT3: AR M[AR] D7 I T3: Nothing D7I T3: Execute a register-reference instr. D7IT3: Execute an input-output instr. Determine the Type of Instruction Start SC 0 AR PC T0 IR M[AR], PC PC + 1 Decode Opcode in IR(12-14), AR IR(0-11), I IR(15) T1 T2 (Register or I/O) = 1 D7 = 0 (Memory-reference) (I/O) = 1 = 0 (register) (indirect) = 1 I I = 0 (direct) Execute input-output instruction SC 0 T3 T3 T3 T3 Execute AR M[AR] Nothing register-reference instruction SC 0 Execute memory-reference instruction SC 0 T4 Computer Organization 10

Register Reference Instructions Register Reference Instructions are identified when D7 = 1, I = 0 Register Ref. Instr. is specified in b0 ~ b11 of IR Execution starts with timing signal T3 Computer Organization 11

Register Reference Instructions r = D7 I T3 => Register Reference Instruction Bi = IR(i), i=0,1,2,...,11 r: SC 0 CLA rb 11 : AC 0 CLE rb 10 : E 0 CMA rb 9 : AC AC CME rb 8 : E E CIR rb 7 : AC shr AC, AC(15) E, E AC(0) CIL rb 6 : AC shl AC, AC(0) E, E AC(15) INC rb 5 : AC AC + 1 SPA rb 4 : if (AC(15) = 0) then (PC PC+1) SNA rb 3 : if (AC(15) = 1) then (PC PC+1) SZA rb 2 : if (AC = 0) then (PC PC+1) SZE rb 1 : if (E = 0) then (PC PC+1) HLT rb 0 : S 0 (S is a start-stop flip-flop) Computer Organization 12

Memory Reference Instructions Symbol Operation Decoder Symbolic Description AND D 0 AC AC M[AR] ADD D 1 AC AC + M[AR], E C out LDA D 2 AC M[AR] STA D 3 M[AR] AC BUN D 4 PC AR BSA D 5 M[AR] PC, PC AR + 1 ISZ D 6 M[AR] M[AR] + 1, if M[AR] + 1 = 0 then PC PC+1 The effective address of the instruction is in AR and was placed there during timing signal T2 when I = 0, or during timing signal T3 when I = 1 Memory cycle is assumed to be short enough to complete in a CPU cycle The execution of MR instruction starts with T4 Computer Organization 13

Memory Reference Instructions AND to AC D0T4: DR M[AR] Read operand D0T5: AC AC DR, SC 0 AND with AC ADD to AC D1T4: DR M[AR] Read operand D1T5: AC AC + DR, E Cout, SC 0 Add to AC and store carry in E LDA: Load to AC D2T4: DR M[AR] D2T5: AC DR, SC 0 STA: Store AC D3T4: M[AR] AC, SC 0 BUN: Branch Unconditionally D4T4: PC AR, SC 0 BSA: Branch and Save Return Address M[AR] PC, PC AR + 1 BSA: D5T4: M[AR] PC, AR AR + 1 D5T5: PC AR, SC 0 ISZ: Increment and Skip-if-Zero D6T4: DR M[AR] D6T5: DR DR + 1 D6T6: M[AR] DR, if (DR = 0) then (PC PC + 1), SC 0 Computer Organization 14

Memory Reference Instructions Memory, PC, AR at time T4 20 0 BSA 135 PC = 21 Next instruction Memory, PC after execution 20 0 BSA 135 21 Next instruction AR = 135 135 21 136 Subroutine PC = 136 Subroutine 1 BUN 135 1 BUN 135 Memory Memory BSA: Branch and Save Return Address M[AR] PC, PC AR + 1 BSA: D5T4: M[AR] PC, AR AR + 1 D5T5: PC AR, SC 0 Computer Organization 15

Flowchart for Memory Reference Instructions Memory-reference instruction AND ADD LDA STA D 0 T 4 D 1 T 4 D 2 T 4 D 3 T 4 DR M[AR] DR M[AR] DR M[AR] M[AR] AC SC 0 D 0 T 5 D 1 T 5 D 2 T 5 AC AC DR AC AC + DR AC DR SC 0 E Cout SC 0 SC 0 BUN BSA ISZ PC AR SC 0 D T 4 4 D 5 T 4 D 6 T 4 M[AR] PC DR M[AR] AR AR + 1 D 5 T 5 D 6 T 5 PC AR DR DR + 1 SC 0 D 6 T 6 M[AR] DR If (DR = 0) then (PC PC + 1) SC 0 Computer Organization 16

Input/Output and Interrupt Input-Output Configuration INPR Input register - 8 bits OUTR Output register - 8 bits FGI Input flag - 1 bit FGO Output flag - 1 bit IEN Interrupt enable - 1 bit Input-output terminal Printer Keyboard Serial communication interface Receiver interface Transmitter interface Computer registers and flip-flops OUTR AC INPR FGO FGI Serial Communications Path Parallel Communications Path The terminal sends and receives serial information The serial info. from the keyboard is shifted into INPR The serial info. for the printer is stored in the OUTR INPR and OUTR communicate with the terminal serially and with the AC in parallel. The flags are needed to synchronize the timing difference between I/O device and the computer Computer Organization 17

Program Controlled Data Transfer CPU: /* Input, Initially FGI=0 */ loop: If FGI = 0 goto loop AC INPR, FGI 0 /* Output, Initially FGO=1 */ loop: If FGO = 0 goto loop OUTR AC, FGO 0 yes yes FGI=0 Start Input FGI 0 FGI=0 no AC INPR More Character END no Computer Organization 18

Program Controlled Data Transfer I/O Device: /* Input */ loop: If FGI = 1 goto loop INPR new data, FGI 1 /* Output */ loop: If FGO = 1 goto loop consume OUTR, FGO 1 yes yes FGO=1 Start Output AC Data FGO=0 OUTR AC FGO 0 More Character END no no Computer Organization 19

Input/Output Instructions D 7 IT 3 = p IR(i) = B i, i = 6,, 11 p: SC 0 Clear SC INP pb 11 : AC(0-7) INPR, FGI 0 Input char. to AC OUT pb 10 : OUTR AC(0-7), FGO 0 Output char. from AC SKI pb 9 : if(fgi = 1) then (PC PC + 1) Skip on input flag SKO pb 8 : if(fgo = 1) then (PC PC + 1) Skip on output flag ION pb 7 : IEN 1 Interrupt enable on IOF pb 6 : IEN 0 Interrupt enable off Computer Organization 20

Program Controlled Input/Output Program-controlled I/O Continuous CPU involvement I/O takes valuable CPU time CPU slowed down to I/O speed Simple Least hardware Input LOOP, SKI DEV BUN LOOP INP DEV Output LOOP, LDA DATA LOP, SKO DEV BUN LOP OUT DEV Computer Organization 21