文档库 最新最全的文档下载
当前位置:文档库 › 存储器寻址方式

存储器寻址方式

存储器寻址方式
存储器寻址方式

存储器寻址方式

存储器寻址方式的操作数存放在主存储器中,用其所在主存的位置表示操作数。在这种寻址方式下,指令中给出的是有关操作数的主存地址信息。8088的存储器空间是分段管理的。程序设计时采用逻辑地址;由于段地址在默认的或用段超越前缀指定的段寄存器,所以采用偏移地址,称之为有效地址(Effective Address, EA)

1.直接寻址

在这种寻址方式下,指令中直接包含了操作数的有效地址,跟在指令操作码之后。其默认的段地址在DS段寄存器中,可以采用段超越前缀。

例将数据段中偏移地址2000H处的内存数据送至AX寄存器。

MOV AX, [2000H]

该指令中给定了有效地址2000H, 默认与数据段寄存器DS一起构成操作数所在存储单元的物理地址。

如果DS=1429H,则操作数所在的物理地址为1429H*16+2000H=16920H. 该指令的执行结果是将16920H单元的内容传送至AX寄存器,其中,高字节内容送AH寄存器,低字节内容送AL寄存器。

MOV AX, [2000H];指令代码:A1 00 20

例: 将附加段中偏移地址2000H 处的内存数据送至AX 寄存器。 MOV AX, ES:[2000H]; 指令代码:26 A1 00 20

变量指示内存的一个数据,直接引用变量就是采用直接寻址方式。变量应该在数据段进行定义,常用的变量定义伪指令DB 和DW 分别表示字节变量和字变量,例如

WV AR DW 1234H; 定义字变量WV AR ,它的初值是1234H 这样,标示符WV AR 表示具有初值1234H 的字变量,并由汇编程序为它内存分配了两个连续的字节单元。假设它在数据段偏移地址是0010H 。

例:将数据段的变量WV AR (即该变量名指示的内存单元数据)送至AX 寄存器。

MOV AX, WV AR;

指令功能: 上述指令实质就是如下指令: AX WV AR

AX DS :[0010H]

MOV AX, [0010H]; 指令代码:代码:26 A1 00 20

AX=1234H

堆栈操作指令

堆栈是一个“先进后出”的主存区域,使用SS段寄存器记录段地址;堆栈只有一个出口,即当前站顶,用堆栈指针寄存器SP指定堆栈站顶的偏移地址。

堆栈操作的对象只能是字操作。进站时,SP向低地址移动两个字节单元以指向新的栈顶,然后数据的低字节于存放低地址,高字节存放于高地址。出栈时,字从栈顶弹出,低地址字节送低字节,高地址字节送高地址,SP相应向高地址移动两个字节单元。

MOV ax, 7812H

PUSH ax; 将AX内容推入堆栈(如图1)

POP AX;将当前堆栈内容弹给AX(如图2)

PUSH [2000H]

POP WV AR

堆栈段是程序不可或缺的一个内存区。堆栈可用来临时存放数据,以便随时恢复它们。堆栈常用于寄存器的保护以及子程序间的参数传递。

计算机的寻址范围

一、什么叫寻址空间? 寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题。数据在存储器(RAM)中存放是有规律的,CPU在运算的时候需要把数据提取出来就需要知道数据在那里,这时候就需要挨家挨户的找,这就叫做寻址,但如果地址太多超出了CPU的能力范围,CPU就无法找到数据了。CPU最大能查找多大范围的地址叫做寻址能力,CPU的寻址能力以字节为单位。通常人们认为,内存容量越大,处理数据的能力也就越强,但内存容量不可能无限的大,它要受到系统结构、硬件设计、制造成本等多方面因素的制约,一个最直接的因素取决于系统的地址总线的地址寄存器的宽度(位数)。计算机的寻找范围由总线宽度(处理器的地址总线的位数)决定的,也可以理解为cpu寄存器位数,这二者一般是匹配的。Intel公司早期的CPU产品的地址总线和地址寄存器的宽度为20位,即CPU的寻址能力为2^20=1024*1024字节=1024K字节=1M字节;286的地址总线和地址寄存器的宽度为24位,CPU的寻址能力为2^24=1024*4*1024*4B=4*1024*4KB=16M;386及386以上的地址总线和地址寄存器的宽度为32位,CPU的寻址能力为2^32=4096M字节=4G字节。也就是说,如果机器的CPU过早,即使有很大的内存也不能得到利用,而对于现在的PⅡ级的CPU,其寻址能力已远远超过目前的内存容量。由此推出:地址总线为N位(N 通常都是8的整数倍;也说N根数据总线)的CPU寻址范围是2的N次方字节,即2^N(B)。 二、16位、32位、64位通常指的是什么? 从CPU的发展史来看,从以前的8位到现在的64位,8位也就是CPU在一个时钟周期内可并行处理8位二进字符0或是1,那么16就以此类推,是64位就64位二进制,从数据计算上来讲理论上64位比32快一半。但因为电脑是软硬相配合才能发挥最佳性能,所以操作系统也必须从32位的到64位的,而且系统的硬件驱动也必须是64位的。在64位CPU的计算机上要安装64位操作系统64位的硬件驱动,32位的硬件驱动是不能用的,只有这样才能发挥计算机的最佳性能。如果64位CPU装32操作系统的话,那性能不会有明显的提升。 三、为什么是2的N次方,而不是其他数的N次方? 因为计算机是采用二进制计算的。假设一台计算机,它只有1根地址线,请问它最多能对几个存储单元寻址?答案是:2个。因为在任何2进制计算机中,所有物理元件只有0,1两种状态,对应这个例子,我们假设已经把这唯一的一根地址线与两个存储单元a和b连上了,那么究竟怎么确定何时读a何时读b?有一个办法,当地址线上的电压是高电压时我们读a,相反是低电压时,我们读b。如此一来,一根地址线的情况下,只能对2个存储单元进行寻址依次类推,2根地址线时可以对4个存储单元进行寻址,对应的电压情况可以是:低低,低高,高低,高高;继续想下去,3根地址线就可以对8个存储单元进行寻址(3个1和3个0不同组合情况:111、110、100、000、101、100、001、011),4根就是16个,也就是说,当有n根地址线时,可以对2的n次方个存储单元进行寻址。 四、什么是存储单元?

