CH5存储器

合集下载

《单片机原理及应用》课件01-51单片机基本结构与存储器分配

《单片机原理及应用》课件01-51单片机基本结构与存储器分配

内中断
并行口
外中断
P0 P1 P2 P3
串口模块 TXD RXD
中断模块 INT0 INT1
P0.0~P0.7
P2.0~P2.7
VCC (+5V)
GND
RAM地址 锁存器
RAM
通道0驱动器
通道0锁 存器
通道2驱动器
通道2锁 存器
ROM/ EPROM
程序地址寄存器
PSEN ALE
EA RST
B寄存器 ACC TMP2
片内地址空间:RAM 128B(00H-7FH) SFR 128B(80H-FFH)
128B SFR
128B RAM
FFH 21个SFR分布 在80H-FFH
83个可寻址位
80H 7FH
用户、
堆栈区
30H 2FH
位寻址区
20H 1FH
工作寄存器区
00H
内部RAM组织结构
10
所有的RAM区(位 寻址区、工作寄 存器区)都可以 用于存放数据, 故也称为数据缓 存寄存器
特殊功能寄存器(SFR)
▼特殊功能寄存器SFR(专用寄存器)
专用于控制、选择、管理、存放单片机内部各功能 部件的工作方式、条件、状态、结果的寄存器。
▼不同的SFR管理不同的硬件模块,负责不同的功 17 能——各司其职
换言之:要让单片机实现预定的功能,必须有相应 的硬件和软件,而软件中最重要的一项工作就是对 SFR写命令(要求)。
4 堆栈指针SP
堆栈:
在片内RAM中,指定一个专门的区域来存放某 些特别的数据,它遵循先进后出和后进先出 (LIFO/FILO)的原则,这个RAM区叫堆栈。
功用:
22

89C51存储器配置

89C51存储器配置
1
第二章 单片机的结构和原理
2.3 89C51存储器配置
2.3.1 89C51存储器分类 2.3.2 程序存储器地址空间 2.3.3 数据存储器地址空间
2
2.3.1 89C51存储器分类
程序存储器51 存储器
片外程序存储器 片内数据存储器
数据存储器 RAM
片外数据存储器
3
2.3.2 程序存储器地址空间
1. 通过16位程序计数器PC寻址,最大寻址空间64K 2. 没有指令可以从程序存储空间转移到数据存储空间 3. 片内ROM 4K 0000H~0FFFH
片外ROM 64K 0000H~FFFFH 4. ������������高,访问片内ROM,������������低,访问片外ROM 5. 8031没有片内ROM,������������接地 6. 89C51 片内、片外ROM存取速度相等 7. ROM特殊存储空间(保留的存储单元) 8. 访问ROM 的指令 ,MOVC
P1
P0
EA VCC
ALE
P2 RD P3 WR
锁存器 I/O 页面地址
RAM 数据
6116 地址
WE OE
89C51 外扩片外RAM接法 图2.12 89C51外扩片外RAM接法
Flash ROM队列 FFFF
片外
15
RAM队列
FFFF
片外 RAM
& I/O口
EA=0 片外
0FFF 0000
EA=1 片内

志位 进位)
寄存器组选择
溢出 (补码 运算溢 出)
保留
奇\ 位意义 偶校 验位
12
RS1
RS2
寄存器组
0
0

[微机原理课件].ch5-2

[微机原理课件].ch5-2

