计算机组成课程设计
- 格式:doc
- 大小:1.09 MB
- 文档页数:27
计算机学院计算机科学与技术专业
《计算机组成课程设计》报告
(2012/2013学年 第一学期)
学生姓名:
学生班级: 计算机102201H
学生学号:
指导教师: 康葆荣
年 月 日 计算机组成原理课程设计
I
目录
1 课程设计需求分析 ....................................................... 1
1.1 课程设计目的与要求 ................................................ 1
1.2 课程设计内容 ...................................................... 1
1.3 实验器材描述 ...................................................... 2
1.4 存储器划分 ........................................................ 2
1.5 指令译码电路分析 .................................................. 3
1.6 寄存器译码电路分析 ................................................ 4
2详细设计 ................................................................ 5
2.1控制台设计 ........................................................ 5
2.2 单条指令的详细设计 ................................................ 7
2.3指令设计 ......................................................... 15
3编码实现 ............................................................... 20
4设计测试 ............................................................... 20
5实验心得体会 ........................................................... 22
附录一:数据通路图 ...................................................... 22
附录二:实验连线图 ...................................................... 23
参考文献: .............................................................. 24
计算机组成原理课程设计
1
1 课程设计需求分析
1.1 课程设计目的与要求
本课程设计是计算机科学与技术专业重要的实践性教学环节之一,是在学生学习完《计算机组成原理》课程后进行的一次全面的综合设计。目的是通过一个完整的8位指令系统结构(ISA)的设计和实现,加深对计算机组成原理课程内容的理解,建立起整机系统的概念,掌握计算机设计的基本方法,培养学生科学的工作作风和分析、解决实际问题的工作能力。
要求学生综合运用计算机组成原理、数字逻辑和汇编语言等相关课程的知识,理解和熟悉计算机系统的组成原理,掌握计算机主要功能部件的工作原理和设计方法,掌握指令系统结构设计的一般方法,掌握并运用微程序设计(Microprogramming)思想,在设计过程中能够发现、分析和解决各种问题,自行设计自己的指令系统结构(ISA)。
1.2 课程设计内容
基于TDN-CM++计算机组成原理实验教学系统,设计和实现一个8位指令系统结构(ISA),通过调试和运行,使设计的计算机系统能够完成指定的功能。
设计过程中要求考虑到以下各方面的问题:
1、指令系统风格(寄存器-寄存器,寄存器-存储器,存储器-存储器);
2、数据类型(无符号数,有符号数,整型,浮点型);
3、存储器划分(指令,数据);
4、寻址方式(立即数寻址,寄存器寻址,直接寻址等);
5、指令格式(单字节,双字节,多字节);
6、指令功能类别(算术/逻辑运算,存储器访问,寄存器操作,程序流控制,输入/输出);
计算机组成原理课程设计
2
1.3 实验器材描述
硬件:TDN—CN++计算机组成原理实验教学系统, 具备支持开放式实验教学方法的结构特点。
表1-1 TDN—CN++教学系统
电路名称 主要电路内容
运算器单元
(ALU UNIT) 运算器、进位控制器、移位寄存器、寄存器堆、内部总线
计数器与地址寄存器单元
(ADDRESS UNIT) 地址寄存器、程序地址计数器
微控器单元
(MICRO CONTROLLER UNIT) 指令寄存器、指令译码器、微指令控制寄存器及其编程器、逻辑译码单元、时序电路
主存单元(MAIN MEM) SRAM6116
输入设备、输出设备
(INPUT DEVICE& OUTPUT DEVICE) 开关、显示灯、
控制台(读写、启动、停机)
CPLD单元 1片ISP LSI1032 CPLD芯片
接口实验板(系统附件) Intel 8253、8255、8259接口芯片各一片
逻辑信号测量单元 两路逻辑信号PC 示波器
单片机控制单元 控制单片机、RS-232C串口等
电源 采用高效开关单元、
输出为5V/2A、±12V/0.2A
1.4 存储器划分
存储区大小为256个存储单元,分配给代码区17个存储单元,数据区为239个存储单元。存储器地址由“INPUT DEVICE”的8位输入端生成,可对256个地址进行访问。此256个地址空间由代码区和数据区两部分构成(如图1-5所示),其中指令代码区范围为[0000 0000]-[0010 0101],即[00H-25H],数据区范围为[1101 计算机组成原理课程设计
3
0110-1111 1111],即[26H-FFH]。
I7 I6 I5 I4 I3 I2 I1 I0
00H
25H
26H
FFH
D7 D6 D5 D4 D3 D2 D1 D0
图1.1存储器空间分配
1.5 指令译码电路分析
图1.2 指令译码电路
根据指令译码电路以及寄存器译码电路,得出以下结论:
代码区
数据区
计算机组成原理课程设计
4 14244424434534644754**(4)(2)**(1)****(4)(2)**(1)**(1)**(1)*(3)**()ABcZSESWTPPIIPTISESWTPPTIPTISEPTISEPTISEPTFF
IN: 000000 得SE1=SE2=SE3=SE4=SE5=1,由010000(20)开始跳转。
ADD:000100 I4=1,SE1=0,(010000—010001)微地址由20跳到21。
SUB:001001 I2=I5=1,得SE2=0,(010000—010010)微地址由20跳到22。
MOV:001100 I4=I5=1,得SE1=SE2=0,(010000—010011)微地址由20跳到23。
AND:010001 SE3=0,(010000—010100)由20跳到24。
OR: 010100 I4=I6=1,得SE1=0,SE3=0,(010000—010101)由20跳到25。
STA:011001 I2=I5=I6=1,得SE2=SE3=1,(010000—010110)由20跳到26。
LOAD:011101 I2=I4=I5=I6=1,得SE1=SE2=SE3=1,(010000—010110)由20跳到26。
OUT: 100000 I7=1,得SE4=0,(010000—011000)由20跳到27。
JMP: 100100 I4=I7=1,得SE4=0,(010000—011000)由20跳到30。
STOP:101000 I5=I7=1,得SE1=0,(010000—011001)由20跳到31。
1.6 寄存器译码电路分析
图1.3 寄存器译码电路 计算机组成原理课程设计
5
(1) 选中LDRI,对寄存器R0、R1或R2进行操作。
表1-2
I1 I0 说明
0 0 对寄存器R0进行写操作
0 1 对寄存器R1进行写操作
0 0 对寄存器R2进行写操作
(2) 选中R0-B,对寄存器R0、R1或R2进行读操作。
表1-3
I1 I0 说明
0 0 将寄存器R0的内容读出
0 1 将寄存器R1的内容读出
1 0 将寄存器R2的内容读出
(3) 选中RS-B,对寄存器R0、R1或R2进行读操作。
表1-4
I3 I2 说明
0 0 将寄存器R0的内容读出
0 1 将寄存器R1的内容读出
1 0 将寄存器R2的内容读出
(4) 选中RI-B时,只对R2寄存器进行读操作。
2详细设计
2.1控制台设计