PLC中存储器的数据类型与寻址方式

一、数据在存储器中的存储方式 1、数据格式及要求 A〉数据格式:即指数据的长度和表示方式。B〉要求:S7-200对数据的格式有一定的要求,指令与数据之间的格式一致才能正常工作。 2、用一位二进制数表示开关量 A〉一位二进制数:一位二进制数有0(OFF)和1(ON)两种不同的取值,分别对应于开关量(或数字量)的两种不同的状态。B〉位数据的数据类型:布尔(Bool)型。C〉位地址:由存储器标识符、字节地址和位号组成,如I3.4等。D〉其它CPU存储区的地址格式:由存储器标识符和起始字节号(一般取藕字节)组成,如V B 100、V W 100、V D 100等。 3、多位二进制数(8421码) A〉数及数制:数用于表示一个量的具体大小。根据计数方式的不同,有十进制(D)、二进制(B)、十六进制(H)和八进制等不同的计数方式。B〉二进制数的表示:在S7-200中用2#来表示二进制常数,例如“2# 10111010 ”。C〉二进制数的大小:将二进制数的各位(从右往左第n位)乘以对应的位权(×2n-1),并将结果累加求和可得其大小。例如:2# 10111010 = 1×27+0×26+1×25+1×24+1×23+0×22+1×21+0×20 = 186 4、十六进制数 A〉十六进制数的引入:将二进制数从右往左每4位用一个十六进制数表示,可以实现对多位二进制数的快速准确的读写。B〉不同进制数的表示方法:( 表3-2-1 不同进制数的表示方 法) C〉十六进制数的表示:在S7-200中用16#来表示十六进制常数,例如“2# 1010 1110 0111 0101 可转换为16# AEF7 ”。D〉十六进制数的大小:将十六进制数的各位(从右往左第n位)乘以对应的位权(×16n-1),并将结果累加求和可得其大小。例如:16# 2F = 2×161+15×160 = 47 5、数据长度:字节(Byte)、字(Word)、双字(DoubleWord) A〉字节(B):从0号位开始的连续8位二进制数称为一个字节。B〉字(W):相邻的两个字节组成一个字的长度。C〉双字(DW):相邻的四个字节组成一个双字的长度。D〉字、双字长数据的存储特点:高位存低字节、地位存于高字节。 6、负数(有符号数)的表示方法 A〉负数的表示:PLC一般用二进制的补码来表示有符号数,其最高位为符号位(0 ——正数、1 ——负数)。B〉绝对值相等的正负有符号数间的关系:正数的补码是它本身。C〉不同数据的取值范围:( 表3-2-2 数据的位数与取值范围) 7、BCD码

(完整版)存储器测试题

1、现有1024×1的存储芯片,若用它组成16K×8的存储器,试求: (1)实现该存储器所需的芯片数量; (2)若将这些芯片分装在若干块板上,每块板的容量为4K×8,该存储器所需的地址线总位数是多少?其中几位用于选板?几位用于选片?几位用于选片内单元。 2、某存储器容量为16K×8,用4K×4的SRAM芯片组成,由R/W线控制读写,设计并画出该存储器的逻辑图,并注明地址分配、片选逻辑及片选信号的极性。 3、用容量为16K×1的DRAM芯片组成64KB的存储器。设存储器的读写周期为0.5μs,CPU在1μs内至少要访存一次,问哪种刷新方式比较合理?相邻两行之间的刷新间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少? 4、现有2K×1的ROM、4K×1的RAM和8K×1的ROM三种存储芯片,若用它们组成容量为16KB的存储器,前4KB为ROM,后12KB为RAM。 (1)各种存储芯片分别用多少片? (2)正确选用译码器及门电路,并画出相应的逻辑结构图。 5、某计算机为定长指令字,指令字长为12位,每个地址码占3位,试提出一种分配方案,使该指令系统包含:4条三地址指令、8条二地址指令、180条单地址指令。 6、某计算机字长为16位,主存容量为64K字,采用单字长单地址指令格式,共有64条指令。试说明: (1)若采用直接寻址,指令能访问多少主存单元? (2)为扩大寻址范围,采用直接/间接寻址,需要一位间址标志位,指令的寻址范围为多少?指令直接寻址的范围为多少? 7、指令格式如下所示,OP为操作码字段,试分析指令格式特点。 31 26 21 18 17 16 15 0

ARM处理器9种基本寻址方式

寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式,ARM处理器有9 种基本寻址方式。 1.寄存器寻址 操作数的值在寄存器中,指令中的地址码字段给出的是寄存器编号,寄存器的内容是操作数,指令执行时直接取出寄存器值操作。 例如指令: MOV R1,R2 ;R1←R2 SUB R0,R1,R2 ;R0←R1- R2 2.立即寻址 在立即寻址指令中数据就包含在指令当中,立即寻址指令的操作码字段后面的地址码部分就是操作数本身,取出指令也就取出了可以立即使用的操作数(也称为立即数)。立即数要以“#”为前缀,表示16进制数值时以“0x”表示。 例如指令: ADD R0,R0,#1 ;R0←R0 + 1 MOV R0,#0xff00 ;R0←0xff00 3.寄存器移位寻址 寄存器移位寻址是ARM指令集特有的寻址方式。第2个寄存器操作数在与第1个操作数结合之前,先进行移位操作。 例如指令: MOV R0,R2,LSL #3 ;R2的值左移3位,结果放入R0,即R0=R2 * 8 ANDS R1,R1,R2,LSL R3 ;R2的值左移R3位,然后和R1相与操作,结果放入R1 可采用的移位操作如下: LSL:逻辑左移(Logical Shift Left),寄存器中字的低端空出的位补0。 LSR:逻辑右移(Logical Shift Right),寄存器中字的高端空出的位补0。 ASR:算术右移(Arithmetic Shift Right),移位过程中保持符号位不变,即如果源操作数为正数,则字的高端空出的位补0,否则补1 ROR:循环右移(Rotate Right),由字的低端移出的位填入字的高端空出的位 RRX:带扩展的循环右移(Rotate Right extended by 1 place),操作数右移一位,高端空出的位用原C 标志值填充。 各移位操作过程如图所示。

(完整版)存储器相关习题

预览: 计算机组成原理——习题与解析第四章存储器系统邵桂芳 4.2半导体存储器 4.2.1填空题 1. 计算机中的存储器是用来存放__①___的, 随机访问存储器的访问速度与___② ___无关。答案:①程序和数据②存储位置 2. 对存储器的访问包括______和________两类。 答案:①读②写 3. 计算机系统中的存储器分为__①___和___②____。在CPU 执行程序时,必须将指令存在____③____中。 答案:①内存②外存③内存 4. 主存储器的性能指标主要是①、②、存储周期和存储器带宽。 答案:①存储容量②存取时间 5. 存储器中用①来区分不同的存储单元, 1GB=②KB 。 答案:①地址②1024X1024(或220) 6. 半导体存储器分为①、②、只读存储器(ROM)和相联存储器等。 答案:①静态存储器(SRAM) ②动态存储器(DRAM) 7. RAM 的访问时间与存储单元的物理位置①,任何存储单元的内容都能被② 答案:①无关②随机访问 8. 存储揣芯片由①、②、地址译码和控制电路等组成。 答案:①存储体②读写电路 9. 地址译码分为①方式和②方式。 答案:①单译码②双译码 10.双译码方式采用①个地址译码器,分别产生②和③信号。 答案:①两②行选通③列选通 11.若RAM 芯片内有1024个单元,用单译码方式,地址译码器将有①条输出线;用双译码方式,地址译码器有②条输出线。 答案:①1024 ②64 12. 静态存储单元是由晶体管构成的①, 保证记忆单元始终处于稳定状态, 存储的信息不需要②。 答案:①双稳态电路②刷新(或恢复) 13.存储器芯片并联的目的是为了①,串联的目的是为了②。 答案:①位扩展②字节单元扩展 14.计算机的主存容量与①有关,其容量为②。 答案:①计算机地址总线的根数②2地址线数 15.要组成容量为4MX8位的存储器, 需要①片4MXl 位的存储器芯片并联, 或者需要②片1MX3的存储器芯片串联。 答案:①8 ② 4 16.内存储器容量为256K 时,若首地址为00000H ,那么末地址的十六进制表示是 答案:3FFFFH 17.主存储器一般采用①存储器件,它与外存比较存取速度②、成本③。 答案:①半导体②快③高 18.三级存储器系统是指______这三级: 答案:高缓、内存、外存 预览:

CAM(字内容可寻址存储器)

数字集成电路 - 设计透视2 / E Jan M. Rabaey, AnanthaChandrakasan, BorivojeNikoli 第六章和第十二章 设计项目:512字的内容寻址存储器 1.背景 内容可寻址存储器在各种各样的应用中都需要在比特上操作的匹配模式,例如虚拟内存,数据压缩,高速缓存和表查找应用程序。随着无线网络的普及的不断上升,内容可寻址存储器已经建议用作网络地址过滤和部分节点匹配的一种方法。在TCP/IP中,这相当于和一个IP地址相匹配的相关位,由子网掩码决定。显然,在无线环境下,功耗是重要准则。然而,基站点能够花更多的功率来达到快速表查询的要求。由于成本始终是商业设计中的一个重要因素,减少芯片面积也是很重要的。 在这个项目中,我们将根据不得设计要求,设计内容可寻址存储器的一个重要组成部分。 1.1高层次的架构 图一所示是一个内容可寻址存储器的高级别方框图。 图1:CAM高级别方框图 内容可寻址存储器有三种运行模式:读模式,写模式和匹配模式。读和写模式时,在内容可寻址存储器阵列中数据访问和操作的方式和在普通存储器中是一样的。内容可寻址存储器的特点在匹配运行模式下实现。在这个模式下,比较模块存放了数据用于匹配,屏蔽模块显示哪位是重要的。例如,为了在CAM阵列中找到所有有0x123的数据,我们要将比较字设

为0x12300000,屏蔽位为0xFFF00000。然后将CAM中所有512行中的数据同时和比较字的最重要的12位进行比较。每行相匹配的部分发送到有效模块。由于我们不关心每行包含的无效数据(通常在阵列不满是发生),只有有效的相匹配的行才会发送到优先编码器。如果两行或多行和输入数据匹配,CAM阵列中的行地址用来打破平局。为了做到这一点,优先编码器考虑阵列中的所有512匹配行,选择地址最高的一行,将其编码为二进制文件。由于CAM阵列中有512行,需要9比特来表示匹配行的最高地址。因为可能不存在匹配行,所以需要一个额外的匹配位。 作为一个简单的例子,假设CAM阵列中有6项数据,如表1所示。 表1 一些比较字和屏蔽字组成和比较结果如表2所示。 表2 2.实施和约束 我们的目标是要设计使用在CAM中的具有特定优化标准的优先编码器。该项目将分3个阶段完成。 第一阶段的目标是执行逻辑优化,电路风格选择和一阶组合电路的优化以满足既定的设计目标和约束。优先编码器的微调设计和实际物理版图在第二阶段进行。 你应该选择一下一种设计案例: a)低能量操作:设计一个在无线中使用的优先编码器,使得平均能量被最小化并满 足约束条件,即最坏情况下的延迟小于40纳秒。无约束都被放在区域设计。 b)高速操作:尽可能提高优先编码器的速度,以便CAM用于基站或功率随时可用的 情况下。无约束被放在区域或功率设计。 c)低硅消耗:最小化优先编码器的面积,同时满足约束条件,即最坏情况下的延迟 小于40纳秒。无约束都被放在能源消耗。 项目分成几部分完成。

