《高级计算机体系结构》实验
实验1 简单CPU设计
一.实验目的
设计实现简单CPU,熟悉并掌握指令结构,利用verilog编写各个子模块。
二.实验原理 1.CPU设计
CPU概念设计如图1所示:
图1
2.指令集
(1)本实验设计一个可以运行4条指令的简单CPU (2)指令格式:opcode(2 bit)+ addr(6 bit) (3)具体4条指令如表1: 表1 指令结构 Inst Op Addr Operation ADD AND INC JMP 00 01 10 11 XXXXXX XXXXXX XXXXXX XXXXXX 加 法: AC<-AC+M[Addr] 逻辑与: AC<-AC^M[Addr] 加 1: AC<-AC+1 跳 转: PC<-Addr 3.寄存器组织
(1)累加器(AC)
a.提供ADD,AND操作的一个操作数
b.存放ADD,AND操作的结果
(2)用户不可见寄存器
a.地址寄存器(AR):6bit,提供访问存储器单元地址
《高级计算机体系结构》实验
b.程序计数器(PC):6bit,存放下一条指令在存储器单元中的地址 c.数据寄存器(DR):8bit,存放从访问存储器单元的内容 d.指令寄存器(IR):2bit,存放当前取出的指令的操作码部分
4.指令的执行
指令的执行过程如图2:
图2
(1)取指
FETCH1: AR<- PC
FETCH2: DR<- M,PC<- PC+1 FECTH3: IR<- DR[7..6],AR<- DR[5..0]
(2)执行
ADD1: DR<- M
ADD2: AC<- AC + DR AND1: DR<- M
AND2: AC<- AC ^ DR INC1: AC<- AC + 1 JMP1: PC<- DR[5..0]
(3)寄存器操作
AR: AR<-PC; AR<-DR[5..0]
《高级计算机体系结构》实验
PC: PC<-PC+1; PC<-DR[5..0] DR: DR<-M
IR: IR<-DR [7..6]
AC: AC<-AC+DR; AC<-AC^ DR; AC <-AC+1
5.CPU数据通路
CPU数据通路设计如图3所示:
图3
图3是已经过简化的数据通路,它反映了CPU内部各单元的功能特点: (1)AR只向存储器提供数据 (2)IR不向其他单元提供数据 (3)AC不向其他单元提供数据 (4)AC需保存ALU运算结果 (5)8bit BUS
6.控制器 (1)控制器功能
控制器是负责产生CPU内的各种信号,控制程序的执行:
《高级计算机体系结构》实验
1、取指令(fetch) 2、分析指令(decode) 3、执行指令(Execute)
4、其他功能:控制程序数据的输入输出、异常处理、中断等
(2)控制信号
控制器中有9条信号线,分别是:
PCLOAD :允许PC置值 PCINC :允许PC自加1 DRLOAD :允许DR置值 ACLOAD :允许AC置值 ACINC :允许AC自加1 IRLOAD :允许IR置值
MEMBUS :控制存储器是否输出 PCBUS :控制PC是否输出 READ :读存储器
(3)信号生成逻辑
1.控制信号的线性表达: PCLOAD = JMP1
PCINC = FETCH2
DRLOAD = FETCH1 v ADD1 v AND1 ACLOAD = ADD2 v AND2 ACINC = INC1 IRLOAD = FETCH3
MEMBUS = FETCH2 v ADD1 v AND1 PCBUS = FETCH1
READ = FETCH2 v ADD1 v AND1 2.控制信号的生成逻辑,如图4:
相关推荐: