什么是程序存储器
① 程序存储器的原理是什么啊
程序存储器(program memory)
用于保存应用程序代码,同时还可以用于保存程序执行时用到的数据(例如保存查表信息);
单片机内部的程序寄存器一般为1K~64K字节,通常是只读存储器,因为单片机应用系统大多数是专用系统,一旦研制成功,其软件也就定性,程序固化到只读存储器,用只读存储器作为程序存储器,掉电以后程序不会丢失从而提高系统的可靠性;另外,只读存储器集成度高、成本低。根据单片机内部程序存储器类型的不同有可分为下列产品:
(1)ROM行单片机:内部具有工厂淹没变成的只读程序储存器ROM。这种单片机是定制的,一般价格最低,用户将调试好的程序代码交给厂商,厂商在制作单片机是把程序固化到ROM内,二用户是不能修改ROM中代码的。这种单片机价格最低,但生产周期较长。适用于大批量生产。
(2)EPROM型单片机:内部具有EPROM型程序存储器,对于有窗口的EPROM型单片机,可以通过紫外线擦除器擦除EPROM中的程序,用变成工具把新的程序代码写入EPROM,且可以反复擦除和写入,使用方便,但价格贵,适合于研制样机。对于无窗口的EPROM型单片机,只能写一次,称为OTP型单片机。OTP型单凭价格也比较低,既适合于样机研制,也适用于批量生产。
(3)FLASH Memory型单片机:内部含有FLASH Memory型程序存储器,用户可以用编程器对FLASH Memory存储器快速整体擦除和逐个字节写入,这种单片机价格也低、使用方便,是目前最流行的单片机。
② 内存、程序存储器、地址寄存器有什么区别
先明白定义再说区别和原理:
1、程序存储器(program storage)
在计算机的主存储器中专门用来存放程序、子程序的一个区域。
2、指令寄存器(IR ):用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器(DR)中,然后再传送至IR。指令划分为操作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作。指令译码器就是做这项工作的。指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。
3、程序计数器(PC):为了保证程序(在操作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。而程序计数器正是起到这种作用,所以通常又称为指令计数器。在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC,因此程序计数器(PC)的内容即是从内存提取的第一条指令的地址。当执行指令时,CPU将自动修改PC的内容,即每执行一条指令PC增加一个量,这个量等于指令所含的字节数,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对PC加1。
当程序转移时,转移指令执行的最终结果就是要改变PC的值,此PC值就是转去的地址,以此实现转移。有些机器中也称PC为指令指针IP(Instruction Pointer)
4、地址寄存器:用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止 。�
当CPU和内存进行信息交换,即CPU向内存存/取数据时,或者CPU从内存中读出指令时,都要使用地址寄存器和数据缓冲寄存器。同样,如果我们把外围设备的设备地址作为像内存的地址单元那样来看待,那么,当CPU和外围设备交换信息时,我们同样使用 地址寄存器和数据缓冲寄存器
基本上定义就是区别和应用。
③ 程序存储器是rom还是ram
1. 在单片机中,程序存储器通常指的是ROM(Read-Only Memory),它包含单片机运行时所需的指令和数据,这些内容在出厂时被写入,一般情况下用户无法修改。ROM可以是掩膜ROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)或FLASH类型。
2. 数据存储器则是RAM(Random-Access Memory),它用于存储单片机在运行过程中产生的中间结果和临时数据。RAM是易失性的存储介质,这意味着当单片机断电时,其中的数据会被清空。
这两个存储器在单片机中扮演着不同的角色,ROM负责存储固化的程序代码,而RAM则用于存储动态生成的数据。