② 可以利用循环,
但每循环一次要修改地址(源地址和目的地址),
必须把地址放在寄存器当中,用寄存器间接寻址来寻找 操作数.
20
得到如下程序: … MOV SI,OFFSET AREA1 MOV DI,OFFSET AREA2
MOV CX,100
AGAIN : MOV AL,[SI] MOV [DI],AL INC INC SI DI ;修改地址指针 ;修改地址指针 ;修改个数
6、MOV DS,1234H
IP不能作为目的操作数
不能用立即数对段寄存器赋值
22
2. PUSH (Push word onto stack)
POP (Pop word off stack)
这是两条堆栈操作指令。
(1) 先回忆一下什么是堆栈,为什么需要堆栈 堆栈——按照先进后出原则组织的一段内存区 域 特点: • 下推式的(规定堆栈设置在堆栈段内)改变SP的 内容,随着推入堆栈内容增加,SP的值减少。
① 调用子程序:将下条指令地址即IP值保留下来
(8088中码段寄存器CS和指令指针IP),
才能保证子程序执行完后准确返回主程序继续执行。
②执行子程序时,通常用到内部寄存器,执行结果会 影响标志位,必须在调用子程序之前将现状保护起来 ③ 子程序嵌套或子程序递归(自调自) 保留许多信息,而且保证正确返回(且后进先出)。 后保留先取出原则(即LIFO-LAST In First out)。 注意:SP——堆栈指针,始终指向栈顶。 SP初值用MOV SP,i m来设定。
下列指令源操作数和目的操作数的寻址方 式分别是什么?
(1) MOV DX,100H (2) MOV BX,[0100H] (3) MOV CX,DATA[SI] (4) MOV ES:[SI],AX (5) ADD AX,[BX][DI] (6) AND AX,BX (7) XOR AX,[BX] (8) MOV AL,DATA [BP][DI]

ch5 数组

ch5 数组

矩阵的压缩存储
1.特殊矩阵的压缩存储
2.稀疏矩阵的压缩存储
矩阵的压缩存储



特殊矩阵:值相同的元素或零元素分布 具有一定规律,如对称矩阵、三角矩阵、 对角矩阵等。 稀疏矩阵:矩阵中有很多零元素,且无 规律。 压缩存储的基本思想是:

为多个值相同的元素只分配一个存储空间; 对零元素不分配存储空间。
Loc(aij)
Loc(aij)=Loc(a00)+(i×(h2+1)+j)×c
按列优先存储的寻址方法与此类似。
设一个1000 1000的矩阵中有800个非零元素, 若用二维数组存储存放所有的数组元素需要106个存储 单元,而最后影响计算结果的只是那800个非零元素。 因此,需要考虑高效的存储方法,根据数据分布 特征进行压缩存储。
稀疏矩阵的压缩存储——三元组
三元组表:将稀疏矩阵的非零元素对应的三元组所 构成的集合,按行优先的顺序排列成一个线性表。
A=
15 0 0 0 9
0 11 0 0 0
0 0 0 0 0
0 0 6 0 0
0 0 0 0 0
0 0 0 0 0
三元组表=( (0,0,15), (1,1,11), (2,3,6), (4,0,9) )
a12 a22 … am2
… … … …
a1n a2n … amn
数组的基本概念
数组的基本操作
⑴ 存取:给定一组下标,读出对应的数组元素; ⑵ 修改:给定一组下标,存储或修改与其相对应的 数组元素。 存取和修改操作本质上只对应一种操作——寻址
数组应该采用何种方式存储?
数组没有插入和删除操作,不用预留空间,适合采 用顺序存储。
a12 a22 … am2

寄存器结构、存储器管理

寄存器结构、存储器管理

08
例: MOV AX, [BX+03H]
CX——Count可以作计数寄存器使用。 在循环LOOP指令和串处理指令中用作隐含计数器。 例: MOV CX , 200H AGAIN: …… …… LOOP AGAIN ;(CX)-1(CX),结果0转AGAIN DX——Data可以作为数据寄存器使用。 一般在双字长乘除法运算时, 把DX和AX组合在一起存放一个双字长(32位)数,DX用来存放高16位; 对某些I/O操作DX可用来存放I/O的端口地址(口地址 256)。 例: MUL BX ; (AX)(BX)(DX)(AX) 例: IN AL , DX
奇偶标志PF(Parity Flag)
若算术运算的结果有溢出,则OF=1;
否则 OF=0
3AH + 7CH=B6H,产生溢出:OF=1 AAH + 7CH=(1)26H,没有溢出:OF=0
溢出标志OF(Overflow Flag)
3AH+7CH=B6H,就是58+124=182,
什么是溢出
处理器内部以补码表示有符号数 8位表达的整数范围是:+127 ~ -128 16位表达的范围是:+32767 ~ -32768 如果运算结果超出这个范围,就产生了溢出 有溢出,说明有符号数的运算结果不正确
01
AX——(Accumulator)作为累加器。
02
它是算术运算的主要寄存器,
03
所有I/O指令都使用这一寄存器与外部设备交换数据。
04
例: IN AL , 20H
05
OUT 30H , AX
06
BX——Base用作基址寄存器使用。
07
在计算内存储器地址时,经常用来存放基址。
0

第2章51系列单片机系统结构2.2存储器组织

第2章51系列单片机系统结构2.2存储器组织

字节 地址 80H
复位后 初值 FFH
I/O 端口 0(P0 口)
*I/O 端口 1(P1 口)
P1
P1.7 A7H
90H
FFH
*I/O 端口 2(P2 口)
P2
P2.7 B7H P3.7
A0H
FFH
*I/O 端口 3(P3 口) 串行数据缓冲 *串行控制 电源控制及 波特率选择 从地址寄存器 从地址掩蔽寄存器



(1) 工作寄存器区。该区域容量为32个字节,分为 四个区,每区8个字节,对应R0~R7寄存器名。 因此,R0的物理地址可能是00H,也可能是08H、 10H 或18H;同理,R1的物理地址可能是01H, 也可能是09H、11H或19H。 任何时候都只能选择四个工作寄存器区中的一个区 作为当前工作寄存器区,当前工作寄存器区由程序 状态字寄存器PSW的b4(RS1)、b3(RS0)位确定,具 体情况4、b3位 当前区 寄存器R7~R0地址 00 0区 07H~00H 01 1区 0FH~08H 10 2区 17H~10H 11 3区 1FH~18H 由于复位后PSW的b4、b3位为00,因此复位后将选择0 区作为当前工作寄存器区。 修改PSW的b4、b3位即可选择不同的工作寄存器区,这 有利于快速保护现场,提高程序执行效率和中断的响应速 度。

SFR 寄存器名 累加器 B 寄存器 助功能寄存器 助功能寄存器 1 时钟控制寄存器 堆栈指针 数据指针低 8 位 数据指针高 8 位 *程序状态字 符号 b7 Acc B AUXR AUXR1 CKCON SP DPL DPH PSW D7H Cy AFH EA BFH IP — IPH — E7H F7 — — —
哈佛体系结构的程序存储器与数据存储器都拥有自己独立 的总线和寻址空间(典型的如DSP,TI的C5000系列)

ch5-刘彦文-第2版-嵌入式系统原理及接口技术

ch5-刘彦文-第2版-嵌入式系统原理及接口技术

在本章,地址总线中的ADDR[26:0]有时也简单
写作A[26:0]。
嵌入式系统原理及接口技术(第2版)
10
教材中表5-5中,当某bank数据总线宽度为8位 时,地址总线中的ADDR0与芯片地址引脚A0连 接,ADDR1与A1连接,依此类推,一一对应连 接。表中当某bank数据总线宽度为16位时,地 址总线中的ADDR0不与存储器芯片连接,而用 ADDR1与芯片地址引脚A0连接。表中当某bank 数据总线宽度为32位时,地址总线中的 ADDR[1:0]不与存储器芯片连接,而用ADDR2 与芯片地址引脚A0连接。
除了bank0,bank7~bank1数据总线的宽度, 可以在特殊功能寄存器中分别设定。另外,特 殊功能寄存器中还可以设定一些其他参数。
嵌入式系统原理及接口技术(第2版)
25
⒈ 存储器控制器13个特殊功能寄存器 13个特殊功能寄存器的名称、地址与Reset值见
教材中表5-9。 ⒉ 数据总线宽度与等待状态控制寄存器
存储控制器有13个特殊功能寄存器,它们中的 一些寄存器,通过设置不同的值,可以允许/禁 止nWAIT;也可以改变ROM/SRAM/SDRAM的总 线读写周期的时间长度等。
另外,虽然特殊功能寄存器不能控制 nXBREQ/nXBACK的定时关系,但是也在这一节 一并给予介绍。
嵌入式系统原理及接口技术(第2版)
嵌入式系统原理及接口技术(第2版)
14
⑵ bank0使用32位数据总线与ROM芯片的连接 图5.3表示bank0与
4片ROM、数据总 线为32位时的连接。
嵌入式系统原理及接口技术(第2版)
15
⒌ bank1~bank7与SRAM芯片的连接 图5.4给出了
使用2片SRAM、 32位数据总线, 连接到bank1 的一个例子。