存储器系统 题库和答案

第3章存储器系统 一.选择题 1.计算机工作中只读不写的存储器是( )。 (A) DRAM (B) ROM (C) SRAM (D) EEPROM 2.下面关于主存储器(也称为内存)的叙述中,不正确的是( )。 (A) 当前正在执行的指令与数据都必须存放在主存储器内,否则处理器不能进行处理 (B) 存储器的读、写操作,一次仅读出或写入一个字节 (C) 字节是主存储器中信息的基本编址单位 (D) 从程序设计的角度来看,cache(高速缓存)也是主存储器 3.CPU对存储器或I/O端口完成一次读/写操作所需的时间称为一个( )周期。 (A) 指令(B) 总线(C) 时钟(D) 读写 4.存取周期是指( )。 (A)存储器的写入时间(B) 存储器的读出时间 (C) 存储器进行连续写操作允许的最短时间间隔(D)存储器进行连续读/写操作允许的最短时间3间隔 5.下面的说法中,( )是正确的。 (A) EPROM是不能改写的(B) EPROM是可改写的,所以也是一种读写存储器(C) EPROM是可改写的,但它不能作为读写存储器(D) EPROM只能改写一次 6.主存和CPU之间增加高速缓存的目的是( )。 (A) 解决CPU和主存间的速度匹配问题(B) 扩大主存容量 (C) 既扩大主存容量,又提高存取速度(D) 增强CPU的运算能力 7.采用虚拟存储器的目的是( )。 (A) 提高主存速度(B) 扩大外存的容量(C) 扩大内存的寻址空间(D) 提高外存的速度8.某数据段位于以70000起始的存储区,若该段的长度为64KB,其末地址是( )。(A) 70FFFH (B) 80000H (C) 7FFFFH (D) 8FFFFH 9.微机系统中的存储器可分为四级,其中存储容量最大的是( )。 (A) 内存(B) 内部寄存器(C) 高速缓冲存储器(D) 外存 10.下面的说法中,( )是正确的。(A) 指令周期等于机器周期 (B) 指令周期大于机器周期(C) 指令周期小于机器周期(D) 指令周期是机器周期的两倍11.计算机的主内存有3K字节,则内存地址寄存器需( )位就足够。 (A) 10 (B) 11 (C) 12 (D) 13 12.若256KB的SRAM具有8条数据线,那么它具有( )地址线。 (A) 10 (B) 18 (C) 20 (D) 32 13.可以直接存取1M字节内存的微处理器,其地址线需( )条。 (A) 8 (B)16 (C) 20 (D) 24 14.规格为4096×8的存储芯片4片,组成的存储体容量为( )。 (A) 4KB (B) 8KB (C) 16KB (D) 32KB 15.一个有16字的数据区,其起始地址为70A0:DDF6H,则该数据区末字单元的物理地址为()。 (A)14E96H (B)7E814H (C)7E7F6H (D)7E816H 16.某微型计算机可直接寻址64M字节的内存空间,其CPU的地址总线至少应有( )条。(A)20 (B)30 (C)16 (D)26 17.对于地址总线为32位的微处理器来说,其直接寻址范围可达()。

单片机寻址方式

51单片机的寻址方式 寻址方式:指定操作数所在单元的方法。 在我们学习的8051单片机中,有7种寻址方法,下面我们将逐一进行分析。 一、立即寻址 用“#”作前缀 MOV A,#20H 在这种寻址方式中,指令多是双字节的。立即数就是存放在程序存储器中的常数,换句话说就是操作数(立即数)是包含在指令字节中的。 例如: MOV A,#3AH 这条指令的指令代码为74H、3AH,是双字节指令,这条指令的功能是把立即数3AH送入累加器A中。 MOV DPTR,#8200H在前面学单片机的专用寄存器时,我们已学过,DPTR 是一个16位的寄存器,它由DPH及DPL两个8位的寄存器组成。这条指令的意思就是把立即数的高8位(即82H)送入DPH寄存器,把立即数的低8位(即00H)送入DPL寄存器。 二、直接寻址

指令中直接给出操作数的地址。 MOV A,30H;这条指令中操作数就在30H单元中,也就是30H是操作数的地址,并非操作数。 MOV 30H,DPH 在80C51单片机中,直接地址只能用来表示内部数据存储器、位地址空间以及特殊功能寄存器,具体的说就是: 1、内部数据存储器RAM低128单元。在指令中是以直接单元地址形式给出。 我们知道低128单元的地址是00H-7FH。在指令中直接以单元地址形式给出这句话的意思就是这0-127共128位的任何一位,例如0位是以00H这个单元地址形式给出、1位就是以01H单元地址给出、127位就是以7FH 形式给出。 2、位寻址区。20H-2FH地址单元。 3、特殊功能寄存器。专用寄存器除以单元地址形式给出外,还可以以寄存器符号形式给出。例如下面我们分析的一条指令 MOV IE,#85H 前面的学习我们已知道,中断允许寄存器IE的地址是80H,那么也就是此指令也可以以 MOV 80H,#85H的形式表述。

