计算机组成原理堆栈
计算机组成原理实验报告_寄存器的原理及操作
初:未知当前:2016-7-3 主笔:An gel实验报告课程名称:计算机组成原理实验项目:寄存器的原理及操作姓名:专业:计算机科学与技术班级:学号:计算机科学与技术学院实验教学中心20 16 年6 月20 日初:未知 当前:2016-7-3 主笔:An gel 版本:1实验项目名称: 寄存器的原理及操作 ________________一、 实验目的1. 了解模型机中A, W 寄存器结构、工作原理及其控制方法。
2. 了解模型机中寄存器组 R0..R3结构、工作原理及其控制方法。
3. 了解模型机中地址寄存器MAR ,堆栈寄存器ST ,输出寄存器 OUT 寄存器结构、工作原理及其控制方法。
二、 实验内容1、 A 、W 寄存器:利用COP2000实验仪上的K16..K23开关做为DBUS 的数据,其它开关做为控制 信号,将数据写入寄存器 A ,W 。
2、 R0、R1、R2、R3寄存器实验:利用 COP2000实验仪上的 K16..K23开关做为 DBUS 的数据,其 它开关做为控制信号,对数据寄存器组R0..R3进行读写。
3、 MAR 、ST 、OUT 寄存器:利用 COP2000实验仪上的 K16..K23开关做为 DBUS 的数据,其它开 关做为控制信号,将数据写入地址寄存器MAR ,堆栈寄存器ST ,输出寄存器 OUT 。
三、 实验用设备仪器及材料伟福COP2000系列计算机组成原理实验系统四、实验原理及接线实验1: A ,W 寄存器实验;DBUSLD3U50C D3U5 ■ DBUS6 >【賊/DBLS4QQQQQ仪卫吨n Jd —J Jo-■1 -X:LXDgDDDQDiD c I 3 4 4_■ s- Tieft连接 倍号礼援入孔 作用有效电乎] J]厘 J3座^fK23-KJ6*E 入 DBLSrm2AEX K3选遹A低电平有效 ■i. J- WENK.4 选逋w低电权说 4ALLCK匚 LOCK ALU 二昨強冲 上升沿打人实验2: R0, R1, R2, R3寄存器实验愴号孔 接入JL 榨用 有效电京IIJ]坚 J3陛為 K23«l &接 ADEHJ5[7®11 RRD KII 奇存缚纠读歧堤 低电乎有效 R J RWR KID 舒存#盅写便能 仁壬“=\4SB KI 审存器选摊B SSA KO 寄蜩«#A6 RCK CLOCK空存密二冬应2上升沿打入实验3: MAR 地址寄存器,ST 堆栈寄存器,OUT 输出寄存器WEN"4»Ci2■ — 1 1 0UFC1X1* J 、 1<313< 417 S€ , U- > < *15 ) < - TT 5 € 1 13< ?t : \t/FfI 屮加亍DELI 细 DBL 用]>BUM .DBUSJ DBUS2■f DBUST .IJJitJSD VLTW5JW4WJv.-j SWI :wocft^fctc\i CMv.-ffiVSS4VBIQ -:吁垢冷HJ 'CILTfiKEllg ""■Md尋存堆MAR 原理铝MAR 为存储器地址寄存器,其功能是存储操作数在内存中的地址,信号MAREN 的功能是将数据总线DBUS 上数据MAR ,信号MAROE 的功能是将 MAR 的值送到地址总线 ABUS 上tTHl.W<'&BC&S ; S j•、'C DBLS2~kDBISI <.DBLMST 堆栈寄存器的作用,是岀现中断或子程序调用时,保存断点处PC 的值,以便中断或子程序结束时,能继续执行原程序。
计算机组成原理习题
三、分析题 1、指令格式结构如下所示,试分析指令格式及 寻址方式特点。
15 OP 10 目标寄存器 5 源寄存器 0
解:指令格式及寻址方式特点如下: 指令格式及寻址方式特点如下: A。单字长二地址指令; 。单字长二地址指令; B。操作码字段 可以指定 6=64条指令; 可以指定2 条指令; 。操作码字段OP可以指定 条指令 C。源和目标都是寄存器,所以是RR型指令,两个操作数均在 RR型指令 。源和目标都是寄存器,所以是RR型指令, 寄存器中; 寄存器中; D。这种指令结构常用于算术逻辑运算类指令。 。这种指令结构常用于算术逻辑运算类指令。
B. 对CPU内部通用寄存器或主存某一单元任一位 进行状态强置。 C. A和B。 D. 进行移位操作。 13、指出下面描述汇编语言特性的句子中概念上有错 误的句子: A. 对程序员的训练要求来说,需要硬件知识。 B. 汇编语言对机器的依赖性高。 C. 汇编语言的源程序通常比高级语言源程序短小。 D. 汇编语言编写的程序执行速度比高级语言块。
11、算术右移指令执行的操作是: A. 符号位添0,并顺序右移一位,最低位移至进 位标志位。 B. 符号位不变,并顺序右移一位,最低位移至进 位标志位。 C. 进位标志位移至符号位,顺次右移一位,最低 位移至进位标志位。 D. 符号位添1,并顺序右移一位,最低位移至进 位标志位。 12、位操作类指令的功能是: A. 对CPU内部通用寄存器或主存某一单元任一 位进行状态检测。
C. 设基址寄存器14位,在非变址直接基址寻址时,确 定存储器可寻址的地址范围。 D. 间接寻址时,寻址范围是多少? 解: A. 该指令格式可定义16种不同的操作。立即数寻址操 作数的范围是-128—+127。 B. 绝对寻址(直接地址)E=A 基址寻址 E=(Rb)+A 相对寻址 E=(PC)+A 立即寻址 D=A 变址寻址 E=(Rz)+A C. E=(Rb)+A,Rb为 14位,故存储器可寻址范 围为: Rb +127-- Rb -128。 D. 间接寻址时,寻址范围为64K,因为此时从主存读 出的数作为有效地址(16位)。
计算机组成原理答案
计算机组成原理(本)模拟题一计算机组成原理(本)模拟题一一.填空题(共20分)1.计算机软件一般分为两大类:一类叫__系统件__,另一类叫__应用软件__。
操作系统属于系统__软件__ 类。
2.主存与cache的地址映射有_全相联_、_直接映射_、_组相联_三种方式。
3.DMA 控制器按其_内部_结构,分为_选择_型和_多路_型两种。
4.闪速存储器能提供高性能、低功耗、高可靠性及_瞬时启动_能力,为现有的_存储器_体系结构带来巨大变化,因此作为_固态盘_用于便携式电脑中。
5.主存储器的性能指标主要是_存储容量_、_存储时间_、存储周期和存储器带宽。
6.汉字的_输入码_、_字模码_、_内码_是计算机用于汉字输入、内部处理、输出三种不同用途的编码。
7.RISC指令系统的最大特点是:_指令数少_;_指令长度固定_; _指令格式和寻址方式_种类少。
只有取数/ 存数指令访问存储器。
8.存储器和CPU连接时,要完成_DB_的连接;_CB_的连接和_AB_的连接,方能正常工作。
9.衡量总线性能的重要指标是_总线带宽_,它定义为总线本身所能达到的最高_传输速度_。
PCI总线的带宽可达_264MB/S_。
10.微型机的标准总线从16位的_ISA_总线,发展到32位的_EISA_总线和_VISA_总线,又进一步发展到64位的PCI总线。
二.选择题(共30分)1.计算机问世至今,新型机器不断推陈出新,不管怎样更新,依然保有―存储程序‖的概念,最早提出这种概念的是__B__。
A.巴贝奇B.冯. 诺依曼C.帕斯卡D.贝尔2.算术/ 逻辑运算单元74181ALU可完成__C__。
A.16种算术运算功能B.16种逻辑运算功能C.16种算术运算功能和16种逻辑运算功能D.4位乘法运算和除法运算功能3.若浮点数用补码表示,则判断运算结果是否为规格化数的方法是__C__。
A.阶符与数符相同为规格化数B.阶符与数符相异为规格化数C.数符与尾数小数点后第一位数字相异为规格化数D.数符与尾数小数点后第一位数字相同为规格化数4.某SRAM芯片,存储容量为64K×16位,该芯片的地址线和数据线数目为__D__。
计算机组成原理名词解释
InfiniBand:微机总线的发展方向SCSI:小型计算机系统接口的简称。
它是一个高速智能的接口,可混接各种I/O设备USB: PC机常用的一个通用串行接口。
数据速率可达480Mb/s IEEE1394:一种高速的串行接口,用来代替SCSI接口,速度更快,连接更方便。
RISC:精简指令系统计算机,+基本特点CISC:复杂指令系统计算机+基本特点PCI(外围部件互连)总线:连接高速的I/O设备模块。
64位,带宽100MHzSRAM:静态读写存储器,存取速度快,容量小DRAM:动态读写存储器,需要刷新操作FPM-RAM:快速页模式动态存贮器。
根据程序执行局部性原理实现DRAM?SDRAM:同步型动态存贮器,SDRAM的操作与系统时间同步区别于其他DRAMROM:只读存储器,只能读不能写PROM:可一次编程的ROM,一次性的改写EPROM:通过紫外线照射可多次改写的ROME2PROM:用电可改写多次的ROMSAM:顺序存储器(磁带),存取速度最慢DAM:半顺序存储器或叫直接存储器(磁盘),采用直接存取方式DMA:数据交换不经过CPU,由DMA接管对总线的控制,直接在内存和高速的外设之间进行高速传送数据。
PnP规范:即插即用,新设备只需要简单插入即可开始运行,自动完成设备的重新配置JPEG (静态图象压缩技术):JPEG是对彩色静止图形进行压缩的标准化规格MPEG(动态图象-视频压缩技术):MPEG是对动态图像进行压缩的标准化规格MMX:是一种多媒体扩展结构技术,极大提高计算机在多媒体和通信应用方式的功能系列机:计算机厂家为了旧的用户继续买新的计算机,所以生产的计算机搞系列机,指令系统可向上兼容.旧计算机上写的软件不做修改可在新计算机上运行指令系统兼容性:一个计算机上编写的程序不作任何修改可以在另一个计算机上运行波特:波特率,每秒钟传送的bit位数数据通路:计算机CPU内多个寄存器之间传送信息的通路堆栈:是一种特殊的数据结构形式,一组能从栈顶上存取数据的操作单元接口:通过它可以实现CPU与外设之间工作速度上的匹配和同步,完成计算机和外设之间的所有数据传送和控制同步定时:事件出现在总线上的时刻由总线公共时钟确定;总线上有统一的时钟规定,没有应答信号异步定时:后一个事件出现在总线上的时刻取决前一事件的控制。
计算机组成原理名词解释
计算机组成原理名词解释第1章概论数字计算机:一种能存储程序,能自动、连续地对各种数字化信息进行处理的快速工具。
硬件:指组成计算机系统的设备实体,如CPU、存储器、I/O设备等。
软件:泛指各类程序、文档等。
CPU:即中央处理器,是由运算器和控制器组成的计算机硬件系统的核心部件。
主存储器:位于主机内部,用来存放CPU需要使用的程序和数据的部件。
外存储器:位于主机外部,用来存放大量的需要联机保存、但CPU暂不使用的程序和数据的部件。
外部设备:位于主机之外,与主机进行信息交换的输入设备或输出设备。
信息的数字化表示:包含两层含义,即用数字代码表示各种信息、用数字信号(电平、脉冲)表示数字代码。
存储程序工作方式:事先编制程序,事先存储程序,自动、连续地执行程序。
模拟信号:在时间上连续变化的电信号,用信号的某些参数模拟信息。
数字信号:在时间上或空间上断续变化的电信号,依靠彼此离散的多位信号的组合表示信息。
脉冲信号:在时间上离散的电信号,利用脉冲的有、无表示不同的状态。
电平信号:在空间上离散的电信号,利用信号电平的高、低表示不同的状态。
系统软件:为保证计算机系统能够良好运行而设置的基础软件。
应用软件:用户在各自的应用领域中为解决各类问题而编写的软件。
操作系统:负责管理和控制计算机系统的硬件资源、软件资源和运行的核心软件,为用户提供软的开发环境和运行环境。
语言处理程序:将源程序转换为目标程序的一类系统软件,包括各种解释程序、编译程序、汇编程序。
物理机:指能够执行机器语言程序的实际计算机。
虚拟机:能通过配置软件,扩充机器功能后所形成的计算机。
总线:一组能为多个部件分时共享的公共的信息传送线路。
数据通路宽度:指数据总线一次能并行传送的数据位数。
数据传输率:指数据总线每秒传送的数据量。
接口:泛指两个部件的交接部分。
通道:能够执行专用的通道指令,用来管理I/O操作的控制部件。
字节:8位二进制代码称为1字节。
字长:一般指参加一次定点运算的操作数的位数。
《计算机组成原理》第3章习题答案
第3章习题解答1 1..指令长度和机器字长有什么关系指令长度和机器字长有什么关系??半字长指令、单字长指令、双字长指令分别表示什么意思么意思? ?解:解:指令长度与机器字长没有固定的关系,指令长度与机器字长没有固定的关系,指令长度可以等于机器字长,指令长度可以等于机器字长,指令长度可以等于机器字长,也可以大于或也可以大于或小于机器字长。
通常,把指令长度等于机器字长的指令称为单字长指令;把指令长度等于机器字长的指令称为单字长指令;指令长度等于半个指令长度等于半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长指令。
机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长指令。
2 2..零地址指令的操作数来自哪里零地址指令的操作数来自哪里??一地址指令中,另一个操作数的地址通常可采用什么寻址方式获得寻址方式获得??各举一例说明。
各举一例说明。
解:解:双操作数的零地址指令的操作数来自堆栈的栈顶和次栈顶。
双操作数的一地址指令的另一个操作数通常可采用隐含寻址方式获得,即将另一操作数预先存放在累加器中。
例如,前述零地址和一地址的加法指令。
前述零地址和一地址的加法指令。
3 3.某机为定长指令字结构,.某机为定长指令字结构,.某机为定长指令字结构,指令长度指令长度16位;每个操作数的地址码长6位,指令分为无操作数、单操作数和双操作数三类。
操作数、单操作数和双操作数三类。
若双操作数指令已有若双操作数指令已有K 种,无操作数指令已有L 种,问单操作数指令最多可能有多少种单操作数指令最多可能有多少种??上述三类指令各自允许的最大指令条数是多少上述三类指令各自允许的最大指令条数是多少? ? 解:解:解:X= (2X= (24一K)×26一[L/26]双操作数指令的最大指令数:双操作数指令的最大指令数:双操作数指令的最大指令数:224一1。
单操作数指令的最大指令数:15×2单操作数指令的最大指令数:15×26一l(l(假设双操作数指令仅假设双操作数指令仅1条,为无操作数指令留出1个扩展窗口个扩展窗口))。
计算机组成原理中的堆栈简介
计算机组成原理中的堆栈简介
计算机组成原理中的堆栈是一种数据结构,它遵循后进先出(LIFO)的原则。
堆栈通常用于存储函数调用、临时变量和其他临
时数据。
在计算机组成原理中,堆栈通常是通过内存中的一段特定
区域来实现的。
堆栈通常由两个主要操作组成,压栈(push)和弹栈(pop)。
压栈操作将数据放入堆栈顶部,而弹栈操作则从堆栈顶部移除数据。
这种操作使得最后压入堆栈的数据最先被弹出,因此堆栈遵循LIFO
原则。
在计算机组成原理中,堆栈经常用于存储函数调用的返回地址
和局部变量。
当一个函数被调用时,当前函数的返回地址会被压入
堆栈,以便在函数执行完毕后能够返回到正确的位置。
同时,函数
内部的局部变量也可以被存储在堆栈中,以便在函数执行期间可以
方便地访问和操作这些变量。
堆栈还可以用于表达式求值和语法分析。
例如,后缀表达式的
求值就可以通过堆栈来实现。
在语法分析中,堆栈可以用于存储和
处理语法规则,以便进行语法分析和语法树的构建。
在计算机硬件中,堆栈通常与栈指针(stack pointer)和基址
寄存器(base pointer)相关联。
栈指针指向当前堆栈顶部的位置,而基址寄存器则指向堆栈的基址,用于定位局部变量和函数参数的
存储位置。
总的来说,堆栈在计算机组成原理中扮演着重要的角色,它不
仅是一种数据结构,还在函数调用、表达式求值和语法分析等方面
发挥着重要作用。
深入理解堆栈的原理和应用对于理解计算机组成
原理和编程语言的工作原理至关重要。
计算机组成原理名词解释及题目
1.时钟周期节拍,时钟频率的倒数,机器基本操作的最小单位。
2.向量地址中断方式中由硬件产生向量地址,可由向量地址找到入口地址。
3.系统总线指CPU、主存、I/O(通过I/O接口)各大部件之间的信息传输线。
按传输信息的不同,又分数据总线、地址总线和控制总线。
4.机器指令由0、1代码组成,能被机器直接识别。
机器指令可由有序微指令组成的微程序来解释,微指令也是由0、1代码组成,也能被机器直接识别。
5.超流水线(Super pipe lining)技术是将一些流水线寄存器插入到流水线段中,好比将流水线再分道,提高了原来流水线的速度,在一个时钟周期内一个功能部件被使用多次。
1.机器周期基准,存取周期。
2.周期挪用DMA方式中由DMA接口向CPU申请占用总线,占用一个存取周期。
3.双重分组跳跃进位n位全加器分成若干大组,大组内又分成若干小组,大组中小组的最高进位同时产生,大组与大组间的进位串行传送。
4.水平型微指令水平型微指令的特点是一次能定义并执行多个并行操作的微命令。
从编码方式看,直接编码、字段直接编码、字段间接编码以及直接编码和字段直接和间接混合编码都属水平型微指令。
其中直接编码速度最快,字段编码要经过译码,故速度受影响。
5.超标量(Super scalar)技术是指在每个时钟周期内可同时并发多条独立指令,即以并行操作方式将两条或两条以上指令编译并执行,在一个时钟周期内需要多个功能部件。
1.微程序控制采用与存储程序类似的方法来解决微操作命令序列的形成,将一条机器指令编写成一个微程序,每一个微程序包含若干条微指令,每一条指令包含一个或多个微操作命令。
2.存储器带宽每秒从存储器进出信息的最大数量,单位可以用字/秒或字节/秒或位/秒来表示。
3.RISC RISC是精简指令系统计算机,通过有限的指令条数简化处理器设计,已达到提高系统执行速度的目的。
4.中断隐指令及功能是在机器指令系统中没有的指令,它是CPU在中断周期内由硬件自动完成的一条指令,其功能包括保护程序断点、寻找中断服务程序的入口地址、关中断等功能。
02318自考计算机组成原理(名词解释)总结
第一章1.主机:由CPU、存储器与I/O接口合在一起构成的处理系统称为主机。
2.CPU:中央处理器,是计算机的核心部件,由运算器和控制器构成。
3.运算器:计算机中完成运算功能的部件,由ALU和寄存器构成。
4.ALU:算术逻辑运算单元,负责执行各种算术运算和逻辑运算。
5.外围设备:计算机的输入输出设备,包括输入设备,输出设备和外存储设备。
6.数据:编码形式的各种信息,在计算机中作为程序的操作对象。
7.指令:是一种经过编码的操作命令,它指定需要进行的操作,支配计算机中的信息传递以及主机与输入输出设备之间的信息传递,是构成计算机软件的基本元素。
8.透明:在计算机中,从某个角度看不到的特性称该特性是透明的。
9.位:计算机中的一个二进制数据代码,计算机中数据的最小表示单位。
10.字:数据运算和存储的单位,其位数取决于具体的计算机。
11.字节:衡量数据量以及存储容量的基本单位。
1字节等于8位二进制信息。
12.字长:一个数据字中包含的位数,反应了计算机并行计算的能力。
一般为8位、16位、32位或64位。
13.地址:给主存器中不同的存储位置指定的一个二进制编号。
14.存储器:计算机中存储程序和数据的部件,分为内存和外存。
15.总线:计算机中连接功能单元的公共线路,是一束信号线的集合,包括数据总线.地址总线和控制总线。
16.硬件:由物理元器件构成的系统,计算机硬件是一个能够执行指令的设备。
17.软件:由程序构成的系统,分为系统软件和应用软件。
18.兼容:计算机部件的通用性。
19.软件兼容:一个计算机系统上的软件能在另一个计算机系统上运行,并得到相同的结果,则称这两个计算机系统是软件兼容的。
20.程序:完成某种功能的指令序列。
21.寄存器:是运算器中若干个临时存放数据的部件,由触发器构成,用于存储最频繁使用的数据。
22.容量:是衡量容纳信息能力的指标。
23.主存:一般采用半导体存储器件实现,速度较高.成本高且当电源断开时存储器的内容会丢失。
《计算机组成原理》习题课:判断
同步5.1. 执行指令时,指令在内存中的地址存放在指令寄存器 中。 答案:错。执行指令时,指令在内存中的地址存放在程序计数器 中。 2.没有设置乘、除法指令的计算机系统中,就不能实现乘、除 法运算。 答案:错。在没有设置乘、除法指令的计算机系统中,可通过加、 减、移位等运算实现乘、除法运算。 3.计算机指令是指挥CPU进行操作的命令,指令通常由操作码 和操作数的地址码组成。 答案:对。 4.不设置浮点运算指令的计算机,就不能用于科学计算。 答案:错。不设置浮点运算指令的计算机,仍可用于科学计算, 只是要增加编程量且速度不很快。 5.采用RISC技术后,计算机的体系结构又恢复到早期的比较简 单的情况。 答案:错。RISC计算机的体系结构只是相对CISC机要简单些。 12
3
同步3.1.定点补码运算时,其符号位不参与运算。 答案:错 2.尾数部分只进行乘法和除法运算。 答案:错 3.浮点数的正负由阶码的正负符号决定。 答案:错 4.在定点小数一位除法中,为了避免溢出,被除数的绝对值一定 要小于除数的绝对值。 答案:对 5.浮点运算器的阶码部件可实现加、减、乘、除4种运算。 答案:错。阶码部件只进行阶码相加、相减和比较操作。 6.浮点数的取值范围由阶码的位数决定,而浮点数的精度由尾 数的位数决定。 答案:对。 7.加法器是构成运算器的基本部件,为提高运算速度,运算器 一般都采用串行加法器。 答案:错。加法器是构成运算器的基本部件,为提高运算速度, 4 加法器一般都采用并行加法器。
强化6.1.在主机中,只有内存能存放数据。 答案:错。寄存器也可存放数据。 2.引入微程序机器级,使CPU的硬件电路更为简单, 可以使CPU的指令系统功能更强。 答案:对。 3.微程序技术是今后计算机技术的发展方向。 答案:错。 目前高性能的计算机中普遍采用硬布线技 术。 4.在CPU中,译码器主要用在运算器中挑选多路输入 数据中的某一路数据送到ALU。 答案:错。在CPU中,译码器主要用于指令的译码、 寻址模式的译码及操作数地址的译码。 5.对一个并行寄存器来说,只要时钟脉冲到来,便可 从输出端同时输出各位的数据。 答案:错。时钟脉冲到来,数据便被置入寄存器忆设备,它只是用来存放程序。 答案:错。 存储器是计算机中存放程序和数据的设备。 2.动态RAM和静态RAM都是易失性半导体存储器。 答案:对。 3.CPU访问存储器的时间是由存储器的容量决定的,存储器容 量越大,访问存储器所需的时间越长。 答案:错。CPU访问存储器的时间是基本固定的,与容量无关, 而是由存储元的材料决定的。4.因为半导体存储器加电后才 能存储数据,断电后数据就丢失了,因此EPROM做成的存储器, 加电后必须重写原来的内容。 答案:错。半导体存储器加电后才能存储数据,断电后数据丢失, 这是指RAM。而EPROM是只读存储器,断电后数据不会丢失, 因此,加电后不必重写原来的内容。 5.目前大多数个人计算机中可配置的内存容量仅受地址总线位 数限制。 答案:错。内存容量不仅受地址总线位数限制,还受寻址方式、 5 操作系统的存储管理方式等限制。
计算机组成原理课后答案(第二版)_唐朔飞_第十章
3. 按序写出下列程序所需的全部 按序写出下列程序所需的全部 微操作命令及节拍安排。 微操作命令及节拍安排。 指令地址 300 301 302 303 304 指令 LDA 306 ADD 307 BAN 304 STA 305 STP
解:由于题意未明确要求采用何种 由于题意未明确要求 未明确要求采用何种 控制器结构, 控制器结构,故仍按较简单的组合逻辑 时序关系安排节拍(单总线、同步控制, 时序关系安排节拍(单总线、同步控制, 假设同上题): 假设同上题): LDA 306 指令: 指令: 取指周期: 取指周期: T0 PC→MAR,1→R PC→MAR, T1 PC+1,M(MAR)→MDR PC+1,M(MAR)→ T2 MDR→IR,OP(IR)→ID MDR→IR,OP(IR)→ 执行周期: 执行周期: T0 306(IR)→MAR,1→R 306(IR)→MAR, T1 M(MAR)→MDR M(MAR)→ T2 MDR→AC MDR→
ADD 307 指令:取指周期:同上。 指令:取指周期:同上。 执行周期1 执行周期1: T0 307(IR)→MAR,1→R 307(IR)→MAR, T1 M(MAR)→MDR,AC→C M(MAR)→MDR,AC→ T2 MDR→D MDR→ 执行周期2 执行周期2: T0 T1 T2 +,ALU→AC +,ALU→ BAN 304 指令:取指周期:同上。 指令:取指周期:同上。 执行周期: 为结果为负标志) 执行周期: (设N为结果为负标志) T0 T1 T2 N·304(IR)→PC N·304(IR)→
(2) SUB R1,R3指令周期流程图如下: 指令周期流程图如下: ↓ PCo,G,MARi PC→MAR → ↓ MM读 读 1 →R ↓ PC+1 →PC +1(可与前一步并行) +1( ↓ MDR →IR MDRo,G,IRi ↓ OP=? OP=? ↓SUB
计算机组成原理
一、填空题1字符信息是符号数据,属于处理(非数值)领域的问题,国际上采用的字符系统是七单位的(ASCLL )码。
2按IEEE754标准,一个32位浮点数由符号位S(1位)、阶码E(8位)、尾数M(23位)三个域组成。
其中阶码E的值等于指数的真值( e)加上一个固定的偏移值(127 )。
3双端口存储器和多模块交叉存储器属于并行存储器结构,其中前者采用(空间)并行技术,后者采用(时间)并行技术。
4虚拟存储器分为页式、(段)式、(段页)式三种。
5安腾指令格式采用5个字段:除了操作码(OP)字段和推断字段外,还有3个7位的(地址码)字段,它们用于指定(寄存器)2个源操作数和1个目标操作数的地址。
6 CPU从内存取出一条指令并执行该指令的时间称为(指令周期),它常用若干个(CPU周期)来表示。
7安腾CPU中的主要寄存器除了128个通用寄存器、128个浮点寄存器、128个应用寄存器、1个指令指针寄存器(即程序计数器)外,还有64个(推断寄存器)和8个(分支寄存器)。
8衡量总线性能的重要指标是(总线带宽),它定义为总线本身所能达到的最高传输速率,单位是(MB/s)。
9 DMA控制器按其结构,分为(选择型)DMA控制器和(多路型)DMA控制器。
前者适用于高速设备,后者适用于慢速设备。
10 64位处理机的两种典型体系结构是(英特尔64体系结构)和(安腾体系结构)。
前者保持了与IA-32的完全兼容,后者则是一种全新的体系结构。
1在计算机术语中,将ALU控制器和(内)存储器合在一起称为(主机)。
2数的真值变成机器码可采用原码表示法,反码表示法,(补码)表示法,(移码)表示法。
3广泛使用的(SRAM )和(DRAM )都是半导体随机读写存储器。
前者的速度比后者快,但集成度不如后者高。
4反映主存速度指标的三个术语是存取时间、(存储器带宽)和(存储周期)。
5形成指令地址的方法称为指令寻址,通常是(顺序)寻址,遇到转移指令时(跳跃)寻址。
《计算机组成原理》(答案已补全)
《计算机组成原理》模拟题1一、名词解释1.总线2.指令系统3.微指令4.溢出二、填空题1.按冯·诺依曼设计原则,其硬件是由()、()、()、()和()组成。
2.计算机系统是由()和()两大部分构成。
3.计算机最主要的三大性能指标是()、()、和()。
4.一个完善的指令系统应满足()、()、()、和()的要求。
5.堆栈的硬件是由()和()构成,存取是按()原则。
6.通常控制器的设计可分为()和(),前者采用的核心器件是(),后者采用的核心器件是()。
7.主机与外设的连接方式有()、()和()。
8.目前在微型机中主机与外设广泛采用的信息交换方式是()和()。
三、简答题1.简述中断的处理过程。
它与程序查询方式有何不同点?2.按通道的工作方式,通道分哪几类?简述其特点。
3.画图说明存储系统的层次结构,并说明各种存储器的特点。
参考答案:1.答案要点:中断的处理过程大致可分为五个步骤:1)中断请求2)中断排队3)中断响应4)中断处理5)中断返回与程序查询方式的不同点:1)在程序中断方式下,CPU和外设可并行工作;而程序查询方式下,CPU与外设是串行工作的。
2)程序中断方式适合于对外界随机事件的处理。
而程序查询方式不具备这样的能力。
2.答案要点:按通道的工作方式,通道可分为字节多路通道、选择通道和数组多路通道三种类型。
特点:字节多路通道:1)有多个子通道,设备间可(分时)并行操作。
2)数据以字节为单位交叉传送。
3)适合于连接大量的低速设备。
选择通道:1)被选中的外设采用独占方式使用通道。
2)数据以成组(数据块)方式进行传输。
3)适合于连接高速外设。
数组多路通道:是将前二者的优点结合在一起的一种通道结构。
数组多路通道含有多个子通道,可同时执行多个通道程序,数据以成组方式进行传送。
既具有多路并行操作能力,又有很高的数据传输率,可用来连接多台中高速的外设。
3.答案要点:存储系统的层次结构如图所示:存储器的特点:1)高速缓存:存放当前要执行的程序和数据。
计算机组成原理
概论CPU :中央处理器,是计算机的核心部件,由运算器和控制器构成。
运算器:计算机中完成运算功能的部件,由ALU 和寄存器构成。
总线:计算机中连接功能单元的公共线路,是一束信号线的集合。
主机:由CPU 、存储器与IO 接口合在一起构成的处理系统称为主机。
接口:是主机与外设之间传递数据与控制信息的电路,是主机与外设的桥梁。
汇编语言:采用文字方式(助记符)表示的程序设计语言。
字长:一个数据字包含的位数,一般为8 位、16 位、32 位和64 位等。
运算器的功能:完成算术逻辑运算,由ALU 和若干寄存器组成。
其中ALU 负责执行各种数据运算操作,寄存器用于暂时存放参与运算的数据以及保存运算状态。
控制器的功能:从内存中取出指令,对其进行译码,产生相应的时序控制信号,控制其它器件工作。
数据编码和数据运算数据:定点数据、浮点数据、图形数据、文字数据。
原码:用一个符号位表示数据的正负,0 代表正号,1 代表负号,其余的代码表示数据的绝对值。
补码:用最高位表示符号,其余各位代码给出数值按2 取模的结果。
阶码:浮点数编码中,表示小数点的位置的代码。
海明距离:在信息编码中,两个合法代码对应位上编码不同的数据位。
冯诺依曼舍入法:浮点数据的一种舍入方法,在截去多余位时,将剩下数据的最低位置1 。
规格化数:浮点数编码中,为使浮点数具有唯一的表示方式所作的规定,规定尾数部分用纯小数形式给出,而且尾数的绝对值应大于1/R ,即小数点后的第一位不为零。
机器零:浮点数编码中,阶码和尾数为全0 时代表的0 值。
为什么用二进制:容易用数据电路表示,数据运算和存储方式简单,是高效的数据表示方式。
如何区分ASCII 代码和汉字编码:ASCII 代码是7 位的代码,在存储时可以在它前面增加一位形成8 位的代码,增加的位用0 表示是ASCII 码, 1表示是汉字编码。
存储系统SRAM :静态半导体存储器,可随机读写,其存储的数据表示为晶体三极管构成的双稳态电路的电平,存储数据稳定,不需刷新。
计算机组成原理知识点
计算机组成原理知识点第一章:概论1、电子计算机:电子模拟计算机(连续变化的物理量)和电子数字计算机(离散的数字量)。
2、计算机的发展历史:根据电子元器件的不同,分为若干个代:电子管,晶体管,小、中规模的集成电路,大、超大规模的集成电路,甚大规模的集成电路,极大规模的集成电路。
3、冯诺伊曼存储程序的概念:5大组成部分,二进制,存储与程序控制4、计算机的组成框图:5、计算机的主要部件:输入设备,输出设备,存储器,运算器,控制器6、计算机总线结构:单总线和双总线7、计算机系统:硬件和软件8、计算机的主要性能指标:机器字长、数据通路宽度、主存容量、运算速度第二章:数据的机器层次表示1、无符号数和有符号数:2、原码表示法:[X]=X/2n-X;补码表示法:[X]=X/M+X;反码表示法:[X]=X/(2-2-n)+X3、模和同余的概念:4、三种码制之间的相互转换:5、机器数的定点表示法:定点整数和定点小数:6、浮点表示法:N=M×r E;浮点数的表示范围,规格化浮点数。
7、ASCII字符编码,汉字国标码,汉字区位码,汉字机内码8、十进制数的编码:8421码,2421码,余3码9、数据校验码:奇偶校验码,海明校验码,第三章:指令系统1、指令的基本格式:操作码字段+地址码字段(一、二、三、四和零)地址2、指令操作码的定长编码和变长编码:3、编址方式:编址单位:字、字节、位;指令中地址码的位数与主存容量和最小寻址单位有关。
4、指令寻址和数据寻址:分为:顺序寻址和跳跃寻址(直接、相对和间接)。
5、数据寻址的方式:立即寻址(立即数)、寄存器寻址(寄存器地址)、直接寻址(主存中有效地址)、间接寻址(又分一级和多级,需要多次访问主存)、寄存器间接寻址(主存地址放在寄存器中)、变址寻址(变址寄存器与指令给出的形式地址A相加)、基址寻址(基址寄存器的内容与指令给出的位移量D相加)、相对寻址(程序计数器的基准地址与指令给出的位移量D相加)、页面寻址(分为基页寻址:0与给出地址拼接和当前页寻址,PC的高位地址与给出的地址拼接)、自增型寄存器简址和自减型寄存器简址(寄存器内容自动增量修改,指向下一个地址和自动减量修改)、扩展变址方式(变址和间址相结合:一种先进行变址运算,其结果作为间接寻址;先进行间接寻址,然后再与变址值进行运算)、基址变址寻址(基址寄存器中的值、变址寄存器中的值和位移量三者相加得到)6、堆栈分为:硬堆栈和软堆栈7、指令类型:数据传送类指令、运算类指令:算术运算、逻辑运算、移位;程序控制类指令(转移指令、子程序调用指令、返回指令)、输入输出类指令(独立编址、统一编址)第四章:数值的机器运算1、加法器:全加器、进位的产生和传递。
《计算机组成原理》名词解释
摩尔定律:对集成电路上可容纳的晶体管数目、性能和价格等发展趋势的预测,其主要内容是:成集电路上可容纳的晶体管数量每18个月翻一番,性能将提高一倍,而其价格将降低一半。
主存: 计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取。
控制器:计算机的指挥中心,它使计算机各部件自动协调地工作。
时钟周期:时钟周期是时钟频率的倒数,也称为节拍周期或T周期,是处理操作最基本的时间单位。
多核处理器:多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。
字长:运算器一次运算处理的二进制位数。
存储容量: 存储器中可存二进制信息的总量。
CPI:指执行每条指令所需要的平均时钟周期数。
MIPS:用每秒钟执行完成的指令数量作为衡量计算机性能的一个指标,该指标以每秒钟完成的百万指令数作为单位。
CPU时间:计算某个任务时CPU实际消耗的时间,也即CPU真正花费在某程序上的时间。
计算机系统的层次结构:计算机系统的层次结构由多级构成,一般分成5级,由低到高分别是:微程序设计级,机器语言级,操作系统级,汇编语言级,高级语言级。
基准测试程序:把应用程序中使用频度最高的那那些核心程序作为评价计算机性能的标准程序。
软/硬件功能的等价性:从逻辑功能的角度来看,硬件和软件在完成某项功能上是相同的,称为软/硬件功能是等价的,如浮点运算既可以由软件实现,也可以由专门的硬件实现。
固件:是一种软件的固化,其目的是为了加快软件的执行速度。
可靠性:可靠性是指系统或产品在规定的条件和规定的时间内,完成规定功能的能力。
产品可靠性定义的要素是三个“规定”:“规定条件”、“规定时间”和“规定功能”。
MTTF:平均无故障时间,指系统自使用以来到第一次出故障的时间间隔的期望值。
MTTR:系统的平均修复时间。
MTBF:平均故障间隔时间,指相邻两次故障之间的平均工作时间。
可用性:指系统在任意时刻可使用的概率,可根据MTTF、MTTR和MTBF等指标计算处系统的可用性。
最新计算机组成原理-选择填空题及答案
试卷一:一. 选择题(每小题1分,共20分)1. 目前我们所说的个人台式商用机属于___D___。
A.巨型机B.中型机C.小型机D.微型机2. (2000)10化成十六进制数是____B__。
A.(7CD)16 B.(7D0)16 C.(7E0)16 D.(7F0)163. 下列数中最大的数是___A___。
A.(10011001)2 B.(227)8 C.(98)16 D.(152)104. ____D__表示法主要用于表示浮点数中的阶码。
A. 原码B. 补码C. 反码D. 移码5. 在小型或微型计算机里,普遍采用的字符编码是___D___。
A. BCD码B. 16进制C. 格雷码D. ASCⅡ码6. 下列有关运算器的描述中,___D___是正确的。
A.只做算术运算,不做逻辑运算B. 只做加法C.能暂时存放运算结果D. 既做算术运算,又做逻辑运算7. EPROM是指__D____。
A. 读写存储器B. 只读存储器C. 可编程的只读存储器D. 光擦除可编程的只读存储器8. Intel80486是32位微处理器,Pentium是__D____位微处理器。
A.16B.32C.48D.649. 设[X]补=1.x1x2x3x4,当满足___A___时,X > -1/2成立。
A.x1必须为1,x2x3x4至少有一个为1 B.x1必须为1,x2x3x4任意C.x1必须为0,x2x3x4至少有一个为1 D.x1必须为0,x2x3x4任意10. CPU主要包括__B____。
A.控制器B.控制器、运算器、cacheC.运算器和主存D.控制器、ALU和主存11. 信息只用一条传输线,且采用脉冲传输的方式称为__A____。
A.串行传输B.并行传输C.并串行传输D.分时传输12. 以下四种类型指令中,执行时间最长的是__C____。
A. RR型B. RS型C. SS型D.程序控制指令13. 下列___D___属于应用软件。
计算机组成原理习题(附参考答案)
计算机组成原理习题(附参考答案)一、单选题(共90题,每题1分,共90分)1、在统一编址方式下,下面的说法( )是正确的。
A、一个具体地址只能对应内存单元B、一个具体地址既可对应输入/输出设备,又可对应内存单元C、一个具体地址只能对应输入/输出设备D、只对应输入/输出设备或者只对应内存单元正确答案:D2、堆栈指针SP的内容是()。
A、栈顶地址B、栈顶内容C、栈底内容D、栈底地址正确答案:A3、下列不属于程序控制指令的是()。
A、循环指令B、无条件转移指令C、条件转移指令D、中断隐指令正确答案:D4、计算机的存储系统是指()。
A、cache,主存储器和外存储器B、主存储器C、ROMD、RAM正确答案:A5、指令是指()。
A、计算机中一个部件B、发给计算机的一个操作命令C、完成操作功能的硬件D、通常用于构成主存的集成电路正确答案:B6、相对于微程序控制器,组合逻辑控制器的特点是()。
A、指令执行速度慢,指令功能的修改和扩展容易B、指令执行速度慢,指令功能的修改和扩展难C、指令执行速度快,指令功能的修改和扩展容易D、指令执行速度快,指令功能的修改和扩展难正确答案:D7、中断向量可提供()。
A、主程序的断点地址B、传送数据的起始地址C、被选中设备的地址D、中断服务程序入口地址正确答案:D8、迄今为止,计算机中的所有信息仍以二进制方式表示的理由是()。
A、信息处理方便B、物理器件性能所致C、运算速度快D、节约元件正确答案:B9、相联存储器是按()进行寻址的存储器。
A、内容指定方式B、地址指定与堆栈存取方式结合C、堆栈存取方式D、地址指定方式正确答案:A10、若SRAM芯片的容量是2M×8位,则该芯片引脚中地址线和数据线的数目之和是()。
A、29B、21C、18D、不可估计正确答案:A11、若x=103,y=-25,则下列表达式采用8位定点补码运算实现时,会发生溢出的是()。
A、x+yB、-x+yC、-x-yD、x-y正确答案:D12、系统总线是指()。
计算机组成原理--实验报告
实验一寄存器实验实验目的:了解模型机中各种寄存器结构、工作原理及其控制方法。
实验要求:利用CPTH 实验仪上的K16..K23 开关做为DBUS 的数据,其它开关做为控制信号,将数据写入寄存器,这些寄存器包括累加器A,工作寄存器W,数据寄存器组R0..R3,地址寄存器MAR,堆栈寄存器ST,输出寄存器OUT。
实验电路:寄存器的作用是用于保存数据的CPTH 用74HC574 来构成寄存器。
74HC574 的功能如下:--实验1:A,W 寄存器实验原理图寄存器A原理图寄存器W 原理图连接线表:--系统清零和手动状态设定:K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入"Hand......"手动状态。
在后面实验中实验模式为手动的操作方法不再详述.将55H写入A寄存器二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据55H置控制信号为:按住STEP脉冲键,CK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据55H被写入A寄存器。
将66H写入W寄存器--二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据66H置控制信号为:按住STEP脉冲键,CK由高变低,这时寄存器W 的黄色选择指示灯亮,表明选择W寄存器。
放开STEP 键,CK 由低变高,产生一个上升沿,数据66H 被写入W 寄存器。
注意观察:1.数据是在放开STEP键后改变的,也就是CK的上升沿数据被打入。
2.WEN,AEN为高时,即使CK有上升沿,寄存器的数据也不会改变。
实验2:R0,R1,R2,R3 寄存器实验连接线表--将11H、22H、33H、44H写入R0、R1、R2、R3寄存器将二进制开关K23-K16,置数据分别为11H、22H、33H、44H置控制信号为:K11、K10为10,K1、k0分别为00、01、10、11并分别按住STEP 脉冲键,CK 由高变低,这时寄存器R0、R1\R2\R3 的黄色选择指示灯分别亮,放开STEP键,CK由低变高,产生一个上升沿,数据被写入寄存器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
堆栈是计算机系统中的一个重要概念,也是理解微型计算机组成的一个基础概念。
堆栈是一种存储部件,即数据的写入跟读出不需要提供地址,而是根据写入的顺序决定读出的顺序。
堆栈也是一种数据结构。
有一个地址指针总指向最后一个压入堆栈的数据所在的数据单元,存放这个地址指针的寄存器就叫做堆栈指示器。
数据一个一个地存入,这个过程叫做“压栈”。
在压栈的过程中,每有一个数据压入堆栈,就放在和前一个单元相连的后面一个单元中,堆栈指示器中的地址自动加1。
读取这些数据时,按照堆栈指示器中的地址读取数据,堆栈指示器中的地址数自动减1。
这个过程叫做“出栈pop”。
如此就实现了后进先出的原则。
一般的堆栈存储器由RAM、寄存器A,寄存器B构成。
算术运算一般在寄存器A和寄存器B 之间进行,其中的数据可能来自于进栈的输入也可能来自栈堆的出栈。
运算结果则会放入寄存器B中以待下步操作。
此次的课程设计做出的堆栈处理器,使其能与外部数据总线进行数据交换,且符合堆栈要求(先进后出),并能对存储的数据进行算术运算,且存储的数据的数据位不少于8位,通过数码管显示操作数据及运算结果(只有寄存器A、B 直接与外部总线进行数据交换,RAM只和寄存器B进行数据交换)。
关键词:堆栈,RAM, PUSH, POP , 寄存器A,寄存器B一. 任务解析 (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.能进行简单的判断运算或操作出现错误时会报警提示。
根据堆栈处理器实验要求,可画出程序流程图如下图: START输入数据堆栈A/B 寄存器运算选择将A/B 寄存器内数据进行运算并把结果放在B寄存器内A/B 寄存器是否都有数据输出READY继续输入数据或调用堆栈内数据入栈否是出栈图1、程序流程图二、系统方案论证2.1 总体方案与比较论证方案一、直接用VHDL 语言实现其功能,包括对存储器的入栈出栈处理、与数据总线的数据交换,包括对数据的算术运算处理。
此方案可实现其功能,但是由于对于算术运算中乘法器和除法器用VHDL语言来实现会比较繁琐,且不容易实现,故此方案不够理想。
方案二、直接用LPM模块进行定制RAM、乘法器和除法器等器件。
此方案对于RAM、乘法器、除法器的定制比较简单、灵活,但是对于其数据先进后出的控制会比较麻烦。
方案三、用VHDL语言来实现数据的堆栈处理,用LPM模块进行定制乘法器和除法器等器件。
此方案简单且易实现。
综合以上几种方案的优缺点,方案三简单易实现,且其实现的过程比较简单易理解,并且完全可以达到设计要求,故采用第三种方案。
2.2设计思路围绕着要实现的功能,分析堆栈处理器应该具有哪些输入输出信号,明确设计要求。
1.从堆栈角度考虑(1)堆栈的指示信号:堆栈其实是一个能随机存取数据的存储器,它符合先进后出的原则。
作为一个存储器,除工作速度外,它的首要指标是容量,设其字数为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.从算术运算功能考虑首先应有进行算术运算的指示信号,即输入信号ADD, SUB, MUL, DIV。
由于不同的运算所需的时间不同,因此必须有一个启始信号START和一个完成信号READY。
堆栈中两个数据进行算术运算的为地址分别为SP和SP+1的两个数据送入运算器进行运算,运算后将结果送入地址为SP+1的字中。
当堆栈只有一个字时,不能进行算术运算,因此必须有一个ONE指示。
当指针处于栈底时,SP=aa-1,这时堆栈只有一个字,应有指示信号ONE=1。
若此时进行运算操作则要有报错信号ERROR=1.2.3系统原理与结构2.3.1系统框图对本设计分析:在本设计中要求此堆栈处理器能与外部数据总线进行数据交换,且数据遵循先进后出的堆栈要求,并要求有指示信号,即满栈指示信号full,空栈指示信号empty,满栈时不能入栈(push),空栈时不能出栈(pop),在此设计中要求对存储的数据进行算术运算,故有进行加减乘除的指示信号,add、sub、mul、div,由于不同运算所需时间不同,所以需有一个启动信号start和一个完成信号ready, 当堆栈中只有一个字时不能进行算术运算,故需要一个one指示信号来控制是否可以进行算术运算,由此得到如下系统框图:堆栈处理器empty addsubmuldivpushpop full one ready start resetdindout图2、系统框图2.3.2系统结构框图通过对设计任务的各个功能实现的具体分析,得到下面的堆栈处理器的结构框图:堆栈存储器M 地址产生器运算器标志寄存器操作码寄存器控制器dindout操作信号reset start标志信号数据子系统图3、结构框图2.3.3堆栈电路图dout[7..0]rst clk din1din2enter1enter2start mul[15..0]div[7..0]push pop full empty one ready error a[7..0]b[7..0]din_set[7..0]qa[7..0]qb[7..0]RAM full empty one ready error a[7..0]b[7..0]dout[7..0]din_set[7..0]rstclkdin1din2push popenter1enter2start 乘法器除法器mul[15..0]div[7..0]qb[7..0]qa[7..0]图4、电路图三、设计过程3.1 堆栈存储器的设计3.1.1 堆栈存储器设计原理及仿真结果对此设计进行具体分析,首先是对数据的先进后出的堆栈处理:寄存器A寄存器BRAM8*8BUS图5、堆栈存储器结构图堆栈其实是一个能随机存取数据的存储器,它符合先进后出的原则。
作为一个存储器,除工作速度外,它的首要指标是容量,设其字数为aa,每个字N 位。
表征存取字位置的指示信号是地址,在堆栈中称为指针SP。
当指针处于栈顶时,SP=0,对应满栈,应有满栈指示信号FULL=1。
当栈空时,指针SP=aa,应有空栈指示信号EMPTY=1。
同时规定指针SP始终指向操作之前的栈内有内容的位置。
设fa、fb为寄存器A、B的指示信号,当fa=1、fb=1时表示A、B中存有数据。
当指针处于栈顶即sp=0、fa=1、fb=1时,栈满FULL=1;当指针sp=8、fa=0、fb=0时,栈空EMPTY=1;当sp=7、fa=0、fb=0或sp=8、fa=0、fb=1时,堆栈中只有一个数据,ONE=1。
当FULL=1时,不能入栈(push);当EMPTY=1时,不能出栈(pop);当ONE=1时,不能进行算术运算。
图6堆栈存储器进栈出栈的仿真图由图6可知,当push=1即高电平时,压入寄存器B的数据为2,而后push 为低电平,当其为高电平时压入寄存器A第二个数据3,当pop=1时,数据出栈,此时寄存器A、B均满,将寄存器A中数据输出到数据总线上,输出数据为3。
3.2对数据进行算术运算的设计及仿真在此设计中,对于存储器中数据的运算是,将数据存入寄存器A和寄存器B 中进行算术运算之后,再将运算结果存入寄存器B中的过程。
3.2.1对存储器中数据进行加法运算:图7存储器中数据进行加法运算的仿真图由图7可知,依次压入两个数据2、3,压入之后数据2存入寄存器B中,3存入寄存器A中,当start=1,enter2=0且enter1=0时,数据进行加法运算,结果为5,存入B寄存器中。
3.2.2对存储器中数据进行减法运算:图8存储器中数据进行减法运算的仿真图由图8可知,依次在寄存器B,A中存入数据2和3,,当start=1,enter2=0且enter1=1时,进行减法运算,结果为1,存入B寄存器中。
3.2.3对存储器中数据进行乘法运算:图9存储器中数据进行乘法运算的仿真图依次压入数据2、3,此时寄存器A和寄存器B中内容分别是3和2,当start=1,enter2=1且enter1=0时,进行乘法运算,结果为6,存入寄存器B中。
此时寄存器A空B满,再压入数据15,压入的数据存入寄存器A中,当start=1,enter2=1且enter1=0时,进行乘法运算(6*15),结果有溢出,error=1,发出报警信号。
3.2.4对存储器中数据进行除法运算:图10存储器中数据进行除法运算的仿真图依次压入数据3、6,此时寄存器A和寄存器B中内容分别是6和3,当start=1,enter2=1且enter1=1时,进行除法运算(6/3),结果为2,存入寄存器B 中。
四、总结4.1 遇到的问题及解决方案为期两周的堆栈处理器课程设计终于完成了,努力终于有了结果,学到了很多有用的知识,其中也遇到了很多的问题。
在课程设计开始的时候,我选用VHDL语言编写乘法器和除法器的程序,但在这个问题上思考花费的时间比较长,并且最终也没有得到预期的结果,乘法器的程序刚开始编写的时候就遇到了问题,想到乘法如何实现,怎样实现,多次仿真之后始终得不到满意的结果,到最后经老师指点,顺利编写成功,经过仿真之后结果也比较令人满意,但是在编写除法器的过程中又遇到了很多的问题,编写出来的程序仿真结果一直不正确,最终感觉到自己能力有限,就放弃了这种用VHDL语言实现乘法器和除法器的方案,选择了用LPM模块定制乘法器和除法器的方案来完成设计,最终选定模式5,并且对自己的程序进行了修改,合理安排输入输出,然后下载到试验箱上观察实验结果。