【汇编】各种寄存器介绍

【汇编】各种寄存器介绍

【汇编】各种寄存器介绍计算机寄存器分类简介:32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)1、数据寄存器数据寄存器主要⽤来保存操作数和运算结果等信息,从⽽节省读取操作数所需占⽤总线和访问存储器的时间。

32位CPU有4个32位的通⽤寄存器EAX、EBX、ECX和EDX。

对低16位数据的存取,不会影响⾼16位的数据。

这些低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的CPU中的寄存器相⼀致。

4个16位寄存器⼜可分割成8个独⽴的8位寄存器(AX:AH-AL、BX:BH-BL、CX:CH-CL、DX:DH-DL),每个寄存器都有⾃⼰的名称,可独⽴存取。

程序员可利⽤数据寄存器的这种“可分可合”的特性,灵活地处理字/字节的信息。

寄存器EAX通常称为累加器(Accumulator),⽤累加器进⾏的操作可能需要更少时间。

可⽤于乘、除、输⼊/输出等操作,使⽤频率很⾼;寄存器EBX称为基地址寄存器(Base Register)。

它可作为存储器指针来使⽤;寄存器ECX称为计数寄存器(Count Register)。

在循环和字符串操作时,要⽤它来控制循环次数;在位操作中,当移多位时,要⽤CL来指明移位的位数;寄存器EDX称为数据寄存器(Data Register)。

在进⾏乘、除运算时,它可作为默认的操作数参与运算,也可⽤于存放I/O的端⼝地址。

在16位CPU中,AX、BX、CX和DX不能作为基址和变址寄存器来存放存储单元的地址,在32位CPU中,其32位寄存器EAX、EBX、ECX和EDX不仅可传送数据、暂存数据保存算术逻辑运算结果,⽽且也可作为指针寄存器,所以,这些32位寄存器更具有通⽤性。

2、变址寄存器32位CPU有2个32位通⽤寄存器ESI和EDI。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1字节=8 bit;1KB=210字节=1024字节;1MB=210KB=1024KB; 1GB=210MB=1024MB;1TB=210GB=1024GB。
2. 最大存取时间: ——访问一次存储器(对指定单元写入或读出)所需要的时间,
这个时间的上限值即最大存取时间,一般为十几ns到几百ns。 从CPU给出有效的存储器地址到存储器输出有效数据所需要的时间
地址总线余下的高位地址线经译码后,做各存储芯片的片选。
通常IO/M信号也参与片选译码。
低位地址线A12~A0直接接在存储芯片上,寻址片内 8K单元; 次高位地址线A15~A13译码后产生片选信号区分 4个存储芯片;
最高位地址线A19~A16及IO/M用作片选信号有效的使能控制。
实际应用中,存储器芯片的片选信号可根据需要选择上述某 种方法或几种方法并用。
这样,32K的地址范围在4个芯片中的分配为:
8K×8芯片 0# 1# 2# 3#
A14 A13
0 0 1 1 0 1 0 1
A12~A0
0…00至1…11 0…00至1…11 0…00至1…11 0…00至1…11
地址范围
0000H—1FFFH 2000H—3FFFH 4000H—5FFFH 6000H—7FFFH
注意:
软件上必须保证这些片选线每次寻址时只能有一位有效,决不允 许多于一位同时有效。
第5章 半导体存贮器
例:用4片6264构成32K×8的存贮区。
1. 全译码法 ——高位地址线A19~A13全部参加译码,产生6264的片选信号。
整个32K×8存储器的地址范围: 00000H— 07FFFH 次高位地址线 A 15~A13译码后产生 仅占用 容量的 8088 1M 32K地址范围。 片选信号区分4个存储芯片; 地址唯一实现 地址唯一实现 最高位地址线A19~A地址连续 全译码的优点 16及IO/M用作 地址连续 全译码的优点 片选信号有效的使能控制。 便于扩充 便于扩充
0
0
1
1
1
0
0
×