2015-2016-01 存储器练习题 带参考答案分析

存储器练习题参考答案 一、选择题(75+7题) 1、计算机系统中的存储器系统是指( D )。 A、RAM存储器 B、ROM存储器 C、主存储器 D、主存储器和外存储器 2、存储器是计算机系统中的记忆设备,它主要用来( C )。 A、存放数据 B、存放程序 C、存放数据和程序 D、存放微程序 3、存储单元是指( B )。 A、存放一个二进制信息位的存储元 B、存放一个机器字的所有存储元集合 C、存放一个字节的所有存储元集合 D、存放两个字节的所有存储元集合 4、计算机的存储器采用分级存储体系的主要目的是( D )。 A、便于读写数据 B、减小机箱的体积 C、便于系统升级 D、解决存储容量、价格和存取速度之间的矛盾 5、存储周期是指( C )。 A、存储器的读出时间 B、存储器的写入时间 C、存储器进行连续读和写操作所允许的最短时间间隔 D、存储器进行连续写操作所允许的最短时间间隔 6、和外存储器相比,内存储器的特点是( C )。 A、容量大,速度快,成本低 B、容量大,速度慢,成本高 C、容量小,速度快,成本高 D、容量小,速度快,成本低 7、某计算机字长16位,它的存储容量64K,若按字编址,那么它的寻址范围是( B )。 A、0~64K B、0~32K C、0~64KB D、0~32KB 8、某SRAM芯片,其存储容量为64K×16位,该芯片的地址线和数据线数目为( D )。 A、64,16 B、16,64 C、64,8 D、16,16 9、某DRAM芯片,其存储容量为512K×8位,该芯片的地址线和数据线数目为( D )。 A、8,512 B、512,8 C、18,8 D、19,8 10、某机字长32位,存储容量1MB,若按字编址,它的寻址范围是( C )。 A、0~1M B、0~512KB C、0~256K D、0~256KB 11、某计算机字长32位,其存储容量为4MB,若按字编址,它的寻址范围是( A )。 A、0~1M B、0~4MB C、0~4M D、0~1MB 12、某计算机字长32位,其存储容量为4MB,若按半字编址,它的寻址范围( C )。 A、0~4MB B、0~2MB C、0~2M D、0~1MB 13、某计算机字长为32位,其存储容量为16MB,若按双字编址,它的寻址范围是( B )。 A、0~16MB B、0~8M C、0~8MB D、0~16MB 14、某SRAM芯片,其容量为512×8位,加上电源端和接地端,该芯片引出线的最小数目应为( D )。 A、23 B、25 C、50 D、19 15、相联存储器是按( C )进行寻址的存储器。 A、地址指定方式 B、堆栈存取方式 C、内容指定方式 D、地址指定与堆栈存取方式结合 16、主存储器和CPU之间增加cache的目的是( A )。 A、解决CPU和主存之间的速度匹配问题 B、扩大主存储器的容量

地址总线,字长,内存容量,寻址范围之间的计算

地址总线,字长,内存容量,寻址范围之间的计算 处理机字长是指处理机能同时处理(或运算)的位数,即同时处理多少位(bit)数据。比如Intel Pentium 4处理器字长为32位,它能同时处理32位的数据,也即它的数据总线为32位。以前的处理器比如8086,则为16位处理器,现在新兴的64位处理器,它的数据吞吐能力更强,即能同时对64位数据进行运算。处理器的字长越大,说明它的运算能力越强。如果讲处理器的寻址范围,则要看处理器的地址总线的位数,而不是它的字长!这个要明白!比如Intel Pentium 4处理器的数据总线为32位,地址总线也是32位。8086的数据总线为16位,地址总线为20位。新兴的64位处理器的数据总线为64位,地址总线大部分是32位。这个清楚之后,再看地址总线与寻址范围的关系。存储单元是以字节(byte)为单位,N根地址总线能访问2的N次方个存储单元。于是有32位地址总线可以访问2的32次方个存储单元,即4GB。8086处理器字长是16位,它的地址总线是20位,所以能访问2的20次方个存储单元,即1MB。另外一点需要注意的就是,如果有些题目说:按“字”寻址,就说明是存储单元大小为字长的位数,按“字节”寻址,说明存储单元式字节的大小(个人理解,没有考证) 下面通过举几个例子,来说明这些关系 1、某计算机字长32位,存储容量8MB。按字编址,其寻址范围为(0~2M-1) 计算步骤:8MB字节=8*1024*1024*8位。所以8MB/32位=2M. 2、某计算机字长32位,其存储容量为4MB,若按半字编址,它的寻址范围是(0-2M-1)计算步骤:若按半字就是16位了4MB=4*1024*1024*8位,所以4MB/16 = 2M; 3、字长为32位.存储器容量为64KB.按字编址的寻址范围是多少计算步骤:64K字节=64*1024*8位. 所以64KB/32位=(64*1024*8)/32=16*1024=16K 故寻址范围为: 0-16K-1 4、某机字长32位,存储容量1MB,若按字编址,它的寻址范围是什么? 解释:容量1M=2*1024*1024 位一个字长是32 位 所以,寻址范围是二者相除=256K 5、对于存储器的容量扩展,有位扩展,字扩展,字位扩展三种形式。对于字位扩展,一个存储器的容量为M*N位,若使用L*K位存储器芯片,那么,这个存储器共需(M*N)/(L*K)个存储器芯片。 下面分析一下字位扩展的习题:设有一个具有14位地址和8位字长的存储器,问该存储器容量有多大?如果存储器由1K*1静态存储器组成,需多少芯片?多少位地址作芯片选择? 分析:位扩展指的是用多个存储器对字长进行扩充。本题中所用的存储器芯片字长是1位,要扩展到8位,就得用8片。原题中说,“存储器由1K*1静态存储器组成”,其中,1K 指的是存储单元个数,它决定地址的位数,因为2的10次方是1K,所以它用10根地址线,4位地址线用来作芯片选择。

