960 likes | 1.27k Views
Chapter 6 CPU Design. CPU Specification Very Simple CPU Relatively Simple CPU Simple CPU Shortcomings 8085 Microprocessor. Chapter Outline. Determine its intended applications Develop Instruction Set Architecture Design State Diagram. Specifying a CPU. CPU State Diagram. Fetch Decode
E N D
CPU Specification Very Simple CPU Relatively Simple CPU Simple CPU Shortcomings 8085 Microprocessor Chapter Outline
Determine its intended applications Develop Instruction Set Architecture Design State Diagram Specifying a CPU
Fetch Decode Execute Instruction Cycle
64 x 8 memory Address pins A[5..0] Data Pins D[7..0] 8-bit Accumulator Very Simple CPU
6-bit Address Register AR 6-bit Program Counter PC 8-bit Data Register DR 2-bit Instruction Register IR Non-ISA Registers
CPU outputs address on A[5..0] Delay for memory to perform its internal operations Read data from memory on D[7..0] Fetching Instructions from Memory
FETCH1: AR PC Fetch States
Fetch States FETCH1: AR PC FETCH2: DR M
Fetch States FETCH1: AR PC FETCH2: DR M, PC PC + 1
Fetch States FETCH1: AR PC FETCH2: DR M, PC PC + 1 FETCH3: IR DR[7..6], AR DR[5..0]
ADD1: DR M ADD2: AC AC + DR Executing Instructions - ADD
AND1: DR M AND2: AC AC ^ DR Executing Instructions - AND
JMP1: PC DR[5..0] Executing Instructions - JMP
INC1: AC AC + 1 Executing Instructions - INC
FETCH1: AR PC FETCH2: DR M, PC PC + 1 FETCH3: IR DR[7..6], AR DR[5..0] ADD1: DR M ADD2: AC AC + DR AND1: DR M AND2: AC AC ^ DR JMP1: PC DR[5..0] INC1: AC AC + 1 Very Simple CPU Specification
Regroup operations by destination AR: ARPC; ARDR[5..0] PC: PCPC + 1; PCDR[5..0] DR: DRM IR: IRDR[7..6] AC: ACAC + DR; ACAC^DR; ACAC + 1 Establishing Data Paths
Determine functions of each component AR, DR, and IR only load data PC and AC load and increment data Establishing Data Paths
AR only supplies data to memory Optimize Register Section
Optimize Register Section • AR only supplies data to memory • IR only supplies data to control unit
Optimize Register Section • AR only supplies data to memory • IR only supplies data to control unit • AC does not supply data to other registers
Optimize Register Section • AR only supplies data to memory • IR only supplies data to control unit • AC does not supply data to other registers • Bus is 8-bits wide, but some registers have fewer bits
Optimize Register Section • AR only supplies data to memory • IR only supplies data to control unit • AC does not supply data to other registers • Bus is 8-bits wide, but some registers have fewer bits • ALU needed to generate results
Assign FETCH1 to counter value 0 Control Unit Design Heuristics
Control Unit Design Heuristics • Assign FETCH1 to counter value 0 • Assign sequential states to sequential values
Control Unit Design Heuristics • Assign FETCH1 to counter value 0 • Assign sequential states to sequential values • Optimize assignment of values to first states of execute routines
0: ADD4 1: AND5 2: INC 3: JMP 0 4: 27H 5: 39H Design Verification
64K x 8 memory Address pins A[15..0] Data Pins D[7..0] 8-bit Accumulator AC 8-bit General Purpose Register R 1-bit Flag Register Z Relatively Simple CPU
16-bit Address Register AR 16-bit Program Counter PC 8-bit Data Register DR 8-bit Instruction Register IR 8-bit Temporary Register TR Non-ISA Registers
FETCH1: AR PC FETCH2: DR M, PC PC + 1 FETCH3: IR DR, AR PC Fetch Cycle
NOP1: (no operation) NOP Execute Cycle
LDAC1: DR M, PC PC + 1, AR AR + 1 LDAC Execute Cycle
LDAC Execute Cycle LDAC1: DR M, PC PC + 1, AR AR + 1 LDAC2: TR DR, DR M, PC PC + 1
LDAC Execute Cycle LDAC1: DR M, PC PC + 1, AR AR + 1 LDAC2: TR DR, DR M, PC PC + 1 LDAC3: AR DR,TR
LDAC Execute Cycle LDAC1: DR M, PC PC + 1, AR AR + 1 LDAC2: TR DR, DR M, PC PC + 1 LDAC3: AR DR,TR LDAC4: DR M
LDAC Execute Cycle LDAC1: DR M, PC PC + 1, AR AR + 1 LDAC2: TR DR, DR M, PC PC + 1 LDAC3: AR DR,TR LDAC4: DR M LDAC5: AC DR