概述
计算机组成原理课程设计
- 1.概述
- 2.整体设计实现
- 2.1嵌入式CISI模型机系统总体设计
- 2.2 嵌入式CISC系统控制器的逻辑结构框图
- 2.3部件的功能表
- ALU功能表:
- 程序计数器PC:
- 时序产生器:
- 3.模块实现
- 3.1汇编语言
- 3.2 设计指令格式
- 3.3 将汇编语言翻译成机器语言
- 3.4 微程序流程图
- 3.5 微指令列表
- 3.6 顶层电路图
- 4.运行测试与分析
- 5.总结
1.概述
本次课程设计,我们小组设计的是一个采用定长cpu周期、三数据总线结构运算器的嵌入式CISC模型机,该模型机可以实现以下功能:输入包含10个整数(有符号数)的数组M,可以将其按从小到大的顺序输出。
2.整体设计实现
微处理器由运算器和控制器两部分组成,运算器由ALU、通用寄存器状态字寄存器PSW、三态缓冲器和多路选择器组成。控制器由程序计数器PC、指令寄存器IR、指令译码器、操作控制器和时序产生器组成。程序计数器用来给出指令的地址,指令寄存器用来保存正在执行的指令,操作控制器的主要功能,就是根据指令的操作码和时序信号,产生各种具有时间标志的操作控制信号,时序产生器根据时钟脉冲信号源的时钟输入产生节拍脉冲信号。
微处理器在运行程序时,根据程序计数器的值自动地从主存储器中取出一条指令,然后对指令进行分析,即对指令的操作码进行译码或者测试,以识别指令的功能,并根据不同的操作码、状态反馈信息和时序产生器产生的时序信号,生成具有时间标志的操作控制信号,送到相应的执行部件,定时启动所要求的操作,以控制数据在微处理器、主存储器和输入/输出设备之间流动,指挥运算器操作,完成对数据的加工处理。与此同时,它还修改程序计数器的值,给出后继指令在主存储器中的位置,自动地、逐条地取指令、分析指令和执行指令,直到指令序列终止、全部执行完毕为止。
2.1嵌入式CISI模型机系统总体设计
2.2 嵌入式CISC系统控制器的逻辑结构框图
由于微地址寄存器中的触发器异步置“1”端低电平有效,因此与ua5-ua0对应的异步置“1”控制信号SE5~SE0(ua5的异步置“1”端SE5实际未涉及)的逻辑表达式为:
2.3部件的功能表
ALU功能表:
程序计数器PC:
时序产生器:
3.模块实现
3.1汇编语言
MOV R0,00H ;从ram的00H位置开始存放数据
MOV R1,0AH ;设置循环次数
L1 :IN1 R2 ;从外部输入数据到R2寄存器
STO R2,(R0) ;将R2中的数据送到ram中
INC R0 ;地址自加一
DEC R1 ;循环次数自减一
TEST R1 ;测试R1是否为正
JNS L1 ;正数则跳转
;送数结束
MOV R3,09H ;冒泡排序
ALOP: MOV R0,09H
ALOP1: LAD (R0),R1
DEC R0
LAD (R0),R2
CMP R1,R2 ;比较的实质是相减
JNS NEXT ;若为正则跳转
INC R0 ;交换两个相邻地址的内容
STO R2,(R0)
DEC R0
STO R1,(R0)
NEXT:TEST R0 ;判断是否为正
JNS ALOP1
DEC R3
TEST R3
JNS ALOP
MOV R0,00H ;输出排序后的数据
MOV R1,09H
LOP:LAD (R0),R2
OUT R2
INC R0
DEC R1
TEST R1
JNS LOP
;结束
流程图:
3.2 设计指令格式
3.3 将汇编语言翻译成机器语言
3.4 微程序流程图
3.5 微指令列表
3.6 顶层电路图
crom
aa
4.运行测试与分析
从上图我们可以看出,此次用于测试的数据分别为33H,30H,10H,A0H,11H,13H,50H,60H,19H,34H,其中A0H为负数。
上面的波形图列举了第一、二次排序的过程,其中R1、R2存的是将要排序的数据,R3存的是排序的次数。这是从高地址往低地址排序,R1中存放的是高地址的数据,R2中存放的是低地址的数据,一旦R1中的数比R2中的数小,则将高地址的数和低地址的数进行交换
从上图看出,排序的结果为,A0H,10H,11H,13H,19H,30H,33H,34,50H,正确。
5.总结
这次课设我们花费了挺久的时间才完成的,有些地方,比如说汇编语言的设计,还有微指令的设计,都让我们卡了好半天。不过,当看到最终结果出来时,我们还是挺高兴的。
最后
以上就是强健裙子为你收集整理的计算机组成原理课程设计的全部内容,希望文章能够帮你解决计算机组成原理课程设计所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复