寄存器与7种寻址方式

一、寄存器 总共有14个16位寄存器,8个8位寄存器 通用寄存器: 数据寄存器: AH(8位) AL(8位) AX(16位) (AX和AL又称累加器) BH(8位) BL(8位) BX(16位) (BX又称基址寄存器,唯一作为存储器指针使用寄存器) CH(8位) CL(8位) CX(16位) (CX用于字符串操作,控制循环的次数,CL 用于移位) DH(8位) DL(8位) DX(16位) (DX一般用来做32位的乘除法时存放被除数或者保留余数) 指针寄存器: SP 堆栈指针(存放栈顶地址) BP 基址指针(存放堆栈基址偏移) 变址寄存器:主要用于存放某个存储单元地址的偏移,或某组存储单元开始地址的偏移, 即作为存储器(短)指针使用。作为通用寄存器,它们可以保存16位算术逻辑运算中的操 作数和运算结果,有时运算结果就是需要的存储单元地址的偏移. SI 源地址(源变址寄存器) DI 目的地址(目的变址寄存器) 控制寄存器: IP 指令指针 FLAG 标志寄存器 ①进位标志CF,记录运算时最高有效位产生的进位值。

②符号标志SF,记录运算结果的符号。结果为负时置1,否则置0。 ③零标志ZF,运算结果为0时ZF位置1,否则置0。 ④溢出标志OF,在运算过程中,如操作数超出了机器可表示数的范围称为溢出。溢出时OF位置1,否则置0。 ⑤辅助进位标志AF,记录运算时第3位(半个字节)产生的进位值。 ⑥奇偶标志PF,用来为机器中传送信息时可能产生的代码出错情况提供检验条件。当结果操作数中1的个数为偶数时置1,否则置0。 段寄存器 CS 代码段IP DS 数据段 SS 堆栈段SP BP ES 附加段 二、七种寻址方式: 1、立即寻址方式: 操作数就包含在指令中。作为指令的一部分,跟在操作码后存放在代码段。 这种操作数成为立即数。立即数可以是8位的,也可以是16位的。 例如: 指令: MOV AX,1234H 则: AX = 1234H 2、寄存器寻址方式: 操作数在CPU内部的寄存器中,指令指定寄存器号。 对于16位操作数,寄存器可以是:AX、BX、CX、DX、SI、DI、SP和BP等。对于8位操作数,寄存器可以是AL 、AH、BL、BH、CL、CH、DL、DH。 这种寻址方式由于操作数就在寄存器中,不需要访问存储器来取得操作数 因而可以取得较高的运算数度。

存储器寻址方式

存储器寻址方式 存储器寻址方式的操作数存放在主存储器中,用其所在主存的位置表示操作数。在这种寻址方式下,指令中给出的是有关操作数的主存地址信息。8088的存储器空间是分段管理的。程序设计时采用逻辑地址;由于段地址在默认的或用段超越前缀指定的段寄存器,所以采用偏移地址,称之为有效地址(Effective Address, EA) 1.直接寻址 在这种寻址方式下,指令中直接包含了操作数的有效地址,跟在指令操作码之后。其默认的段地址在DS段寄存器中,可以采用段超越前缀。 例将数据段中偏移地址2000H处的内存数据送至AX寄存器。 MOV AX, [2000H] 该指令中给定了有效地址2000H, 默认与数据段寄存器DS一起构成操作数所在存储单元的物理地址。 如果DS=1429H,则操作数所在的物理地址为1429H*16+2000H=16920H. 该指令的执行结果是将16920H单元的内容传送至AX寄存器,其中,高字节内容送AH寄存器,低字节内容送AL寄存器。

MOV AX, [2000H];指令代码:A1 00 20 例: 将附加段中偏移地址2000H 处的内存数据送至AX 寄存器。 MOV AX, ES:[2000H]; 指令代码:26 A1 00 20 变量指示内存的一个数据,直接引用变量就是采用直接寻址方式。变量应该在数据段进行定义,常用的变量定义伪指令DB 和DW 分别表示字节变量和字变量,例如 WV AR DW 1234H; 定义字变量WV AR ,它的初值是1234H 这样,标示符WV AR 表示具有初值1234H 的字变量,并由汇编程序为它内存分配了两个连续的字节单元。假设它在数据段偏移地址是0010H 。 例:将数据段的变量WV AR (即该变量名指示的内存单元数据)送至AX 寄存器。 MOV AX, WV AR; 指令功能: 上述指令实质就是如下指令: AX WV AR AX DS :[0010H]

s7—200 CPU存储器的范围2013

S7—200 CPU存储器的范围和特性2013 S7—200操作数的范围

