当前位置:首页 » 存储配置 » 八管存储器

八管存储器

发布时间: 2025-04-24 14:06:07

A. 分析at89s52单片机的存储器结构

1.程序存储器

设计人员编写的程序存放在微处理器的程序存储器中。

at89s52具有64kb程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息,程序存储器的结构如图1所示。

图1 at89s52程序存储器的结构

at89s52片内片外的程序存储器在统一逻辑空间中,地址从0000h~ffffh,共有64k字节范围。引脚接高电平时,程序从片内程序存储器0000h开始执行,即访问片内存储器。当pc值超出片内rom容量时,会自动转向片外程序存储器空间执行。引脚接低电平时,迫使系统全部执行片外程序存储器0000h开始存放的程序。

2.数据存储器

at89s52 有256 字节片内数据存储器。地址为00h~ffh。这256个单元共分为两部分。其一是地址从00h~7fh单元(共128个字节)为用户数据ram。从80h~ffh地址单元(也是128个字节)为特殊寄存器(sfr)单元。高128 字节与特殊功能寄存器重叠,也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。

在00h~1fh共32个单元中被均匀地分为四块,每块包含八个8位寄存器,均以r0~r7来命名,称这些寄存器为通用寄存器。这四块中的寄存器都称为r0~r7,利用psw的第3和第4位(rs0和rs1),即可选中这四组通用寄存器。

内部数据存储器的20h—2fh单元为位寻址区,可作为一般单元用字节寻址,也可对它们的位进行寻址,位寻址区地址如表1所示

表1 ram位寻址区地址表

3. 中断服务程序的入口地址

在程序存储区中,为中断服务程序保存了一段中断服务程序的入口地址:其中一组特殊单元是0003h—0032h,各个单元各有用途,它们被分为六段,每个段8个字节,专门留给中断服务程序使用,被称为中断矢量区。at89s52共有8个中断源,6个中断矢量,它们的定义如下表2所,

表2 中断服务程序的入口地址

4.特殊功能寄存器sfr(special? function register)

特殊功能寄存器是指有特殊用途的寄存器集合,也称为专用寄存器,本质上是一些具有特殊功能的片内ram单元,反映单片机的运行状态,很多功能也通过特殊功能寄存器来定义和控制程序的执行。

at89s52单片机内部高128(80~ffh)地址分配给特殊功能寄存器。这个地址空间和芯片内数据存储器的高128字节地址完全重叠,但两者在物理硬件上是完全独立的,用寻址方式来区分这个完全重叠的地址空间。使用直接寻址方式访问这个地址空间时,访问的是特殊功能寄存器;使用间接寻址方式访问这个地址空间时,访问的是数据存储器。

at89s52有32个特殊功能寄存器,它们被离散地分布在内部ram的80h~ffh地址中,这些寄存的功能已作了专门的规定,用户不能修改其结构。

5.几个注意问题

(1)地址的重叠性

单片机中的所有存储器都必须分配地址,可以寻址的地址范围为64kb,数据存储器与程序存储器都占用相同的地址。

程序存储器中片内片外0000h~0ffffh低4kb地址完全重叠,但是我们使用引脚进行区分:=0时,选择片外,=1时,选择片内,这样就完全区分开来了。

数据存储器中片内外0000h~00ffh的256个单元地址完全重叠,片内外数据的访问采用不同指令来区分:mov指令访问片内数据存储器,movx指令访问片外数据存储器。

(2)程序存储器(rom)与数据存储器(ram)的区分

程序存储器(rom)与数据存储器(ram)的区分在使用上是严格区分的,程序存储器只能放置程序指令及常数表格,对程序存储器中数据的访问只可以使用movc指令。而数据存储器则存放数据,片内外的操作指令分别用mov,movx进行操作。

(3)位地址空间的区域划分

片内ram中的20h~2fh的128位,以及sfr中的位地址,这些位寻址单元与位指令集构成了位处理器系统

B. 下列有关存储器读写速度的排列,正确的是()

答案是B,Cache>RAM>硬盘>软盘。

Cache:高速缓冲存储器(Cache)是位于cpu和内存之间的存储器,是一个读写速度比内存更快的存储器,当cpu向内存中读取或写入数据的时候买这些数据也会存入Cache中。

当cup再需要这些数据的时候,就会直接去Cache中读取,而不是内存中,当然,若需要的数据在Cache中没有,cpu会再去内存中读取。

RAM:随机存储器(Random Access Memory)表示既可以从中读取数据,也可以写入数据。当机器电源关闭时,存于其中的数据就会丢失。我们通常购买或升级的内存条就是用作电脑的内存。

内存条(SIMM)就是将RAM集成块集中在一起的一小块电路板,它插在计算机中的内存插槽上,以减少RAM集成块占用的空间。目前市场上常见的内存条有4M/条、8M/条、16M/条等。

硬盘:传输速率(Data Transfer Rate)硬盘的数据传输率是指硬盘读写数据的速度,单位为兆字节每秒(MB/s)。硬盘数据传输率又包括了内部数据传输率和外部数据传输率。

内部传输率(Internal Transfer Rate) 也称为持续传输率(Sustained Transfer Rate),它反映了硬盘缓冲区未用时的性能。内部传输率主要依赖于硬盘的旋转速度。

外部传输率(External Transfer Rate)也称为突发数据传输率(Burst Data Transfer Rate)或接口传输率,它标称的是系统总线与硬盘缓冲区之间的数据传输率,外部数据传输率与硬盘接口类型和硬盘缓存的大小有关。

Fast ATA接口硬盘的最大外部传输率为16.6MB/s,而Ultra ATA接口的硬盘则达到33.3MB/s。

软式磁盘驱动器则称FDD,软盘片是覆盖磁性涂料的塑料片,用来储存数据文件,磁盘片的容量有5.25”的1.2MB,3.5”的1.44MB。

(2)八管存储器扩展阅读:

选用基本原则:

1.内部存储器与外部存储器

当确定了存储程序代码和数据所需要的存储空间之后,设计工程师将决定是采用内部存储器还是外部存储器。

通常情况下,内部存储器的性价比最高但灵活性最低,因此设计工程师必须确定对存储的需求将来是否会增长,以及是否有某种途径可以升级到代码空间更大的微控制器。

2.引导存储器

在较大的微控制器系统或基于处理器的系统中,设计工程师可以利用引导代码进行初始化。应用本身通常决定了是否需要引导代码,以及是否需要专门的引导存储器。某些微控制器既有内部存储器也有外部寻址总线,在这种情况下,引导代码将驻留在内部存储器中,而操作代码在外部存储器中。

3.配置存储器

对于现场可编程门阵列(FPGA)或片上系统(SoC),人们使用存储器来存储配置信息。这种存储器必须是非易失性EPROM、EEPROM或闪存。

大多数情况下,FPGA采用SPI接口,但一些较老的器件仍采用FPGA串行接口。串行EEPROM或闪存器件最为常用,EPROM用得较少。

4.程序存储器

所有带处理器的系统都采用程序存储器,但设计工程师必须决定这个存储器是位于处理器内部还是外部。在做出了这个决策之后,设计工程师才能进一步确定存储器的容量和类型。

在大多数嵌入式系统中,人们利用闪存存储程序以便在线升级固件。代码稳定的较老的应用系统仍可以使用ROM和OTP存储器,但由于闪存的通用性,越来越多的应用系统正转向闪存。

5.数据存储器

与程序存储器类似,数据存储器可以位于微控制器内部,或者是外部器件,但这两种情况存在一些差别。

有时微控制器内部包含SRAM(易失性)和EEPROM(非易失)两种数据存储器,但有时不包含内部EEPROM,在这种情况下,当需要存储大量数据时,设计工程师可以选择外部的串行EEPROM或串行闪存器件。

当需要外部高速数据存储器时,通常选择并行SRAM并使用外部串行EEPROM器件来满足对非易失性存储器的要求。一些设计还将闪存器件用作程序存储器,但保留一个扇区作为数据存储区。这种方法可以降低成本、空间并提供非易失性数据存储器。

针对非易失性存储器要求,串行EEPROM器件支持I2C、SPI或微线(Microwire)通讯总线,而串行闪存通常使用SPI总线。由于写入速度很快且带有I2C和SPI串行接口,FRAM在一些系统中得到应用。

6.易失性和非易失性存储器

存储器可分成易失性存储器或者非易失性存储器,前者在断电后将丢失数据,而后者在断电后仍可保持数据。设计工程师有时将易失性存储器与后备电池一起使用,使其表现犹如非易失性器件,但这可能比简单地使用非易失性存储器更加昂贵。

在有连续能量供给的系统中,易失性或非易失性存储器都可以使用,但必须基于断电的可能性做出最终决策。如果存储器中的信息可以在电力恢复时从另一个信源中恢复出来,则可以使用易失性存储器。

选择易失性存储器与电池一起使用的另一个原因是速度。尽管非易失存储器件可以在断电时保持数据,但写入数据(一个字节、页或扇区)的时间较长。

7.串行存储器和并行存储器

在定义了应用系统之后,微控制器的选择是决定选择串行或并行存储器的一个因素。对于较大的应用系统,微控制器通常没有足够大的内部存储器,这时必须使用外部存储器,因为外部寻址总线通常是并行的,外部的程序存储器和数据存储器也将是并行的。

