news 2026/2/28 21:24:49

硬连线控制器的常规 CPU 设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
硬连线控制器的常规 CPU 设计

硬连线控制器的常规 CPU 设计

第一章课程设计简述

1.1 教学目的

1、融会贯通计算机组成原理与体系结构课程各章教学内容,通过知识的综合运用,加深对 CPU 各模块工作原理及相互联系的认识;

2、掌握硬连线控制器的设计方法;

3、学习运用 EDA 设计工具,掌握用 EDA 设计大规模复杂逻辑电路的方法;VHDL:超高速集成电路硬件描述语言 QuartusⅡ:

4、培养科学研究能力,取得设计和调试的实践经验。

1.2 课设任务

1、设计一个硬连线控制器,和 TEC-8 模型计算机的数据通路结合在一起,构成一个完整的 CPU,该 CPU 要求:

① 能够完成控制台操作:启动程序运行、读存储器、写存储器、读寄存器和写寄存器。

② 能够执行表 1 中的指令,完成规定的指令功能。

2、在 QuartusⅡ 下对硬布线控制器设计方案进行编程和编译。

3、在编译后的硬布线控制器下载到 TEC-8 实验台上的 ISP 器件 EPM7128 中去,使 EPM7128 成为一个硬布线控制器。

4、根据指令系统,编写检测硬连线控制器正确性的测试程序,并用测试程序对硬布线控制器在单拍方式下进行测试,直到成功。

5、在调试成功的基础上,整理出设计文件。

① 硬连线控制器逻辑模块图;

② 硬连线控制器指令周期流程图;

③ 硬连线控制器的硬件描述语言源程序;

④ 测试程序;

⑤ 设计说明书;

⑥ 调试总结。

1.3 实验设备

第二章总体设计思路

2.1 指令系统

为完成课程设计的内容要求、简化控制信号逻辑表达式,使用的指令系统及其相应编码如下:

2.1.1 机器指令

表 2-1 新 CPU 机器指令

名称

助记符

功能

指令格式

IR7IR6IR5IR4

IR3IR2

IR1IR0

加法

ADDRd,Rs

Rd←Rd+Rs

0001

Rd

Rs

减法

SUBRd,Rs

Rd←Rd-Rs

0010

Rd

Rs

逻辑与

ANDRd,Rs

Rd←RdandRs

0011

Rd

Rs

加 1

INCRd

Rd←Rd+1

0100

Rd

XX

取数

LDRd,[Rs]

Rd←[Rs]

0101

Rd

Rs

存数

STRs,[Rd]

Rs→[Rd]

0110

Rd

Rs

C 条件转移

JCoffset

若 C=1,则 PC←@+offset

0111

offset

Z 条件转移

JZoffset

若 Z=1,则 PC←@+offset

1000

offset

无条件转移

JMPRd

PC←Rd

1001

Rd

XX

输出

OUTRs

DBUS←Rs

1010

XX

Rs

自加

ADDRd,Rd

Rd←Rd+Rd

1011

Rd

XX

异或

Rd⊕Rs

Rd←Rd⊕Rs

1100

Rd

Rs

Rd+Rs

Rd←Rd+Rs

1101

Rd

Rs

同或

Rd⊙Rs

Rd←Rd⊙Rs

1111

Rd

Rs

表 2-1 中,XX 代表任意值,Rs 代表源寄存器号,Rs 代表目的寄存器号。在条件转移指令中,@代表当前 PC 的值,offset 是一个四位的有符号数,第三位是符号位,0 代表正数,1 代表负数。注意:@不是当前指令的 PC 值,而是当前指令的 PC 值加 1。

2.1.2 控制台指令

表 2-2 控制台指令

SWC

SWB

SWA

工作方式

0

0

0

PR,启动程序

0

0

1

KRD,读取端口存储器

0

1

0

KWE,写双端口存储器

0

1

1

KLD,加载寄存器堆

1

0

0

KRR,读寄存器堆

2.2 硬连线控制器逻辑模块图

本实验要求设计一个硬连线控制器,和 TEC-8 模型计算机的数据通路结合在一起,构成一个完整的 CPU。我们需要针对 TEC-8 模型计算机的特性来设计硬连线控制器。

