`
zhangpuego
  • 浏览: 52714 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

数据,通用寄存器,段寄存器

 
阅读更多
我们经常会有拿一个地址找房间的经验吧,比如说302,那么,我们知道这房间在三楼,是从东边算过来的第二间,
这个地址其实就是两个地址组成 :3楼,2号房。
注意到没,每个地址是一位数,但是通过大家熟知的规律合成了一个三位数的地址。
把这个例子带到这个问题中,你可以这样理解,段地址相当于楼层地址,偏移地址相当于房间号,最后合成的就是物理地址。
8086的地址线20根,数据线16根,
物理地址的位数取决于8086地址线的数量,
16位的数据线决定了8086的寄存器只能有16位,这样一来不管是段寄存器还是通用寄存器都是16位的。
所以,段地址和偏移量也都是16位了。
当要合成20位的物理地址时,先把段地址左移4位(就是*16的原因),变成20位的,

然后再加16位的偏移地址,得到最后的20位物理地址。

比如一个地址是00100H(一个16位表示4个2进制位,5个就是20位)

再说下,一个16进制左移1位就是2进制左移4位(代数自己试)

你可以表示成(用16位表示),0010:0000(0010*16+0000=00100)

 0000:0100(0000*16+0100=00100),结果是不唯一 



物理地址就是数据在内存中实际存放的位置.因为8086或8088有20条地址线,寻址能力有2的20次方,1MBit.

而8086或8088内部寄存器是是16位的,无法用一个位完全表示出来.

所以采用段首地址+偏移量两个寄存器来表示的方式,俗称PC或CS:IP来表示一个实际的物理地址,这就是所谓的虚拟地址.

例如段首地址为0000H,而偏移量的范围就在0000H-FFFFH之间,

就表示00000H-0FFFFH的实际内存单元.就是说一个段的大小在64Kb.
0
0
分享到:
评论

相关推荐

    设计一个通用寄存器组,16位的寄存器。(含报告)

    ③通用寄存器组中有1个写入端口,当DRWr=1时,在时钟clk的上升沿将数据总线上的数据写入DR[1..0]指定的寄存器。 ④通用寄存器组中有两个读出端口,由控制信IDC控制,分别对应算术逻辑单元的A口和B口。IDC=0选择目的...

    通用寄存器组设计(VHDL)

    按照题目要求设计一个通用寄存器组的逻辑,决定外部的端口(名称、有效电平)和内部各元件的连接,画出系统框图和逻辑图,设计仿真数据,用VHDL编程和仿真。 1.16位寄存器 功能要求:同步并行置数,异步复位(清零...

    从通用寄存器文件向SIMD寄存器文件移动数据的方法和装置.zip

    从通用寄存器文件向SIMD寄存器文件移动数据的方法和装置.zip

    从SIMD寄存器文件向通用寄存器文件移动数据的方法和装置.zip

    从SIMD寄存器文件向通用寄存器文件移动数据的方法和装置.zip

    寄存器和IO实验

    在计算机组成原理实验中,寄存器和IO实验是非常重要的一部分,本次实验的目的是为了熟悉通用寄存器的数据通路和准双向I/O口的构成原理。 一、通用寄存器的数据通路 通用寄存器是计算机中最基本的组成部分,它可以...

    基于C语言实现的通用寄存器实验【100010689】

    (4)寄存器组中有一个写允许信号DRWr,当DRWr为1时,clk上升沿将输入到寄存器组的16位数据d_input写入DR端口指定的寄存器中。 (5)SR为读端口。读操作时,将对应SR端口指定寄存器的内容送住寄存器文件输出端SR_...

    MIPS-通用寄存器详细资料下载.pdf

    $30:($fp)GNU MIPS C编译器使⽤用了帧指针(frame pointer),⽽而SGI的C编译器没有使⽤用,⽽而把这个寄存器当作保存寄存器使⽤用($s8),这节省了调⽤用和返回开销,但增加了代码⽣生成的复杂性。 $31:($ra)存放...

    数据通路组成实验-计算机组成原理实验

    (1)做好实验预习和准备工作,掌握实验电路的数据通路特点和通用寄存器组的功能特性。 (2)写出实验报告,内容为 1.实验目的; 2.如碰到故障,记录故障现象,排除故障的分析思路,故障定位及故障的性质; 3...

    80x86的程序可见寄存器组.doc

    1. 通用寄存器: * EAX:16 位寄存器,高 8 位为 AH,低 8 位为 AL * EBX:16 位寄存器,高 8 位为 BH,低 8 位为 BL * ECX:16 位寄存器,高 8 位为 CH,低 8 位为 CL * EDX:16 位寄存器,高 8 位为 DH,低 8 位...

    嵌入式系统/ARM技术中的ARM通用寄存器

    通用寄存器包括R0~R15,可以分为三类:  (1)未分组寄存器R0~R7;  (2)分组寄存器R8~R14;  (3)程序计数器PC(R15)。  1.未分组寄存器R0~R7  在所有的运行模式下,未分组寄存器都指向同一个...

    计算机组成原理实验报告 数据通路实验

    (2)用8位数据开关向RF中的四个通用寄存器分别置入以下数据(十六进制):R0=0F,R1=F0,R2=55,R3=AA。 给R0置入0F的步骤是:先用8位数码开关将0F置入ER,并且选择WR1=WR...

    ARM寄存器介绍

    ARM 寄存器介绍中,ARM 处理器共有 37 个寄存器,其中包括 31 个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是 32 位寄存器。以及 6 个 32 位状态寄存器。但目前只使用了其中 12 位。ARM 处理器共有 7 种...

    计算机软考初级程序员-计算机基础-CPU-寄存器

    1. 通用寄存器(General Register):可以存储数据和指令的寄存器,具有通用性。 2. 索引寄存器(Index Register):用于存储索引值的寄存器,例如数组索引。 3. 指令寄存器(Instruction Register):用于存储当前...

    x86架构常见寄存器介绍

    对于Intel x86处理器,寄存器分为通用寄存器、段寄存器、标志寄存器、控制寄存器等多种类型。其中,通用寄存器是最常用的寄存器类型,包括16位、32位和64位三种不同大小的寄存器。这些寄存器具有多种用途,可以用来...

    PIC单片机选用存储体0或1的方法

    每个存储体都是由专用寄存器和通用寄存器两部分组成的。两个存储体中的一些寄存器单元实际上是同一个寄存器单元,却又具备有不同的地址。例如本版介绍的PIC16F84的状态寄存器STATUS-Reg的两个地址是03H和83H。又如...

    计算机原理课程设计_CPU设计

    本次模拟的CPU由指令寄存器IR、数据寄存器、PC寄存器、程序状态寄存器SR、16个通用寄存器组成。指令寄存器地址总线和数据总线宽度为16位,数据总线的地址宽度为16位,数据总线的宽度为8位。指令寄存器IR、PC寄存器...

    CPU寄存器集的实现方法与重叠寄存器窗口技术.pdf

    首先,文章简要介绍了CPU通用寄存器和窗口技术的产生和发展背景,并提出了以CALL和RETURN为代表的指令存在的问题,并给出了解决方法。接着,文章讨论了大寄存器集和窗口技术的缺点和一些相关应用。 知识点1:CPU...

    PIC16C5X单片机通用寄存器和专用存储器

    通用寄存器文件是用于存放数据的寄存器。一般用于中间数据或结果数据存放。所有的通用寄存器构成了通用寄存器文件

    xESMF:地理空间数据通用寄存器

    xESMF:地理空间数据通用监管者 xESMF是用于的Python软件包。 这是 强大:它使用 / 作为后端,并且可以使用所有网格(例如双线性,保守和最近邻域)在通用曲线网格之间。 易于使用:它抽象了ESMF的复杂基础结构,...

    汇编常用命令

    MOV 指令为双操作数指令,两个操作数中必须有一个是寄存器.  MOV DST , SRC // Byte / Word  执行操作: dst = src ... 出栈操作数除不允许用立即数和CS段寄存器外, 可以为通用寄存器,段寄存器和存储器.

Global site tag (gtag.js) - Google Analytics