简单16位CPU设计
简单16位CPU设计
一、实验内容
完成从指令系统到CPU的设计,编写测试程序,通过运行测试程序对CPU设计进行正确性评定。具体内容包括:典型指令系统(包括运算类、转移类、访存类)设计;CPU结构设计;CPU的VHDL程序代码编写;规则文件与调试程序设计;CPU调试及测试程序运行。
二、实验目的及要求
1.加深对计算机的基本概念、基本原理和基本结构的理解;
2.掌握计算机组成与系统结构方面的基本设计、分析与实现方法;
3.掌握典型16CPU设计方法;
4.熟练掌握VHDL语言及应用,完成对CPU各功能模块的代码描述,实现各个功能模块部分的连接,从而形成一个完整的CPU体系结构;
5.学会利用先进的硬件设计工具软件Quartus II对程序进行仿真和调试;
6.掌握基于“TEC-CA试验教学系统”进行CPU调试的方法。
实验仪器设备
(1)TEC-CA试验教学系统;
(2)虚拟仪器平台;
(3)计算机。
(4)实验环境
实验方案设计
指令系统设计
指令系统的作用和地位
指令系统是从程序设计者看到的机器的主要属性,是软、硬件的主要界面。
指令系统是计算机系统结构的主要组成部分。
指令系统是软件与硬件分界面的一个主要标志。
指令系统是软件与硬件之间互相沟通的桥梁。
指令系统的设计规范
设计的原则:支持编译系统能高效、简易地将源程序翻译成目标代码。
正交性:指令字段编码相互独立。
规整性:相似操作有相同的规定。
可扩充性:操作码冗余。
对称性:A-B=》A;A-B=》B,便于编译。
CPU中操作数的存储方法
CPU中操作数的存储方法是各种指令集结构之间最主要的区别所在,其影响运算器的组织。
CPU中用来存储操作数的存储单元主要有:
(1)堆栈;
(2)累加器;
(3)一组寄存器;
通用寄存器型指令集结构的主要优点:
(1)使编译器有效地使用寄存器;
(2)在表达式求值方面,比其它类型指令集结构,具有更大的灵活性;
(3)寄存器可以用来存放变量;
a.减少存储器的访问量,加快程序的执行速度。(因为寄存器比存储器快)
b.可以用更少的地址位来寻址寄存器,从而可以有效改进程序的目标代码大小。
由于通用寄存器型指令系统存在诸多的优点因此我们选择通用寄存器型指令结构。
指令格式与功能
ADD DR,SR
0000 DR SR 0000 0111指令编码:
0000 DR SR 0000 0111
功能:DR DR+SR,影响C和Z标志,PC PC+1。
INC DR
0001 DR SR 0000 0111指令编码:
0001 DR SR 0000 0111
功能:DR DR+1,影响C和Z标志,PC PC+1
SUB DR,SR
0010 DR SR 0000 0111指令编码:
0010 DR SR 0000 0111
功能: DR DR-SR,影响C和Z标志,PC PC+1
DEC DR
0011 DR SR0000 0111指令编码:
0011 DR SR0000 0111
功能:DR DR-1,影响C和Z标志,PC PC+1
AND DR,SR
0100 DR SR 0000 0011指令编码:
0100 DR SR 0000 0011
功能:DR DR and SR,影响Z标志,PC PC+1
OR DR,SR
0101 DR SR 0000 0011指令编码:
0101 DR SR 0000 0011
功能:DR DR or SR,影响Z标志,PC PC+1
NOT DR
0110 DR SR 0000 0011指令编码:
0110 DR SR 0000 0011
功能:DR not SR,影响Z标志,PC PC+1
MOV DR,SR
0111 DR SR 0000 0001指令编码:
0111 DR SR 0000 0001
功能:功能:DR SR,不影响标志位,PC PC+1
1000 0000 0000 0000 ADR
1000 0000 0000 0000
ADR
指令编码:
功能:PC ADR
JNC ADR
1001 0000 ADR -@-1指令编码:
1001 0000 ADR -@-1
功能:如果C=0,则PC ADR;如果C=1,则PC PC+1
JNZ ADR
1010 0000 ADR -@-1指令编码:
1010 0000 ADR -@-1
功能:如果Z=0,则PC ADR;如果C=1,则PC PC+1
MVRD DR