计算机组成原理堆栈.doc
《计算机组成原理堆栈.doc》由会员分享,可在线阅读,更多相关《计算机组成原理堆栈.doc(12页珍藏版)》请在三一办公上搜索。
1、摘 要堆栈是计算机系统中的一个重要概念,也是理解微型计算机组成的一个基础概念。堆栈是一种存储部件,即数据的写入跟读出不需要提供地址,而是根据写入的顺序决定读出的顺序。堆栈也是一种数据结构。有一个地址指针总指向最后一个压入堆栈的数据所在的数据单元,存放这个地址指针的寄存器就叫做堆栈指示器。数据一个一个地存入,这个过程叫做“压栈”。在压栈的过程中,每有一个数据压入堆栈,就放在和前一个单元相连的后面一个单元中,堆栈指示器中的地址自动加1。读取这些数据时,按照堆栈指示器中的地址读取数据,堆栈指示器中的地址数自动减 1。这个过程叫做“出栈pop”。如此就实现了后进先出的原则。一般的堆栈存储器由RAM、寄
2、存器A,寄存器B构成。算术运算一般在寄存器A和寄存器B 之间进行,其中的数据可能来自于进栈的输入也可能来自栈堆的出栈。运算结果则会放入寄存器B中以待下步操作。此次的课程设计做出的堆栈处理器,使其能与外部数据总线进行数据交换,且符合堆栈要求(先进后出),并能对存储的数据进行算术运算,且存储的数据的数据位不少于8位,通过数码管显示操作数据及运算结果(只有寄存器A、B直接与外部总线进行数据交换,RAM只和寄存器B进行数据交换)。关键词:堆栈,RAM, PUSH, POP , 寄存器A,寄存器B 目 录一. 任务解析.3二. 系统方案论证.32.1总体方案与比较论证.32.2 设计思路.42.3系统原
3、理与结构.4 2.3.1 系统框图.4 2.3.2 系统结构框图.5 2.3.3堆栈电路图.5三. 设计过程.63.1堆栈存储器的设计.6 3.1.1堆栈存储器设计原理及仿真结果.63.2对数据进行算术运算的设计及仿真.7 3.2.1 对存储器中数据进行加法运算.7 3.2.2 对存储器中数据进行减法运算.8 3.2.3 对存储器中数据进行乘法运算.8 3.2.4 对存储器中数据进行除法运算.9四. 总结.94.1遇到的问题及解决方案.94.2设计心得.104.3参考文献.10一、 任务解析堆栈处理器应能完成两个基本的功能:与外部数据线的数据交换符合堆栈要求(先进后出);对存储的数据能进行算术
4、运算。对整个堆栈处理器有以下要求:1与外部数据线的数据交换符合堆栈要求(先进后出)即实现进栈(PUSH)和出栈(POP)操作; 2对存储的数据能进行算术运算即能进行简单的加减乘除算;3数据位数不少于8位:4能进行简单的判断运算或操作出现错误时会报警提示。根据堆栈处理器实验要求,可画出程序流程图如下图:图1、程序流程图二、 系统方案论证2.1 总体方案与比较论证 方案一、直接用VHDL语言实现其功能,包括对存储器的入栈出栈处理、与数据总线的数据交换,包括对数据的算术运算处理。 此方案可实现其功能,但是由于对于算术运算中乘法器和除法器用VHDL语言来实现会比较繁琐,且不容易实现,故此方案不够理想。
5、 方案二、直接用LPM模块进行定制RAM、乘法器和除法器等器件。 此方案对于RAM、乘法器、除法器的定制比较简单、灵活,但是对于其数据先进后出的控制会比较麻烦。 方案三、用VHDL语言来实现数据的堆栈处理,用LPM模块进行定制乘法器和除法器等器件。 此方案简单且易实现。 综合以上几种方案的优缺点,方案三简单易实现,且其实现的过程比较简单易理解,并且完全可以达到设计要求,故采用第三种方案。2.2设计思路围绕着要实现的功能,分析堆栈处理器应该具有哪些输入输出信号,明确设计要求。1.从堆栈角度考虑(1)堆栈的指示信号:堆栈其实是一个能随机存取数据的存储器,它符合先进后出的原则。作为一个存储器,除工作
6、速度外,它的首要指标是容量,设其字数为aa,每个字N位。表征存取字位置的指示信号是地址,在堆栈中称为指针SP。当指针处于栈顶时,SP=0,对应满栈,应有满栈指示信号FULL=1。当栈空时,指针SP=aa,应有空栈指示信号EMPTY=1。同时规定指针SP始终指向操作之前的栈内有内容的位置。(2)堆栈的操作:作为堆栈它的操作只有两项,入栈(PUSH)和出栈(POP)。入栈操作PUSH后指针SP(SP-1),出栈操作POP后指针SP(SP+1)。若FULL=1,不能入栈(PUSH),若EMPTY=1,不能出栈(POP)。否者出现错误操作信号提示ERROR=1。2.从算术运算功能考虑首先应有进行算术运
7、算的指示信号,即输入信号ADD, SUB, MUL, DIV。由于不同的运算所需的时间不同,因此必须有一个启始信号START和一个完成信号READY。堆栈中两个数据进行算术运算的为地址分别为SP和SP+1的两个数据送入运算器进行运算,运算后将结果送入地址为SP+1的字中。当堆栈只有一个字时,不能进行算术运算,因此必须有一个ONE指示。当指针处于栈底时,SP=aa-1,这时堆栈只有一个字,应有指示信号ONE=1。若此时进行运算操作则要有报错信号ERROR=1.2.3系统原理与结构2.3.1系统框图对本设计分析: 在本设计中要求此堆栈处理器能与外部数据总线进行数据交换,且数据遵循先进后出的堆栈要求
8、,并要求有指示信号,即满栈指示信号full,空栈指示信号empty,满栈时不能入栈(push),空栈时不能出栈(pop),在此设计中要求对存储的数据进行算术运算,故有进行加减乘除的指示信号,add、sub、mul、div, 由于不同运算所需时间不同,所以需有一个启动信号start和一个完成信号ready,当堆栈中只有一个字时不能进行算术运算,故需要一个one指示信号来控制是否可以进行算术运算,由此得到如下系统框图: 图2、系统框图2.3.2系统结构框图通过对设计任务的各个功能实现的具体分析,得到下面的堆栈处理器的结构框图: 图3、结构框图2.3.3堆栈电路图 图4、电路图三、 设计过程3.1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 堆栈
链接地址:https://www.31ppt.com/p-2882233.html