动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

简述寄存器种类及其功能

08-06 17:14 877浏览
举报 T字号
  • 大字
  • 中字
  • 小字

说起寄存器可能你暂时没有印象,但是提到CPU,即使是没有计算机基础的人也知道一些,而寄存器(Cache)是中央处理器(CPU)的重要组成部分,对数据的处理起到了至关重要的作用。那么寄存器到底起到了什么作用,寄存器种类功能又是怎么样的,我们拭目以待。

寄存器由具有存储功能的触发器组合起来构成的CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果寄存器的功能也由于寄存器的种类不同而有所差异。

按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两大类。基本寄存器只能并行送入数据,也只能并行输出。移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,或串行输入、并行输出,十分灵活,用途也很广。

下面是寄存器4功能

1.清除数据:将寄存器里的原有数据清除。

2.接收数据:在接收脉冲作用下,将外输入数据存入寄存器中。

3.存储数据:在没有新的写入脉冲来之前,寄存器能保存原有数据不变。  

4.输出数据:在输出脉冲作用下,才通过电路输出数据

仅具有以上功能的寄存器称为数码寄存器;除此之外,还有许多具有其他功能的寄存器。

寄存器有串行和并行两种数码存取方式。将n位二进制数一次存入寄存器或从寄存器中读出的方式称为并行方式。将n位二进制数以每次1位,分成n次存入寄存器并从寄存器读出,这种方式称为串行方式。并行方式只需一个时钟脉冲就可以完成数据操作,工作速度快,但需要n根输入和输出数据线。串行方式要使用几个时钟脉冲完成输入或输出操作,工作速度慢,但只需要一根输入或输出数据线,传输线少,适用于远距离传输。

8086 有8个8位数据寄存器,这些8位寄存器可分别组成16位寄存器:

AH&AL=AX:累加寄存器,常用于运算;

BH&BL=BX:基址寄存器,常用于地址索引;

CH&CL=CX:计数寄存器,常用于计数;

DH&DL=DX:数据寄存器,常用于数据传递。

为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:

CS(Code Segment):代码段寄存器;

DS(Data Segment):数据段寄存器;

SS(Stack Segment):堆栈段寄存器;

ES(Extra Segment):附加段寄存器。

当一个程序要执行时,就要决定程序代码、数据和堆栈各要用到内存的哪些位置,通过设定段寄存器 CS,DS,SS 来指向这些起始位置。通常是将DS固定,而根据需要修改CS。所以,程序可以在可寻址空间小于64K的情况下被写成任意大小。所以,程序和其数据组合起来的大小,限制在DS 所指的64K内,这就是COM文件不得大于64K的原因。8086以内存做为战场,用寄存器做为军事基地,以加速工作。

除了前面所提的寄存器外,还有一些特殊功能的寄存器:

IP(Intruction Pointer):指令指针寄存器,与CS配合使用,可跟踪程序的执行过程;

SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置。

BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置;

SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针;

DI(Destination Index):目的变址寄存器,可用来存放相对于 ES 段之目的变址指针。

尽管上面介绍的许多寄存器已经逐渐淡出在我们的实际开发中,但多了解一下寄存器种类和功能还是没有坏处的,对于我们对数据的处理有着很大的帮助。当然。欢迎大家观看本站的java视频课程,了解更多计算机的专业知识,学习更多专业知识,助力你的求学求职之路。

0人推荐
共同学习,写下你的评论
0条评论
剪刀手爱代码
程序员剪刀手爱代码

6篇文章贡献21459字

作者相关文章更多>

推荐相关文章更多>

Java数据结构

HelloWorld10-31 08:24

浅谈MySQL中SQL优化的常用方法

军哥08-12 23:29

五分钟读懂UML类图

江湖人称小李白12-10 10:41

MyBatis开发框架的四大核心

IT逐梦者08-17 21:43

一次搞定continue,break和return

HelloWorld11-06 11:19

发评论

举报

0/150

取消