①V存储器都可以存储在永久存储区。 ②LB60—LB63为STEP 7-Micro/WIN32的3.0版本或以后的版本保留。 一.存储器的数据类型与寻址方式 1.位、字节、字和双字 二进制数1位(bit)只有0和1两种不同的取值,可用来表示开关量(或称数字量)的两种不同的状态:通和断。 8位二进制数组成1个字节(Byte),第0位最低位(LSB)、第7位为最高位(MSB)。两个字节组成1字(Word)。两个字组成1双字(D表示双字)。 数据的位数与取值范围 B(字节),8位值:无符号数十进制:0~255 ;十六进制:0~FF W(字),16位值:无符号数十进制:0~65535;十六进制:0~FFFF D(双字),32位值:无符号数十进制:0~4294967295;十六进制:0~FFFFFFFF 2.数据的存取方式 位存储单元的地址由字节地址和位地址组成,如:I3.2中的I表示区域标识符input,字节地址为3,位地址为2。这种存取方式称为“字节.位”寻址方式。 输入字节IB3(B是Byte的缩写)由I3.0~I3.7这8位组成。相邻的两个字节组成一个字,VW100表示由VB100和VB101组成的1个字,V表示区域标识符;W表示字(Word);100表示起始字节的地址。 VD100表示由VB100~VB103组成的双字,V为区域标识符;D表示存取双字(Double Word);100为起始字节的地址。 二.存储取的寻址(I、Q、V、M、SM、L均可按位、字节、字和双字 来存取) 1.输入映像寄存器(I)寻址 输入映像寄存器的标识符为I(I0.0~I15.7),在每个扫期描周的开始,CP 对输入点进行采样,并将采样值存入映像寄存器中。 2.输出映像寄存器(Q)寻址 输出映像寄存器的标识符为Q(Q0.0~Q15.7),在扫期描周的末尾,CPU输出映像寄存器数据传输给输出模块,再由后者驱动外部负载。 3.量存储器(V)寻址 在程序执行的过程中存放中间结果,或用来保存与工序或任务有关的其他数据。 4.位存储区(M)区寻址 内部存储器标志位(M0.0~M31.7)用来保存控制继电器的中间操作状态或其他控制信息。

实验二 存储器寻址及IO操作实验

实验二存储器寻址及I/O操作实验 一、实验目的 1)掌握TMS320VC5402的存储器空间分配 2)熟悉TMS320C54x的各种存储器操作指令 3)掌握各种寻址方式 4)掌握I/O口操作方法 二、实验设备 1)微机一套,DSP硬件开发器一套,DSP实验箱一套 2)程序及链接命令文件见:D:\EXPER\EXP2目录下的.asm 和.cmd文件 三、开关设置 将开关K9拨到右边,即仿真器选择连接右边的CPU2。 四、实验步骤: 做过了实验一,相信各位同学对于CCS的基本操作已经了解,故在此不再赘述。 1)打开CCS,新建项目文件,添加源程序和链接命令文件,编译程序,加载目标代码文件。2)打开各个观察窗口,请注意,本实验需要打开三个内存窗口:Data页的0x2000(.data 段)起始处、Data页的0x3100(.stack段)之前、以及Program页的0x1f00起始处 3)按照实验一的步骤设置断点,观察方法也基本相同,下面仅对各个小段程序进行简要说明:bk1: 立即数寻址方式 bk2: 绝对地址寻址方式 bk3: 绝对地址寻址方式 bk4: 累加器寻址方式 bk5: 直接寻址方式(DP为基准) bk6: 直接寻址方式(SP为基准) bk7: 间接寻址方式 bk8: 存储器映射寄存器寻址方式 bk9: 堆栈寻址方式 bk10: 将程序存储器0x1000为起始地址的100个字复制到数据存储器的0x3100为起始地址的空间中 3)全速执行程序,并调整K1~K8开关,观察输出对应的发光管LED1~8是否点亮。 五、实验报告 1)写出各个BK1到BK10的每一小段都使用了那些寻址方式?注意一条指令可以含有多种寻址方式。 2)写出BK1到BK9每段发生变化的存储器单元的内容,以及BK10实现的功能。 3)自己编写一段程序插入到BK11段后面,使数存单元2000H和~2007H清零,将2100H开始的连续100个单元清零分别初始化为0,2,4… 198. 4)读TESTIO段,说明为何程序连续运行后,开关K1~K8的状态会改变LED1~8的显示。 六、源程序及链接命令文件 1、exp2.asm ************************************************* * FileName: ex2.asm * * Description: 数据存储器和程序存储器及I/O实验* * Write by: lanrunze * * Date: 2004-2-10 *

51单片机存储器内部结构

MCS-51单片机在物理结构上有四个存储空间: 1、片内程序存储器 2、片外程序存储器 3、片内数据存储器 4、片外数据存储器 但在逻辑上,即从用户的角度上,8051单片机有三个存储空间: 1、片内外统一编址的64K的程序存储器地址空间(MOVC) 2、256B的片内数据存储器的地址空间(MOV) 3、以及64K片外数据存储器的地址空间(MOVX) 在访问三个不同的逻辑空间时,应采用不同形式的指令(具体我们在后面的指令系统学习时将会讲解),以产生不同的存储器空间的选通信号。 程序内存ROM 寻址范围:0000H ~ FFFFH 容量64KB EA = 1,寻址内部ROM;EA = 0,寻址外部ROM 地址长度:16位 作用:存放程序及程序运行时所需的常数。 七个具有特殊含义的单元是: 0000H ——系统复位,PC指向此处; 0003H ——外部中断0入口 000BH —— T0溢出中断入口 0013H ——外中断1入口 001BH —— T1溢出中断入口 0023H ——串口中断入口 002BH —— T2溢出中断入口 内部数据存储器RAM 物理上分为两大区:00H ~ 7FH即128B内RAM 和 SFR区。 作用:作数据缓冲器用。 下图是8051单片机存储器的空间结构图

程序存储器 一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。 MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。 当=1时,程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部ROM空间。 当=0时,程序从外部存储器开始执行,例如前面提到的片内无ROM的8031单片机,在实际应用中就要把8031的引脚接为低电平。 8051片内有4kB的程序存储单元,其地址为0000H—0FFFH,单片机启动复位后,程序计数器的内容为0000H,所以系统将从0000H单元开始执行程序。但在程序存储中有些特殊的单元,这在使用中应加以注意: 其中一组特殊是0000H—0002H单元,系统复位后,PC为0000H,单片机从

