计算机组成原理实验四:8086最小系统

目录

一、实验目的

二、实验原理

三、实验内容

1.创建工程

2.基本控制信号

3.最小系统搭建

 4.系统实测

四、实验结果与分析

1.emu8086运行代码生成可执行文件

2.链接

*五、思考题

1.8086基本数据转移指令

2.8086的基本加减指令

六、实验总结


一、实验目的

  1. 让学生深入理解计算机硬件的基本组成结构、工作原理和设计方法,掌握16位微处理器(如8086)的内部结构和原理,并能够通过实际操作实现对其功能的在线调试和验证。这样可以加深对计算机系统的认识和理解,使学生具备进一步深入学习和研究计算机硬件体系结构的基础。
  2. 通过实践操作,加深对8086微处理器的理解和掌握,尤其是对其存储器、输入输出端口和中断控制等核心功能的实现过程有更深入的了解。同时还可以对电路原理图的理解和分析能力进行训练,提高实验技能和分析问题的能力。

二、实验原理

8086微处理器是Intel公司推出的一款16位微处理器。学习8086微处理器可以帮助我们更好地了解计算机的组成和运行原理。在进行8086微处理器学习时,首先需要做的是构建一个最小的8086系统,包括8086微处理器、时钟电路、存储器等。

最小的8086系统由8086微处理器、一个时钟电路和存储器组成,通常包括ROM和RAM存储芯片,以及与之对应的地址线、数据线、控制线。为了使其能够运行程序,我们还需要将程序写入存储器中。

在实验中,我们使用proteus仿真软件创建8086微处理器工程,然后设计其最小系统电路。电路中通过晶振产生时钟信号,同时将ROM和RAM存储芯片连接到8086微处理器。接下来,我们需要将程序编写并烧入ROM中。

在最小的8086系统中,当系统上电时,CPU将从ROM中读取程序并将其加载到RAM中,然后开始执行程序。当程序结束时,CPU会停止运行,等待下一个指令的到来。

三、实验内容

1.创建工程

(1)打开PROTEUS软件,并选择新建工程。跟随新建工程向导设置文件名称及存放位置。

在原理图创建中选择默认即可。

由于我们主要目的为8086微机仿真,不涉及PCB布线及制作等工作,此处不创建PCB布板设计。 

(2)在创建固件选择中选择8086系列中的8086控制器。在编译器选择上,我们采用汇编语言进行编程,故采用MASM32(proteus内部并未集成相应的编译器)

 (3)创建完成后会在原理图纸上得到8086微机

  原理图设计:

 Source——code

2.基本控制信号

(1)微机仿真工作在8086最小模式下,将8086CPU连接成如下状态

 (2)电路图对应的引脚定义

3.最小系统搭建

由于proteus中已将RAM与ROM集成在8086内部,故搭建最小系统时只需处理地址锁存与数据缓冲部分即可。

(1)数据缓冲

采用74HC245芯片

与总线连接后

(2)地址锁存

采用74HC573芯片

该芯片可实现有效8位锁存,并有较强的驱动能力,可在驱动多芯片时不掉电压。

 

本系统共采用3块74HC573芯片锁存20位地址信号至新的地址总线中,其电路连接如下:

(与总线连接后,最小模式中16~19位地址并不复用,也可以不做锁存处理)

(3)译码电路