较小的应用系统通常使用带有内部存储器但没有外部地址总线的微控制器。如果需要额外的数据存储器,外部串行存储器件是最佳选择。大多数情况下,这个额外的外部数据存储器是非易失性的。

根据不同的设计,引导存储器可以是串行也可以是并行的。如果微控制器没有内部存储器,并行的非易失性存储器件对大多数应用系统而言是正确的选择。但对一些高速应用,可以使用外部的非易失性串行存储器件来引导微控制器,并允许主代码存储在内部或外部高速SRAM中。

8.EEPROM与闪存

存储器技术的成熟使得RAM和ROM之间的界限变得很模糊,如今有一些类型的存储器(如EEPROM和闪存)组合了两者的特性。这些器件像RAM一样进行读写,并像ROM一样在断电时保持数据,它们都可电擦除且可编程,但各自有它们优缺点。

从软件角度看,独立的EEPROM和闪存器件是类似的,两者主要差别是EEPROM器件可以逐字节地修改,而闪存器件只支持扇区擦除以及对被擦除单元的字、页或扇区进行编程。

对闪存的重新编程还需要使用SRAM,因此它要求更长的时间内有更多的器件在工作,从而需要消耗更多的电池能量。设计工程师也必须确认在修改数据时有足够容量的SRAM可用。

存储器密度是决定选择串行EEPROM或者闪存的另一个因素。市场上可用的独立串行EEPROM器件的容量在128KB或以下,独立闪存器件的容量在32KB或以上。

如果把多个器件级联在一起,可以用串行EEPROM实现高于128KB的容量。很高的擦除/写入耐久性要求促使设计工程师选择EEPROM,因为典型的串行EEPROM可擦除/写入100万次。闪存一般可擦除/写入1万次,只有少数几种器件能达到10万次。

今天,大多数闪存器件的电压范围为2.7V到3.6V。如果不要求字节寻址能力或很高的擦除/写入耐久性,在这个电压范围内的应用系统采用闪存,可以使成本相对较低。

9.EEPROM与FRAM

EEPROM和FRAM的设计参数类似,但FRAM的可读写次数非常高且写入速度较快。然而通常情况下,用户仍会选择EEPROM而不是FRAM,其主要原因是成本(FRAM较为昂贵)、质量水平和供货情况。设计工程师常常使用成本较低的串行EEPROM,除非耐久性或速度是强制性的系统要求。

DRAM和SRAM都是易失性存储器,尽管这两种类型的存储器都可以用作程序存储器和数据存储器,但SRAM主要用于数据存储器。DRAM与SRAM之间的主要差别是数据存储的寿命。只要不断电,SRAM就能保持其数据,但DRAM只有极短的数据寿命,通常为4毫秒左右。

与SRAM相比,DRAM似乎是毫无用处的,但位于微控制器内部的DRAM控制器使DRAM的性能表现与SRAM一样。DRAM控制器在数据消失之前周期性地刷新所存储的数据,所以存储器的内容可以根据需要保持长时间。

由于比特成本低,DRAM通常用作程序存储器,所以有庞大存储要求的应用可以从DRAM获益。它的最大缺点是速度慢,但计算机系统使用高速SRAM作为高速缓冲存储器来弥补DRAM的速度缺陷。

10、云储存

和传统存储相比,云存储系统具有如下优势:优异性能支持高并发、带宽饱和利用。云存储系统将控制流和数据流分离,数据访问时多个存储服务器同时对外提供服务,实现高并发访问。

C. 为什么存储器一个单元存八位

存储器设定1B=8b的原因,主要是因为多了太浪费,少了不够用,之所以用8只是取了一个恰当的值而已。下边那人的回答根本就答非所问,在这蹭经验的。

热点内容
csforlinux 发布:2025-04-25 13:03:09 浏览:604
存储器24c02 发布:2025-04-25 13:02:01 浏览:341
流血解压吗 发布:2025-04-25 12:39:38 浏览:974
mcryptphp下载 发布:2025-04-25 12:28:49 浏览:796
php乱 发布:2025-04-25 12:19:28 浏览:823
python访问数据库 发布:2025-04-25 12:14:30 浏览:960
android屏幕宽高 发布:2025-04-25 12:02:10 浏览:846
科骏达进入系统密码多少 发布:2025-04-25 11:47:17 浏览:957
安卓系统和苹果笔记本哪个好用 发布:2025-04-25 11:44:20 浏览:206
我的世界国际版服务器怎么玩 发布:2025-04-25 11:34:15 浏览:732