通过观察 TEC-8 的框图可知,硬连线控制器受译码器输出信号(SWC-SWA、IR7-IR4)、节拍电位信号(T3)、状态条件信号(Z、C)、时序发生器产生的节拍脉冲信号(W3-W1)及 CLR#

图 2—2

第三章设计与调试方案

3.1 设计步骤

3.1.1 破连线控制器指令周期流程图

硬连线控制器以节拍信号作为电位,时序发生器产生的节拍脉冲信号 W3-Wl 为时间单位。根据所要求的指令功能进行硬连线控制器指令周期的设计:

图 3 一 1

本图中一个执行框代表一个节拍电位时间,TEC-8 实验系统中采用了可变节拍数来执行一条机器指令。

3.1.2 组合逻辑译码表

表 3-1 组合逻辑译码表

IR

ADD

SUB

AND

INC

LD

ST

JC

JZ

JMP

OUT

自加

异或

同或

LDI

WI

WI

VI

VI

WI

WI

WI

VI

WI

WI

WI

WI

WI

VI

V2

W2

W2

\\尼

W2

W2

W2

W2

W2

\\尼

S3

W2

V2

W2

W2

W2

W2

\\尼

"

W2

W2

W 主

W2

W2

W2

S1

W2

W2

W2

W2/W3

W2

W2

W2

S0

W2

W2

W2

W2

W2

CIN

W2

W2

LDC

W2

W2

W2

W2

LDZ

W2

W2

W2

W2

W2

W2

W2

W2

DRW

W2

W2

W2

W2

W3

W3

W2

W2

W2

W2

ABUS

W2

W2

W2

W2

W2/W3

W2

W2

W2

W2

W2

W2

LAR

W2

W2

PCADD

C,W2

Z,W2

LPC

W2

MBUS

W3

MEMW

W3

LONG

W2

W2

STOP

PCING

W1

W1

W1

W1

W1

W1

W1

W1

W1

W1

W1

W1

W1

W1

3.2 硬连线控制器的硬件描述语言源程序

3.2.1 源程序设计思路

使用硬件描述语言书写硬连线控制器源程序时,需根据设计好的指令周期框图进行编写。首先指定调用的程序包,并在程序起始声明控制器的输入输出变量,进行预设计,然后就可依次进行指令的编写了。

3.2.2 源程序代码

见附录

第四章检验性试验

4.1 基础实验

4.1.1 预制寄存器及其存储器的内容

表 4-1 预制寄存器及其存储器内容

寄存器

R2=60H

R3=FDH

存储器

[60H]=67H

[61H]=80H

[62H]=0FDH

[80H]=60H

[0FEH]=03H

[0FFH]=03H

4.1.2 程序代码

表 4-2 程序代码

地址

指令

机器码

1

2

3

00H

LD,R0,[R2]

52H

R0=67H

01H

INC,R2

48H

R2=61H

02H

LD,R1,[R2]

56H

R1=80H

03H

ADD,R0,R1

11H

R0=E7H

R0=07H

R0=86H

04H

JC,06H

71H

PC=06H

05H

AND,R1,R0

34H

R1=80H

R1=82H

06H

SUB,R0,R2

22H

R0=86H

R0=04H

R0=83H

07H

INC,R1

44H

R1=81H

R1=82H

R1=83H

08H

STA,R0,[R1]

64H

[81H]=86H

[82H]=04H

[83H]=83H

09H

INC,R3

4CH

R3=FEH

R3=FFH

R3=00H

0AH

JZ,0DH

82H

PC=ODH

0BH

LD,R2[R3]

5BH

R2=03H

R2=03H

0CH

JMP,[R2]

98H

PC=03H

PC=03H

0DH

INC,R3

4CH

R3=01H

0EH

INC,R3

4CH

R3=02H

0FH

SUB,R0,R2

22H

R0=80H

10H

LD,R2,[R0]

58H

R2=60H

11H

ADD,R3,R2

1EH

R3=62H

12H

LD,R3[R3]

5FH

R3=FDH

13H

OUT,RO

0A0H

RO

14H

STP

0E0H

4.1.3 执行结果

表 4-3 执行结果

读寄存器

R0=80H

R1=83H

R2=60H

R3=FDH

读存储器

[81H]=86H

[82H]=04H

[83H]=83H

4.1.4 附加功能

表 4-4 附加功能(1)

寄存器初始值

R0=80H

R1=83H

R2=60H

R3=FDH