由于RAM与ROM均已内置,故只需对IO口所接外设芯片地址译码,此处采用138译码器,并保证IO/M口低电压时有效。(只对A5~8译码即可覆盖绝大多数常用IO外设的微机标准地址,故此处仅设计一个74HC138译码器,后续其余功能若出现不足可再酌情增加。

74HC138芯片如下所示:

在完整电路图中,该译码器与两个RTDPROBE_4相连,同时通过总线与其他器件相连。

 (4)完整电路

 4.系统实测

(1)emu8086下载及安装及配置环境过程

 

 

 

 注册机内获取license及密码后登陆成功

注册机生成license中

程序界面如下

(2)编写代码,生成可执行文件

代码如下:

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

CODE    SEGMENT PUBLIC 'CODE'

        ASSUME CS:CODE

START:

MOV DX, 00C0H

MOV AL, 55H

OUT DX, AL

ENDLESS:

        JMP ENDLESS

CODE    ENDS

        END START

 

(3)将上述程序在emu8086中编译并生成可执行文件后,双击仿真电路中8086芯片

可执行文件名:mycode2.0

在Program File选项中链接到生成的可执行文件上

然后编译运行仿真电路

四、实验结果与分析

1.emu8086运行代码生成可执行文件

(1)实验结果:

 

 同时生成了可执行文件mycode2.0

(2)实验分析:在emu8086新建文件并将代码运行后,编译成功,运行成功,得到了所需的可执行文件。

2.链接

双击仿真电路中8086芯片,在Program File选项中链接到生成的可执行文件上,运行仿真

(1)实验结果:

(2)实验分析:观察电路得,该系统成功输出了55H(01010101B),验证了电路的设计成功,可执行文件的生效。

*五、思考题

1.8086基本数据转移指令

(1)一般数据传送指令

MOV指令

格式:MOV dest, src

操作:src—>dest

例子:MOV AL, BL

(2)堆栈操作指令

压入指令:PUSH OPRD

弹出指令:POP OPRD

(3)交换指令

XCHG REG, MEM/REG

交换两个操作室

(4)查表指令

XLAT

BX存表头地址,AL为待查表格位置

(5)扩展指令

格式CWD

操作:将AX内容扩展为AX, DX

若最高位为1,DX=FFFFH

若最高位为0,DX=0000H

(6)LEA指令

操作:将变量16位偏移地址写入目标寄存器

LEA REG,MEM

2.8086的基本加减指令

(1)加法指令

加法指令有三种,分别是普通加法、带进位加法、自增。

普通加法ADD

格式:ADD OPRD1, OPRD2

操作: OPRD1 + OPRD2 ——>OPRD1

ADD指令会影响6个状态标志位。

带进位加法ADC

格式:ADC OPRD1, OPRD2

操作: OPRD1 + OPRD2 + CF ——>OPRD1

ADD指令会影响6个状态标志位。

自增加法INC

格式:INC OPRD

操作:OPRD + 1 ——> OPRD

2.减法指令

减法指令共有5种,除去与加法相对应的三种外,还有比较指令与求补指令。

普通减法SUB

格式:SUB OPRD1, OPRD2

操作: OPRD1 - OPRD2 ——>OPRD1

ADD指令会影响6个状态标志位。

带进位减法SBB

格式:SBB OPRD1, OPRD2

操作: OPRD1 - OPRD2 ——>OPRD1

ADD指令会影响6个状态标志位。

自减减法DEC

格式:DEC OPRD

操作:OPRD - 1 ——> OPRD

求补指令NEG

格式:NEG OPRD

操作:0 - OPRD ——>OPRD

比较指令CMP

格式:CMP OPRD1, OPRD2

操作: OPRD1 - OPRD2

此操作不影响目标操作数,但会改变标志寄存器。

六、实验总结

1.在此次实验中,我根据实验要求,设计了8086最小系统电路图,同时为了验证系统运行是否正确,下载了emu8086软件,进行汇编语言的编写,根据所提供的代码,生成了可执行文件,并对8086进行了改动,然后完成了整个运行过程,得到了正确的运行结果。

2.通过此次实验,我进一步熟悉了proteus软件的进一步用法,学会了总线的画法及其与引脚的连接,同时对电路的连接和器件命名更加熟悉,更加耐心。为了得到可执行文件,我学习了emu80086软件的安装和用法,并学习了在emu8086上面如何运行汇编语言程序,收获颇丰。

3.在此过程中,我深刻理解了计算机组成原理的基本概念和知识,掌握了8086微机的基本结构、寄存器、指令系统等方面的知识,并学会了使用proteus仿真软件进行相关实验。

4.通过这次实验,我认识到计算机组成原理是计算机科学与技术领域中的基础学科,对于理解计算机体系结构、性能优化、操作系统、编译器等方面都有重要意义。同时,我也意识到了实验的重要性,只有通过实践才能更好地理解和掌握所学知识。因此,在今后的学习和工作中,我将继续注重实践能力的培养,不断提高自己的计算机组成原理水平,为以后的发展奠定坚实的基础。

  • 5
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 计算机组成原理实验是一门重要的计算机课程,通过实验我们可以更好地理解计算机的结构和工作原理。而优化CPU系统是在计算机组成原理实验中的一个重要环节。 优化CPU系统的过程主要包括以下几个方面: 首先,我们可以通过对CPU的指令集进行优化来提高系统性能。例如,通过合理安排指令的执行顺序,减少数据依赖,利用预取和分支预测等技术,可以提高程序的执行效率。 其次,我们可以通过优化CPU的运算单元来提高计算能力。例如,增加算术逻辑单元(ALU)的数量,提高运算速度;采用流水线设计,实现指令的重叠执行,提高指令吞吐率。 另外,我们还可以通过提高CPU的访存性能来提升系统性能。可以通过增大高速缓存和缓冲区的大小,减少内存访问的延迟;采用多级缓存的设计,利用局部性原理,提高数据访问的效率。 此外,我们还可以通过提高CPU的时钟频率来提高系统性能。可以通过优化电路和制造工艺,提高集成电路的运作速度;采用频率多倍技术,如倍频、Turbo Boost等,提高CPU的时钟频率。 最后,我们还可以通过优化代码和算法来提高CPU系统的性能。可以通过消除冗余计算、减少内存访问次数、合理利用并行计算等方法,提高程序的运行效率。 综上所述,优化CPU系统需要从多个方面进行考虑和实施。通过对指令集、运算单元、访存性能、时钟频率和代码算法的优化,可以提高CPU系统的性能,使其更高效地运行。这些优化措施不仅可以在实验中测试验证,还可以应用于实际的计算机系统中,提升系统的整体性能。 ### 回答2: 计算机组成原理实验是为了深入理解和探究计算机的工作原理和体系结构而设计的。在实验中,优化CPU系统是一个重要的任务,可以通过以下的方法来实现。 首先,我们可以优化CPU的指令集。通过设计更加高效的指令集,可以减少指令的数量和执行时间,提高CPU的运行效率。例如,可以引入SIMD指令集,实现单指令多数据的并行运算,提高向量运算的性能。 其次,优化CPU的流水线结构。流水线是指将指令的执行过程划分为若干个阶段,使得多个指令可以同时执行。通过增加和调整流水线的阶段数和长度,可以提高指令的并发执行能力,加快指令的执行速度。 另外,可以通过缓存优化来提高CPU的性能。缓存是一块位于CPU内部的高速存储器,用于存储频繁访问的数据和指令。通过增加缓存的容量和改进缓存的替换策略,可以减少CPU对主存的访问次数,加快数据的读写速度,提高CPU的运行效率。 此外,针对内存访问的优化也是提升CPU系统性能的关键。可以通过采用更高速的内存模块、优化内存的管理算法和访问方式,减少内存延迟和访问冲突,提高内存读写的效率,从而加快CPU系统整体的运行速度。 最后,还可以通过增加并行化的技术来优化CPU系统。例如,可以采用多核处理器,将多个处理器核心集成到一个芯片中,实现任务的并行执行,提高整个系统的运算能力。 综上所述,通过优化CPU的指令集,流水线结构,缓存,内存访问和并行化等方面,可以提高计算机组成原理实验中的CPU系统的性能和效率。这样的优化能够使得计算机系统更加高效,提高计算机的处理能力和响应速度。 ### 回答3: 计算机组成原理实验是计算机科学与技术专业的一门重要课程,通过该实验可以深入了解计算机的硬件组成和运行原理。对于优化CPU系统,我们可以从以下几个方面进行改进。 首先,可以对CPU的指令执行过程进行优化。通过合理的指令调度和流水线设计,可以使得CPU在执行指令时能够最大程度地利用硬件资源。比如通过指令级并行、超标量技术等手段,提高指令执行效率。 其次,优化内存系统。内存访问是CPU性能的瓶颈之一,可以通过提高内存带宽、增加缓存容量等方式减少访存延迟,提高内存系统的效率。此外,还可以使用预取和缓存替换算法等技术来提高CPU对数据的访问效率。 再次,可以对CPU的流水线进行优化。通过增加流水线的阶段数、提高流水线的分支预测和异常处理能力等方式,可以减少流水线的停顿,提高CPU的指令执行效率。 此外,还可以考虑采用多核技术来优化CPU系统。通过将多个处理核心集成到一个CPU中,并实现任务的并行执行,可以提高CPU的处理能力和系统的整体性能。 最后,还可以考虑采用低功耗设计和动态电压频率调整等技术来进行CPU系统的优化。通过降低功耗和调整电压频率,可以提高CPU的能效比,减少能耗。 综上所述,优化CPU系统可以从指令执行、内存系统、流水线、多核技术以及功耗管理等方面进行改进,以提高CPU的性能和效率。通过实验探索和研究,可以不断改进优化计算机组成原理中的CPU系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长安er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值