Dout
Din
第5章 半导体存储器
6264SRAM与CPU的连接
D0~D7 A0 • • • A12 MEMW MEMR 高位地 址信号 • • • 译码 电路
• • •
D0~D7 A0 • • • A12 WE OE CS1 CS2
第5章 半导体存储器
3-8译码器74LS138

第5章 半导体存储器
5.2 随机存取存储器(RAM)
5.2.1 静态RAM(SRAM)
第5章 半导体存储器
二、典型芯片 1. 6264引脚及其含义
第5章 半导体存储器
2. 工作方式 HM6264BL工作方式真值表(功能表)。
HM6242BL工作方式
CS1 1 × 0 CS2 × 0 1 WE × × 1 OE × × 1 工作方式 低功耗 低功耗 输出禁止 I/O信号 高阻 高阻 高阻
第5章 半导体存储器
第5章 半导体存储器
5.1 半导体存储器概述
作用:存放待加工的原始数据和中间计算结果以及系统或 用户程序等。 目前计算机内存基本上采用半导体存储器。
第5章 半导体存储器
5.1.1 半导体存储器的性能指 标 1. 容量:指一个存储器芯片能存储的二进制信息。 存储器芯片容量=存储单元数×每单元的数据位数 例:6264 8KB = 8K × 8bit 6116 2KB = 2K × 8bit
1 1 1 1 1 1 1 0 0 0 0 0 0 0

G1 G2A G2B 0 0 0 0 0 0 0

C B A 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1

