桂林电子科技大学系统实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机组成系统实验

课程设计报告

题目嵌入式CISC模型计算机设计(B类)院(系):研究生学院

专业:计算机应用技术

学生姓名:周洁

学号:102031129

指导教师:陈智勇

职称:副教授

2011年05月22日

目录

1.1 实验题目 (1)

1.1.1 实验的题目 (1)

1.2 实验的具体步骤 (1)

1.2.1 CISC模型机数据通路框图 (1)

1.2.2 操作控制器的逻辑结构框图 (1)

1.2.3机器指令格式和指令系统 (1)

1.2.4时序产生器电路 (2)

1.2.5微程序流程图 (2)

1.2.6操作控制器单元(即微程序控制器) (3)

1.2.7嵌入式CISC模型计算机的顶层电路图 (4)

1.2.8汇编语言源程序 (5)

1.2.9 机器语言源程序 (5)

1.2.10机器语言源程序的功能仿真波形图及结果分析 (6)

1.2.11故障现象和故障分析 (6)

1.2.12 心得体会 (6)

1.2.13 软件清单 (6)

1.1 实验题目

1.1.1 实验的题目

设计一台嵌入式CISC模型计算机(采用定长CPU周期),并运行能完成一定功能的机器语言程序进行验证,程序功能为:输入包含10个整数(8位二进制补码表示)的数组M(不采用RAM),输出最小负数。(要求采用p3测试)

1.2 实验的具体步骤

1.2.1 CISC模型机数据通路框图

说明:范例中设计时,外部时钟信号上边沿有效。

1.2.2 操作控制器的逻辑结构框图

说明:在T4内形成微指令的微地址,并访问控制存储器,在T2的上边沿到来时,将读出的微指令打入微指令寄存器,即图中的微命令寄存器和微地址寄存器。

1.2.3机器指令格式和指令系统

由此可见,本模型机中的指令系统中共有8条基本指令,下表列出了每条指令的格式、汇编符号和指令功能。

1.2.4时序产生器电路

T1、T2、T3、T4与CLR 、Q 之间的关系图如下图所示:

图一

1.2.5微程序流程图

微程序控制器的设计过程为:

(1)根据指令格式和指令系统设计所有机器指令的微程序流程图,并确定每条微指令的微地址和后继微地址;

(2)设计微指令格式和微指令代码表; (3)设计地址转移逻辑电路;

(4)设计微程序控制器中的其它逻辑单元电路,包括微地址寄存器、微命令寄存器和控制存储器; (5)设计微程序控制器的顶层电路(由多个模块组成)。

Q CLR T1 T2 T3 T4

图二 CISC模型机中所有机器指令的微程序流程图

1.2.6操作控制器单元(即微程序控制器)

(1)设计微指令格式和微指令代码表

CISC模型机系统使用的微指令采用全水平型微指令,字长为25位,其中微命令字段为17位,P字段为2位,后继微地址为6位,其格式如下:

24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

LOAD LDPC LDAR LDIR LDRi RD_B RS_B S1 S0 ALU_B LDAC LDDR WR CS SW_B LED_B LDFR P1 P2 后继微地址由微指令格式和微程序流程图编写的微指令代码表如下所示,在微指令的代码表中微命令字段从左边到右代表的微命令信号依次为:LOAD、LDPC、LDAR、LDIR、LDRi、RD_B、RS_B、S1、S0、ALU_B、LDAC、LDDR、WR、CS、SW_B、LED_B、LDFR。

(2)设计地址转移逻辑电路

地址转移逻辑电路是根据微程序流程图3-2中的棱形框部分及多个分支微地址,利用微地址寄存器的异步置“1”端,实现微地址的多路转移。

由于微地址寄存器中的触发器异步置“1”端低电平有效,与µA4~µA0对应的异步置“1”控制信号SE5~SE1的逻辑表达式为:(µA5的异步置“1”端SE6实际未使用)

SE6= FS·P(3)·T4

SE5=(FC+FZ)·P(2)·T4

SE4=I7·P(1)·T4

SE3=I6·P(1)·T4

SE2=I5·P(1)·T4

SE1=I4·P(1)·T4

1.2.7嵌入式CISC模型计算机的顶层电路图

图三

1.2.8汇编语言源程序

由给出的题目和设计的指令系统编写相应的汇编语言源程序。算法思想为:采用R1寄存器存放从开关输入的任意一个整数,R3存放输入的最小负数,R0和R2用于控制循环,用一个循环程序实现如下:MOV1 R0,OOH 将0存入寄存器R0

MOV1 R1,OAH 将10存入寄存器R0

MOV1 R2,FFH 将-1存入寄存器R0

L1:IN1 R3 将输入的数存入R3

INC R0 R0中的数自加1

CMP R0,R1 比较R0和R1的大小

JB L2 若R0小于R1,跳转到L2

OUT R2 输出R2

L2:CMP R2,R3 比较R2和R3的大小

JB L3 若R2小于R3,跳转到L3

JMP L1 无条件跳转到L1

MOV2 R3,R2 将R3中的内容移到R2

JMP L1 无条件跳转到L1

1.2.9 机器语言源程序

根据设计的指令格式,将汇编语言源程序手工转换成机器语言源程序,并将其设计到模型机中的ROM中去。与1.2.8中汇编语言源程序对应的机器语言源程序如下:

助记符地址(十六进制)机器代码功能

MOV1 R0,OOH 00 10010000 00H →R0

01 00000000

MOV1 R1,OAH 02 10010001 0AH →R1

03 00001010

MOV1 R2,FFH 04 10010010 FFH →R2

05 11111111

L1:IN1 R3 06 10000011 (SW) →R3

INC R0 07 11010000 (R0)+1→R0

CMP R0,R1 08 10100001 (R0)-(R1)

JB L2 09 10110000 若小于,L2 →PC

0A 00001100

OUT R2 0B 11111000 (R2)→LED

L2: CMP R2,R3 0C 10101011 (R2)-(R3)

JB L3 0D 10110000 L3→PC

OE 00010001

JMP L1 0F 11100000 L1→PC

10 00000110

L3: MOV2 R3,R2 11 11001110 (R3) →(R3)

JMP L1 12 11100000 L1→PC

13 00000110

相关文档
最新文档