程序存储器与微程序存储器
❶ 存储器可分为哪三类
存储器不仅可以分为三类。因为按照不同的划分方法,存储器可分为不同种类。常见的分类方法如下。
一、按存储介质划分
1. 半导体存储器:用半导体器件组成的存储器。
2. 磁表面存储器:用磁性材料做成的存储器。
二、按存储方式划分
1. 随机存储器:任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无关。
2. 顺序存储器:只能按某种顺序来存取,存取时间和存储单元的物理位置有关。
三、按读写功能划分
1. 只读存储器(ROM):存储的内容是固定不变的,只能读出而不能写入的半导体存储器。
2. 随机读写存储器(RAM):既能读出又能写入的存储器。
二、选用各种存储器,一般遵循的选择如下:
1、内部存储器与外部存储器
一般而言,内部存储器的性价比最高但灵活性最低,因此用户必须确定对存储的需求将来是否会增长,以及是否有某种途径可以升级到代码空间更大的微控制器。基于成本考虑,用户通常选择能满足应用要求的存储器容量最小的微控制器。
2、引导存储器
在较大的微控制器系统或基于处理器的系统中,用户可以利用引导代码进行初始化。应用本身通常决定了是否需要引导代码,以及是否需要专门的引导存储器。
3、配置存储器
对于现场可编程门阵列(FPGA)或片上系统(SoC),可以使用存储器来存储配置信息。这种存储器必须是非易失性EPROM、EEPROM或闪存。大多数情况下,FPGA采用SPI接口,但一些较老的器件仍采用FPGA串行接口。
4、程序存储器
所有带处理器的系统都采用程序存储器,但是用户必须决定这个存储器是位于处理器内部还是外部。在做出了这个决策之后,用户才能进一步确定存储器的容量和类型。
5、数据存储器
与程序存储器类似,数据存储器可以位于微控制器内部,或者是外部器件,但这两种情况存在一些差别。有时微控制器内部包含SRAM(易失性)和EEPROM(非易失)两种数据存储器,但有时不包含内部EEPROM,在这种情况下,当需要存储大量数据时,用户可以选择外部的串行EEPROM或串行闪存器件。
6、易失性和非易失性存储器
存储器可分成易失性存储器或者非易失性存储器,前者在断电后将丢失数据,而后者在断电后仍可保持数据。用户有时将易失性存储器与后备电池一起使用,使其表现犹如非易失性器件,但这可能比简单地使用非易失性存储器更加昂贵。
7、串行存储器和并行存储器
对于较大的应用系统,微控制器通常没有足够大的内部存储器。这时必须使用外部存储器,因为外部寻址总线通常是并行的,外部的程序存储器和数据存储器也将是并行的。
8、EEPROM与闪存
存储器技术的成熟使得RAM和ROM之间的界限变得很模糊,如今有一些类型的存储器(比如EEPROM和闪存)组合了两者的特性。这些器件像RAM一样进行读写,并像ROM一样在断电时保持数据,它们都可电擦除且可编程,但各自有它们优缺点。
参考资料来源:网络——存储器
❷ 电脑的三大件是什么
一、CPU三个组成部分
运算器,控制器,存储器。
二、功能
1、运算器:
计算机运行时,运算器的操作和操作种类由控制器决定。运算器处理的数据来自存储器;处理后的结果数据通常送回存储器,或暂时寄存在运算器中。与ControlUnit共同组成了CPU的核心部分。
2、控制器:
控制单元负责程序的流程管理。正如工厂的物流分配部门,控制单元是整个CPU的指挥控制中心,由指令寄存器IR、指令译码器ID和操作控制器OC三个部件组成,对协调整个电脑有序工作极为重要。
3、存储器:
计算机的存储器可分成内存储器和外存储器。内存储器在程序执行期间被计算机频繁地使用,并且在一个指令周期期间是可直接访问的。
三、与内存的关系
当程序或者操作者对CPU发出指令,这些指令和数据暂存在内存里,在CPU空闲时传送给CPU,CPU处理后把结果输出到输出设备上,输出设备就是显示器,打印机等。
在没有显示完之前,这些数据也保存在内存里,如果内存不足,那么系统自动从硬盘上划分一部分空间作为虚拟内存来用。
但写入和读取的速度 跟物理内存差的很远很远,所以,在内存不足的时候,会感到机器反应很慢,硬盘一直在响。
(2)程序存储器与微程序存储器扩展阅读:
无论哪一个种类的控制单元,原理均为通过控制单元发出的控制信号对CPU各个部分加以控制。控制单元大体可以分为以下两类。
1、微程序式,由微程序读取和发出控制信号。通过被称为微型定序器的简单数字通路(微型电脑)对微程序加以执行
2、硬件型控制单元。由数字通路直接发出控制信号。由于集成电路的规模化及设计技术的进步,此种控制单元已成为可能。
实现运算器的操作,特别是四则运算,必须选择合理的运算方法。它直接影响运算器的性能,也关系到运算器的结构和成本。
另外,在进行数值计算时,结果的有效数位可能较长,必须截取一定的有效数位,由此而产生最低有效数位的舍入问题。选用的舍入规则也影响到计算结果的精确度。
构成存储器的存储介质主要采用半导体器件和磁性材料。存储器中最小的存储单位就是一个双稳态半导体电路或一个CMOS晶体管或磁性材料的存储元,它可存储一个二进制代码。由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器
网络-存储器
网络-运算器
网络-控制单元
❸ 存储器的选用
存储器的类型将决定整个嵌入式系统的操作和性能,因此存储器的选择是一个非常重要的决策。无论系统是采用电池供电还是由市电供电,应用需求将决定存储器的类型(易失性或非易失性)以及使用目的(存储代码、数据或者两者兼有)。另外,在选择过程中,存储器的尺寸和成本也是需要考虑的重要因素。对于较小的系统,微控制器自带的存储器就有可能满足系统要求,而较大的系统可能要求增加外部存储器。为嵌入式系统选择存储器类型时,需要考虑一些设计参数,包括微控制器的选择、电压范围、电池寿命、读写速度、存储器尺寸、存储器的特性、擦除/写入的耐久性以及系统总成本。 1.内部存储器与外部存储器
一般情况下,当确定了存储程序代码和数据所需要的存储空间之后,设计工程师将决定是采用内部存储器还是外部存储器。通常情况下,内部存储器的性价比最高但灵活性最低,因此设计工程师必须确定对存储的需求将来是否会增长,以及是否有某种途径可以升级到代码空间更大的微控制器。基于成本考虑,人们通常选择能满足应用要求的存储器容量最小的微控制器,因此在预测代码规模的时候要必须特别小心,因为代码规模增大可能要求更换微控制器。
市场上存在各种规模的外部存储器器件,我们很容易通过增加存储器来适应代码规模的增加。有时这意味着以封装尺寸相同但容量更大的存储器替代现有的存储器,或者在总线上增加存储器。即使微控制器带有内部存储器,也可以通过增加外部串行EEPROM或闪存来满足系统对非易失性存储器的需求。
2.引导存储器
在较大的微控制器系统或基于处理器的系统中,设计工程师可以利用引导代码进行初始化。应用本身通常决定了是否需要引导代码,以及是否需要专门的引导存储器。例如,如果没有外部的寻址总线或串行引导接口,通常使用内部存储器,而不需要专门的引导器件。但在一些没有内部程序存储器的系统中,初始化是操作代码的一部分,因此所有代码都将驻留在同一个外部程序存储器中。某些微控制器既有内部存储器也有外部寻址总线,在这种情况下,引导代码将驻留在内部存储器中,而操作代码在外部存储器中。这很可能是最安全的方法,因为改变操作代码时不会出现意外地修改引导代码。在所有情况下,引导存储器都必须是非易失性存储器。
3.配置存储器
对于现场可编程门阵列(FPGA)或片上系统(SoC),人们使用存储器来存储配置信息。这种存储器必须是非易失性EPROM、EEPROM或闪存。大多数情况下,FPGA采用SPI接口,但一些较老的器件仍采用FPGA串行接口。串行EEPROM或闪存器件最为常用,EPROM用得较少。
4.程序存储器
所有带处理器的系统都采用程序存储器,但设计工程师必须决定这个存储器是位于处理器内部还是外部。在做出了这个决策之后,设计工程师才能进一步确定存储器的容量和类型。当然有的时候,微控制器既有内部程序存储器也有外部寻址总线,此时设计工程师可以选择使用它们当中的任何一个,或者两者都使用。这就是为什么为某个应用选择最佳存储器的问题,常常由于微控制器的选择变得复杂起来,以及为什么改变存储器的规模也将导致改变微控制器的选择的原因。
如果微控制器既利用内部存储器也利用外部存储器,则内部存储器通常被用来存储不常改变的代码,而外部存储器用于存储更新比较频繁的代码和数据。设计工程师也需要考虑存储器是否将被在线重新编程或用新的可编程器件替代。对于需要重编程功能的应用,人们通常选用带有内部闪存的微控制器,但带有内部OTP或ROM和外部闪存或EEPROM的微控制器也满足这个要求。为降低成本,外部闪存可用来存储代码和数据,但在存储数据时必须小心避免意外修改代码。
在大多数嵌入式系统中,人们利用闪存存储程序以便在线升级固件。代码稳定的较老的应用系统仍可以使用ROM和OTP存储器,但由于闪存的通用性,越来越多的应用系统正转向闪存。
5.数据存储器
与程序存储器类似,数据存储器可以位于微控制器内部,或者是外部器件,但这两种情况存在一些差别。有时微控制器内部包含SRAM(易失性)和EEPROM(非易失)两种数据存储器,但有时不包含内部EEPROM,在这种情况下,当需要存储大量数据时,设计工程师可以选择外部的串行EEPROM或串行闪存器件。当然,也可以使用并行EEPROM或闪存,但通常它们只被用作程序存储器。
当需要外部高速数据存储器时,通常选择并行SRAM并使用外部串行EEPROM器件来满足对非易失性存储器的要求。一些设计还将闪存器件用作程序存储器,但保留一个扇区作为数据存储区。这种方法可以降低成本、空间并提供非易失性数据存储器。
针对非易失性存储器要求,串行EEPROM器件支持I2C、SPI或微线(Microwire)通讯总线,而串行闪存通常使用SPI总线。由于写入速度很快且带有I2C和SPI串行接口,FRAM在一些系统中得到应用。
6.易失性和非易失性存储器
存储器可分成易失性存储器或者非易失性存储器,前者在断电后将丢失数据,而后者在断电后仍可保持数据。设计工程师有时将易失性存储器与后备电池一起使用,使其表现犹如非易失性器件,但这可能比简单地使用非易失性存储器更加昂贵。然而,对要求存储器容量非常大的系统而言,带有后备电池的DRAM可能是满足设计要求且性价比很高的一种方法。
在有连续能量供给的系统中,易失性或非易失性存储器都可以使用,但必须基于断电的可能性做出最终决策。如果存储器中的信息可以在电力恢复时从另一个信源中恢复出来,则可以使用易失性存储器。
选择易失性存储器与电池一起使用的另一个原因是速度。尽管非易失存储器件可以在断电时保持数据,但写入数据(一个字节、页或扇区)的时间较长。
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、云储存
和传统存储相比,云存储系统具有如下优势:优异性能支持高并发、带宽饱和利用。云存储系统将控制流和数据流分离,数据访问时多个存储服务器同时对外提供服务,实现高并发访问。自动均衡负载,将不同客户端的访问负载均衡到不同的存储服务器上。系统性能随节点规模的增加呈线性增长。系统的规模越大,云存储系统的优势越明显, 没有性能瓶颈。高度可靠针对小文件采用多个数据块副本的方式实现冗余可靠,数据在不同的存储节点上具有多个块副本,任意节点发生故障,系统将自动复制数据块副本到新的存储节点上,数据不丢失,实现数据完整可靠;针对大文件采用超安存(S3)编解码算法的方式实现高度可靠,任意同时损坏多个存储节点,数据可通过超安存算法解码自动恢复。该特性可适用于对数据安全级别极高的场合,同时相对于副本冗余的可靠性实现方式大大提高了磁盘空间利用率,不到40%的磁盘冗余即可实现任意同时损坏三个存储节点而不丢失数据。元数据管理节点采用双机镜像热备份的高可用方式容错,其中一台服务器故障,可无缝自动切换到另一台服务器,服务不间断。整个系统无单点故障,硬件故障自动屏蔽。在线伸缩可以在不停止服务的情况下,动态加入新的存储节点,无需任何操作,即可实现系统容量从TB级向PB级平滑扩展;也可以摘下任意节点,系统自动缩小规模而不丢失数据,并自动将再下的节点上的数据备份到其他节点上,保证整个系统数据的冗余数。超大规模支持超大规模集群,理论容量为1024×1024×1024PB。简单通用支持POSIX接口规范,支持Windows/Linux/Mac OS X,用户当成海量磁盘使用,无需修改应用。同时系统也对外提供专用的API访问接口。智能管理一键式安装,智能化自适应管理,简单方便的监控界面,无需学习即可使用。云存储系统所有管理工作由云存储系统管理监控中心完成,使用人员无需任何专业知识便可以轻松地管理整个系统。通过专业的分布式集群监控子系统对所有节点实行无间断监控,用户通过界面可以清楚地了解到每一个节点的运行情况。 尽管我们几乎可以使用任何类型的存储器来满足嵌入式系统的要求,但终端应用和总成本要求通常是影响我们做出决策的主要因素。有时,把几个类型的存储器结合起来使用能更好地满足应用系统的要求。例如,一些PDA设计同时使用易失性存储器和非易失性存储器作为程序存储器和数据存储器。把永久的程序保存在非易失性ROM中,而把由用户下载的程序和数据存储在有电池支持的易失性DRAM中。不管选择哪种存储器类型,在确定将被用于最终应用系统的存储器之前,设计工程师必须仔细折中考虑各种设计因素。
❹ 简述程序和微程序两个的概念和区别。
程序是一系列机器指令的有序集合,用于解决实际问题,有子程序、分支、循环等结构,存放在主存中,可以更新修改;
微程序是一系列微指令的有序集合,微程序设计是将传统的程序设计方法运用到控制逻辑的设计中,因此在微程序中也可以有微子程序、分支、循环等结构。
区别:
1、体系不同
程序它以某些程序设计语言编写,运行于某种目标结构体系上。微程序存储在控制存储器CM中,只能读出,不能更改,CM中的所有微程序解释执行整个指令系统中的所有机器指令。
2、编译不同
一般的,程序是由高级语言编写,然后在编译的过程中,被编译器/解释器转译为机器语言,从而得以执行。
有时,也可用汇编语言进行编程,汇编语言在机器语言上进行了改进,以单词代替了0和1,例如以Add代表相加,Mov代表传递数据等。
(4)程序存储器与微程序存储器扩展阅读:
微程序的设计技术:
微程序设计技术,指的是利用软件技术来实现硬件设计的一门技术。优点:微程序设计克服了组合逻辑控制单元线路庞杂的缺点,同硬布线比较具有规整性,灵活性,可维护性等一系列优点。缺点:由于增加了到控制存储器中读取微指令的时间导致执行速度慢。
程序的运行:
为了使计算机程序得以运行,计算机需要加载代码,同时也要加载数据。从计算机的底层来说,这是由高级语言(例如Java,C/C++,C#等)代码转译成机器语言而被CPU所理解,进行加载。