三态内容寻址存储器(TCAM)工作 原理

CAM是Content Addressable Memory的缩写,即“内容寻址存储器”的意思,它是在传统的存储技术的基础上实现的联想记忆存储器,关于CAM的基本操作有三种: 1).写操作:输入地址和数据,将数据写到指定的地址上,写入速度与RAM相同; 2).读操作:输入地址,返回该地址上的数据,读取速度与RAM相同;

3).查找操作:输入待查数据,返回该数据被存储的地址。这也是CAM的最主要用途,它能够从巨大的数据库中进行快速查找,并且返回最佳的匹配地址,最快查找速度能达到每秒一亿次以上。 TCAM是Ternary Content Addressable Memory的缩写,即“三态内容寻址存储器”的意思,它是从CAM的基础上发展而来的。一般的CAM存储器中每个bit位的状态只有两个,“0”或“1”,而TCAM中每个bit位有三种状态,除掉“0”和“1”外,还有一个“don’t care”状态,所以称为“三态”,它是通过掩码来实现的,正是TCAM的这个第三种状态特征使其既能进行精确匹配查找,又能进行模糊匹配查找,而CAM没有第三种状态,所以只能进行精确匹配查找。 TCAM器件的生产厂商主要有Cypress、IDT和Netlogic三家。这三家分别将TCAM器件称作Network Search Engine(NSE)、Network Search Accelerator(NSA)和Knowledge-based Processor(KBP)。 TCAM器件在通信领域种有非常广泛的应用,主要有: 1).ATM Switching设备中的VCI/VPI转发和ATM-to-MPLS or ATM-to-TCP-Flow地址映射表项的存储和查找; 2).Ethernet Switching设备中的二层MAC地址、ARP/RARP解析和三层IP路由表项的存储和查找; 3).Emerging Protocols and functions方面的MPLS label表项的存储和查找; 4).Packet Classification业务中的Enforce security、Enforce departmental policies和QOS检测表项的存储和查找; 5).安全防护设备中的FIB/LBT、MFIB及ACL表项存储和查找。 传统的表项查找方法有很多,主要有:线型查找法、二叉树查找法、哈希表查找等,这些查找方法都是基于SRAM的软件查找方法,共同特点是查找速度慢。线型查找法需要遍历表中的所有表项;二叉树查找法需要遍历树中大多数节点,而且查找速度受树的深度影响较大;哈希表查找法是软件查找中计较快的一种方法,它是根据设定的哈希函数 H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈

关于寻址范围解答

设有一个1MB容量的存储器,字长32位,问:按字节编址,字编址的寻址范围以及各自的寻址范围大小? 如果按字节编址,则 1MB = 2^20B 1字节=1B=8bit 2^20B/1B = 2^20 地址范围为0~(2^20)-1,也就是说需要二十根地址线才能完成对 1MB空间的编码,所以地址寄存器为20位,寻址范围大小为2^20=1M 如果按字(这里所讲的字就是一个存储字长32位,不是“一个字不是等于两个字节”)编址,则 1MB=2^20B 1字=32bit=4B 2^20B/4B = 2^18 地址范围为0~2^18-1,也就是说我们至少要用18根地址线才能完成对1MB空间的编码。因此按字编址的寻址范围是2^18 以上题目注意几点: 1.区分寻址空间与寻址范围两个不同的概念,寻址范围仅仅是一个数字范围,不带有单位 而寻址范围的大小很明显是一个数,指寻址区间的大小 而寻址空间指能够寻址最大容量,单位一般用MB、B来表示;本题中寻址范围为0~(2^20)-1,寻址空间为1MB。

2.按字节寻址,指的是存储空间的最小编址单位是字节,按字编址,是指存储空间的最小编址单位是字,以上题为例,总的存储器容量是一定的,按字编址和按字节编址所需要的编码数量是不同的,按字编址由于编址单位比较大(1字=32bit=4B),从而编码较少,而按字节编址由于编码单位较小(1字节=1B=8bit),从而编码较多。 3.区别M和MB。 M为数量单位。1024=1K,1024K=1M MB指容量大小。1024B=1KB,1024KB=1MB. 《知识点解析》 一、什么叫寻址空间? 寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题。数据在存储器(RAM)中存放是有规律的,CPU在运算的时候需要把数据提取出来就需要知道数据在那里,这时候就需要挨家挨户的找,这就叫做寻址,但如果地址太多超出了CPU的能力范围,CPU就无法找到数据了。CPU最大能查找多大范围的地址叫做寻址能力,CPU的寻址能力以字节为单位。 通常人们认为,内存容量越大,处理数据的能力也就越强,但内存容量不可能无限的大,它要受到系统结构、硬件设计、制造成本等多方面因素的制约,一个最直接的因素取决于系统的地址总线的地址寄存器的宽度(位数)。 计算机的寻找范围由总线宽度(处理器的地址总线的位数)决定的,也可以理解为cpu 寄存器位数,这二者一般是匹配的。 Intel公司早期的CPU产品的地址总线和地址寄存器的宽度为20位,即CPU的寻址能力为2^20=1024*1024字节=1024K字节=1M字节;286的地址总线和地址寄存器的宽度为24位,CPU的寻址能力为2^24=1024*4*1024*4B=4*1024*4KB=16M;386及386以上的地址总线和地址寄存器的宽度为32位,CPU的寻址能力为2^32=4096M字节=4G字节。也就是说,如果机器的CPU过早,即使有很大的内存也不能得到利用,而对于现在的PⅡ级的CPU,其寻址能力已远远超过目前的内存容量。 由此推出:地址总线为N位(N通常都是8的整数倍;也说N根数据总线)的CPU 寻址范围是2的N次方字节,即2^N(B)。

相关文档
相关文档 最新文档