计算机哈佛型体系结构,用于计算机体系结构教学哈佛体系结构模拟器.doc

用于计算机体系结构教学哈佛体系结构模拟器

用于计算机体系结构教学哈佛体系结构模拟器   摘要:已有的计算机体系结构教学模拟器主要是面向冯诺依曼体系结构。针对缺乏面向哈佛体系结构模拟器这一问题,本文提出并设计了基于开源软件包Multimedia Logic(MML)[1]哈佛体系结构模拟器。该模拟器不仅具有软件的易动态运行、易修改、易二次开发的优点,同时还实现了硬件结构的逻辑门级映射[2],从而在课程教学和实验设计方面对哈佛体系结构教学提供了很好的支持。

关键词:模拟器;哈佛体系结构;MML

在计算机体系结构课程教学过程中,冯诺依曼体系结构和哈佛体系结构是重点教授的两种体系结构类型。[3]冯诺依曼结构,又称为普林斯顿结构,是一种经典的体系结构,由CPU,存储设备,I/O设备组成。[4]这种体系结构采用指令与数据合并存储的方式,程序指令宽度与数据宽度一样。随着CPU设计技术的发展,片内数据传输路径的增加,指令和数据的互斥读取很大程度上影响了CPU运行效率。为此,哈佛大学提出一种新的体系结构,在这种结构中数据存储器与程序代码存储器分开,各自有自己的数据总线与地址总线,实现指令和数据的并行读取。由于哈佛结构需要CPU提供大量的数据线,因而很少作为CPU外部构架来使用。但是对于CPU内部,通过使用不同的数据和指令缓存,可以有效地提高指令执行的效率,因而目前大部分计算机体系结构都是CPU内部的哈佛结构和CPU外部的冯诺依曼结构并存。

在冯诺依曼体系结构教学方面,许多大学已经开始研发各种基于软件和硬件模拟器来辅助课程教学和实验教学。[5]但在哈佛体系结构教学方面仍然缺乏有效的模拟器。[6]针对这一问题,本文介绍了我们基于开源软件包Multimedia Logic(MML)所开发的用于哈佛体系结构教学的模拟器。

● 模拟器结构和指令

1.总体结构

哈佛体系结构具有程序与数据物理上分开存储的特点,从而提供了较大的数据存储器带宽。哈佛体系结构的工作原理是:CPU控制器首先到程序指令存储器中读取程序指令内容,根据指令中操作数的地址,再到相应的数据存储器中读取数据,并进行下一步的运算。

图1给出了我们所开发的哈佛体系结构模拟器框图。其中M1(DataMem)作为数据存储器,其主要功能是用于存放执行的中间结果和过程数据。M2(ProgramMem)作为程序存储器,其主要功能是用于存储程序指令。M3(OpDecode)作为指令译码器,其主要功能是将操作码信号翻译成机器能够识别的控制信号。M4(RI)作为输入寄存器,其主要功能是用于暂时存放数据存储器输出的数据。M5(RO)作为输出寄存器,其主要功能是用于暂时存放运算结果。M6(PC)作为程序计数器,其主要功能是用于存放下一条指令所在单元的地址。ALU1和ALU2是算术逻辑单元,其功能分别是控制程序计数器的地址和执行相关的逻辑运算。Display作为显示器,其主要功能是输出相关的结果。

2.指令系统

在哈佛体系结构模拟器设计中涉及的指令有5条[7],分别是加法指令、跳转指令、加载指令、存储指令和输出指令。这些指令的具体说明详见下页表1。在这些指令中,涉及寻址方式有立即寻址和直接寻址。

● 模拟器设计

1.数据寄存器设计

在哈佛体系结构模拟器设计中涉及的数据寄存器有输入寄存器M4和输出寄存器M5。

其中输入寄存器M4的数据输入端与数据存储器的输出端相连;地址输入端与低电平相连;将控制信号DC1和时钟信号作为与门的两个输入端,再与输入寄存器的读写控制端相连;将输入寄存器的输出端与ALU2的其中一个输入端相连。图2给出了输入寄存器的设计图。[8]

输出寄存器M5的数据输入端与ALU2的输出端相连;地址输入端与低电平相连;将控制信号DC2和时钟信号作为与门的两个输入端,再与输入寄存器的读写控制端相连;将输出寄存器的输出端通过信号I-Mem与数据存储器的输入端相连。图3给出了输出寄存器的设计图。

2.存储器设计

在哈佛体系结构模拟器设计中涉及的存储器有数据存储器M1和程序存储器M2。

图4给出了数据存储器的设计图。数据存储器M1的数据输入端通过信号I-Mem与输出寄存器的输出端相连;地址输入端通过信号Imm与程序存储器的指令地址码(由于程序存储器M2输出的地址码Imm只有五位,故在其高位补零使其成为八位Imm)相连;将控制信号DC5和时钟信号作为与门的两个输入端,再与数据存储器的读写控制端相连;将数据存储器的输出端通过信号Mem与输入寄存器的输入端相连。

图5给出了程序存储器的设计图。程序存储器的数据输入端与低电平相连;地址输入端与程序计数器的输出端相连;将读写控制端直接与低电平相连;将程序存储器输出端的高三位作为指令译码器的操作码与指令译码器相连,低

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值