计算机组成原理堆栈
摘 要
堆栈是计算机系统中的一个重要概念,也是理解微型计算机组成的一个基础概念。?
目 录
一. 任务解析………………………………………………………………….3
二. 系统方案论证…………………………………………………………….3
2.1总体方案与比较论证…………….………………………………….3
2.2 设计思路…………………………………………………………….4
2.3系统原理与结构…………….……………………………………….4
2.3.1 系统框图…………….………………………………………….4
2.3.2 系统结构框图…………….………………………………….....5
2.3.3堆栈电路图...................................................................................5
三. 设计过程.....................................................................................................6
3.1堆栈存储器的设计..............................................................................6
3.1.1堆栈存储器设计原理及仿真结果............................................6
3.2对数据进行算术运算的设计及仿真..................................................7
3.2.1 对存储器中数据进行加法运算...............................................7
3.2.2 对存储器中数据进行减法运算...............................................8
3.2.3 对存储器中数据进行乘法运算...............................................8
3.2.4 对存储器中数据进行除法运算...............................................9
四. 总结…………………………………………..…………...........................9
4.1遇到的问题及解决方案………………………………................…..9
4.2设计心得………………………………………………………....…..10
4.3参考文献…………………………………………………………......10
任务解析
堆栈处理器应能完成两个基本的功能:与外部数据线的数据交换符合堆栈要求(先进后出);对存储的数据能进行算术运算。
对整个堆栈处理器有以下要求:
1.与外部数据线的数据交换符合堆栈要求(先进后出)即实现进栈(PUSH)和出栈(POP)操作;
2.对存储的数据能进行算术运算即能进行简单的加减乘除算;
3.数据位数不少于8位:
4.能进行简单的判断运算或操作出现错误时会报警提示。
根据堆栈处理器实验要求,可画出程序流程图如下图:
图1、程序流程图
系统方案论证
2.1 总体方案与比较论证
方案一、直接用VHDL语言实现其功能,包括对存储器的入栈出栈处理、与数据总线的数据交换,包括对数据的算术运算处理。
此方案可实现其功能,但是由于对于算术运算中乘法器和除法器用VHDL语言来实现会比较繁琐,且不容易实现,故此方案不够理想。
方案二、直接用LPM模块进行定制RAM、乘法器和除法器等器件。
此方案对于RAM、乘法器、除法器的定制比较简单、灵活,但是对于其数据先进后出的控制会比较麻烦。
方案三、用VHDL语言来实现数据的堆栈处理,用LPM模块进行定制乘法器和除法器等器件。
此方案简单且易实现。
综合以上几种方案的优缺点,方案三简单易实现,且其实现的过程比较简单易理解,并且完全可以达到设计要求,故采用第三种方案。
2.2设计思路
围绕着要实现的功能,分析堆栈处理器应该具有哪些输入输出信号,明确设计要求。
1.从堆栈角度考虑
(1)堆栈的指示信号:堆栈其实是一个能随机存取数据的存储器,它符合先进后出的原则。作为一个存储器,除工作速度外,它的首要指标是容量,设其字数为aa,每个字N位。表征存取字位置的指示信号是地址,在堆栈中称为指针SP。当指针处于栈顶时,SP=0,对应