表 4-5 附加功能(2)

指令

机器码

Rd

输出

DBUS←Rs

10100001

(DBUS)83H

自加

Rd←Rd+Rd

10111000

C0H

异或

Rd←Rd⊕Rs

11000111

7EH

Rd←Rd+Rs

11011011

FDH

同或

Rd←Rd⊙Rs

11110110

1CH

4.2 自备检验性试验

注意到若只进行基础实验,将有多个指令的正确性存在争议,因此本组设计了如下检验性试验:

4.2.1 制寄存器及其存储器的内容

表 4-6 预制寄存器及其存储器内容

寄存器

R2=60H

R3=64H

存储器

[60H]=83H

[64H]=24H

4.2.2 程序代码

表 4-7 程序代码

地址

指令

机器码

1

2

3

00

LDR0,[R2]

52H

R0=83H

01

LDR1,[R3]

57H

R1=24H

02

INCR2

48H

R2=61H

03

SUBR0,R1

21H

R0=59H

04

INCR0

40H

R0=60H

05

STAR1,[R0]

21H

[60H]=24H

06

ADDR0,R3

13H

R0=48H

07

JC09H

71H

08

SUBR2,R0

28H

R2=13H

09

JZ10H

80H

0A

ANDR3,R0

R3=40H

0B

JMP[R2]

98H

PC=13H

0C

OUTR0

A0H

0D

STP

E0H

4.2.3 执行结果

表 4-8 执行结果

读寄存器

R0=48H

R1=24H

R2=13H

R3=40H

读存储器

[60H]=24H

4.3 程序仿真

图 4-1

图 4-2

第五章遇到的问题与体会

5.1 调试日志

在进行硬布线控制器的指令周期设计时,需注意参照已有类似设计进行改进与学习,在实践中完善和改进。

在进行使用 QuartusII 进行代码编写时,曾遇到许多问题:

1.没有对应的芯片可供选择

2.项目名和顶部文件名没有正常设置

3.针脚没有定义

我的解决方案是:

1.更换设计软件版本,安装元器件库

2.将项目名称与顶部文件名设置相同

3.参照实验书进行了芯片针脚定义

5.2 心得体会

进行课程设计不是一蹴而就的,需要大量的时间来学习,来验证。同时也需要合作,需要分工。感谢同组同学对我的大力支持和帮助,没有他们的支持与分工,课设就不能如此顺利的完成。同时感谢老师的指导与答疑。

参考文献

[1] TEC-4 模型计算机介绍.[Z].北京

[2]白中英.计算机组成原理(第五版·立体化教材)[M].北京.科学出版社,2013

♻️ 资源

大小:1.56MB

➡️资源下载:https://download.csdn.net/download/s1t16/87404237

注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/27 11:32:09

2026高质量3D渲染视频素材下载:10个实用网站推荐

根据《2025年中国数字创意产业发展报告》显示,2025年我国数字创意产业规模突破6万亿元,其中3D渲染视频素材的市场需求同比增长35%。随着短视频、直播、广告等行业的快速发展,创作者对高质量3D渲染素材的需求越来越迫切,但找到合适…

作者头像 李华
网站建设 2026/2/28 3:55:07

告别服务器失联!Prometheus+cpolar 让监控告警走出内网

Prometheus、node_exporter、Alertmanager 是一套适配性很强的服务器监控告警组合,Prometheus 能精准采集 CPU、内存等核心指标,node_exporter 轻量化收集服务器硬件数据,Alertmanager 可分类推送告警信息,这套组合适合个人服务器…

作者头像 李华
网站建设 2026/2/25 3:07:04

Python无人机机器人健康预警系统

目录Python无人机机器人健康预警系统的摘要项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作Python无人机机器人健康预警系统的摘要 无人机机器人在现代工业、农业、物流和安防等领域发挥着重要作用&#x…

作者头像 李华
网站建设 2026/2/28 15:13:39

百考通AI任务书功能:智能生成贴合你专业的毕业设计任务书,规范、高效、一次通过

毕业设计任务书是高校教学管理中的关键环节,它不仅标志着研究工作的正式启动,更是后续开题、实施、论文撰写和答辩全过程的行动依据。然而,许多学生在撰写时常常因不熟悉本专业写作规范、技术表达能力有限,或缺乏权威模板参考而陷…

作者头像 李华