1 1 1 1 0 1 1 1 1 1 0 1 1 1
用户扩展存储器地 址空间的范围决定 注:MEMW=IO/M+WR 了存储芯片的片选 信号的实现方式。
地址总线余下的高位地址 线经译码后,做各存储芯 片的片选。通常IO/M信号 也参与片选译码.
MEMR=IO/M+RD
第5章 半导体存贮器
用户扩展存储器地址空间的范围决定了存储芯片的片选信号的
实现方式。
从应用角度可分为两大类:
随机存取存储器 (RAM) 半导体存储器 (Memory)
RAM具有易失性,可读,可写,常用于存放数据、中间结果等。 ROM在程序执行时只能读不能写。常用于存放程序或不易变的数据。 掩膜ROM不可改写。 可编程PROM、EPROM、E2PROM及FLASH在 一定条件下可改写。
(20~15) 5
特点: ① 线选法也有地址重叠区。 ② 地址不连续,但简单。
第5章 半导体存贮器
例:用线选法产生4片6264 (0#~3#) 片选信号: A16~A13用作片选, A19~A17未用, 其它信号(数据线,读写信号)的 连接同图5-18。 这时,32K存储器的基本地址范围为:
芯片
0#
8K×16bit 8K×8bit
=2(片)
方法—— 两个芯片的地址线、片选信号 及读/写控制线分别互连; 两个芯片的数据线各自独立, 一片作低8位(D0~D7), 另一片 作高8位(D8~D15)。 即,每个16位数据的高、低字 节 分别存于两个芯片,一次读/写 操作同时访问两个芯片中的同地 址单元。具体连接如右。

1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
1
0 × ×
0
0
1 1 1
××× ××× ×××
0
1 1 1
1 1
1 1 1 1 1 1
1
1 1 1
1
1 1 1
1 1 1
1 1 1 1 1 1 1 1 1
ቤተ መጻሕፍቲ ባይዱ
74LS138引脚功能
第5章 半导体存储器
5.4 存储器连接与扩充
若用存贮芯片构成存贮系统,或对已有的存 贮系统进行容量扩充时,需要通过总线将RAM、 ROM芯片同CPU连接起来,并使之协调工作。
需考虑的问题 ① 总线连接(AB、CB、DB) ② 时序配合 ③ 驱动能力
第5章 半导体存贮器
一、位数扩充 例:用8K×8bit的6264扩充形成8K×16bit的芯片组,所需芯片:
A19~A17
000
A16~A13
0111
A12……A0
00…0至11…1
地址范围
0E000H~0FFFFH
1#
2# 3#
000
000 000
1011
1101 1110
00…0至11…1
00…0至11…1 00…0至11…1
16000H~17FFFH
1A000H~1BFFFH 1C000H~1DFFFH
第5章 半导体存贮器
例:用4片6264构成32K×8的存贮区。
1. 全译码法 ——高位地址线A19~A13全部参加译码,产生6264的片选信号。
注:MEMW=IO/M+WR
MEMR=IO/M+RD
整个32K×8存储器的地址范围: 00000H—07FFFH 仅占用 8088 1M 容量的 32K 地址范围。 地址唯一实现 地址连续 全译码的优点 便于扩充
第5章 半导体存贮器
二、单元数扩充 例:用8K×8bit的6264扩充形成32K×8bit的存储区,需要的8K×8 芯片数为: 32K/8K=4(片)
连接时:⑴ A0~A12,D7~D0,R/W等同名信号连接在一起。 ⑵ 由于容量的扩充,增加了两位地址线,译码后产生 4个片选信号,用于区分4个芯片。
3. 其他指标:功耗,工作电源,可靠性,集成度,价格等。
第5章 半导体存储器
5.1.2

半导体存储器的分类
静态RAM(SRAM) 常用于Cache 动态RAM(DRAM)常用于内存条 掩膜ROM 只读存储器 (ROM) 可编程ROM(PROM) 紫外线可擦除的PROM(EPROM) 电可擦除的PROM(EEPROM) 快擦写存储器(Flash Memory)

ROM与CPU的连接同RAM。
第5章 半导体存贮器
扩充连接图

称地址线A0~A12实现片内寻址,A13~A14实现片间寻址。 当单元数与位数都要扩充时,将以上两者结合起来。如: 用8K×8芯片构成32K×16存储区,需要4×2个芯片。 (1)先扩充位数,每2个芯片一组,构成4个8K×16芯片组; (2)再扩充单元数,将这4个芯片组组合成32K×16存储区。
第5章 半导体存贮器
2.部分译码法 ——除片内寻址外的高位地址 的一部分来译码产生片选信号(简单)。
缺点:地址重叠,每个地址有 2 = 2 个重叠地址。 令未用到的高位地址全为0,则称 为基本存贮器地址。
3.线选法 ——用除片内寻址外的高位地 址线中的任一根做为片选信号,直接 接各存储器的片选端来区别各芯片的 地址。
× × 1 × × 1
(1)片选信号:G1•G2A•G2B (2)CBA译码Y0到Y7有效
第5章 半导体存储器
5.3 只读存储器(ROM)
第5章 半导体存储器
典型芯片(27系列) 2716 2K×8bit 2732 4K×8bit 27512 64K×8bit
通常可互换。引脚OE,CE都 为0时,D0~D7端可读到数据。 Vpp=12.5V或更高时,可写 入,有专用写入器。

第5章 半导体存贮器
5.5 8086/8088与存储器连接
以8088系统总线与SRAM连接为例,AB、CB、DB如何连?
相关文档
最新文档