8051单片机基础2:内核和存储器(RAM,Flash)架构

发布者:科技先锋最新更新时间:2021-12-01 来源: eefocus关键字:单片机  内核  存储器  架构 手机看文章 扫描二维码
随时随地手机看文章

参考资料:

① Keil > Help

②《STC单片机原理及应用——从器件、汇编、C到操作系统的分析和设计》何宾著

③《MCS-51系列单片机及其应用(第6版)》孙育才、孙华芳著


在8051单片机架构中,主要包含:


CPU(运算器、控制器)

存储器(内部RAM、扩展RAM、Flash)

特殊功能寄存器

其他:外设、时钟系统等

在这里插入图片描述

经典8051单片机内部结构

在这里插入图片描述

8051存储器结构和地址空间


一、CPU(运算器、控制器)

运算器和控制器构成了8051中央处理单元(Central Processing Unit, CPU)


1. 运算器

  单片机的运算器主要包括8位算术/逻辑运算部件、累加器A、寄存器B、程序状态寄 存器等。其功能是实现数据的算术/逻辑运算(数据处理)和数据传输等操作。


1)算术/逻辑单元 ALU

  在8051 CPU内的运算器中,最核心的部件就是算术逻辑单元(Arithmetic and Logic Unit,ALU),ALU宽度为8位。它的主要功能是实现8位加、减、乘和除运算,“与”、“或”、“异或”逻辑运算,包括位操作以及循环、清“0”、置“1”、加“1”、 减“1”等若干基本操作。


2)累加器ACC

  累加器(Accumulator,ACC)是一个常用的专用寄存器,指令系统中采用 A 作为累加器的助记符,常用于存放算术或逻辑运算的操作数及运算结果。


3)寄存器B

  寄存器B 在乘除法运算中需要和 ACC 配合使用,其他情况下,B寄存器还可以用作通用暂存寄存器。


4)程序状态字寄存器 PSW

  在程序状态字(Program Status Word,PSW)在 CPU 做算术运算或者逻辑运算时,对应的 PSW 状态位会发生改变。


2. 控制器

1)程序计数器 PC

  程序计数器(Program Counter,PC),用于存放下一条即将从程序存储器中读取的指令的地址,不断地从程序存储器中读取指令代码,从而实现计算机自动而连续地执行指令、运行程序。PC中内容(地址码)的变化决定程序运行的流向。


  程序计数器的宽度为16位,决定单片机对程序存储器可以寻址的范围,即可寻址的程序存储器的容量最大为64KB。


  程序计数器并不能总是让程序地址寄存器递增。这是因为,机器指令可以分成顺序执行和跳转执行两种情况。


2)指令通道

a. 取指单元

  根据PC所指向的存放指令程序存储器的地址,取出指令。8051的机器指令有8位、16位或24位。


b. 译码单元

  根据取出指令的操作码部分,转换成 一系列的逻辑控制序列,这些控制序列将直接控制CPU内的运算单元。


c. 执行指令单元

  根据逻辑控制序列(微指令)所产生的逻辑行为,控制运算器单 元,从而完成指令需要实现的操作行为。


3)双数据指针 DPTR

  双数据指针(DPTR)是一个16位的专用寄存器,由DPL和DPH组成。它的主要功能是用来寻址外部数据存储器的16位地址寄存器,也可寻址存放在64KB程序存储器中固定数据。


4)堆栈指针 SP

  堆栈指针 SP 是一个 8 位专用寄存器,它指示出堆栈顶部在内部 RAM 块中的位置。


二、存储器(内部RAM、扩展RAM、Flash)

  8051架构的单片机存储器主要包括:内部RAM、扩展RAM、特殊功能寄存器和程序存储器Flash。


1. 内部RAM

  内部RAM最大支持256字节的存储空间;读取数据非常快,是因为可以通过8位地址直接访问;


  低128字节可以直接寻址(data),也可以间接寻址(idata);其中的20H~2FH空间,可以通过位寻址;


  高128字节只能间接寻址;当直接寻址访问时,会自动映射到SFR空间;


  C51编译器提供3种不同的内存类型来访问内部RAM空间:data, idata和bdata;

image.png

2. 扩展RAM

  访问扩展RAM区域时,通过一个数据指针寄存器进行间接访问,因此读写速度要比内部RAM区域慢。


  扩展RAM区域最大支持64K字节存储空间,但是这些地址不一定全部用于内存空间,一些8051单片机会把外设地址映射到扩展RAM区域。


  C51编译器提供2中不同的内存类型来访问扩展RAM空间:xdata和pdata:

image.png

3. 程序存储器Flash

  8051架构支持最大64K字节的Flash空间。


  程序代码是存储在Flash空间的,8051只能执行存储在Flash中的代码。常数变量也可以存储在Flash空间。


  访问Flash空间的方式是使用MOVC指令间接寻址,不能直接寻址;


三、特殊功能寄存器

  8051架构提供128字节的内存空间给特殊功能寄存器(SFR),SFR 和高 128 字节内部 RAM 共用地址 80H ~ FFH, 只能直接寻址。


  它是多个控制寄存器和状态寄存器的集合,用于对单片机内的各个功能模块进行管理、控制和监视。

关键字:单片机  内核  存储器  架构 引用地址:8051单片机基础2:内核和存储器(RAM,Flash)架构

上一篇:MCS-51单片机内部结构——CPU结构 单片机原理学习笔记(二)
下一篇:8051单片机基础5:数据类型占用空间大小及取值范围

推荐阅读最新更新时间:2024-11-16 22:19

ATmega8 内核介绍
为了获得最高的性能以及并行性, AVR 采用了Harvard 结构,具有独立的数据和程序总 线。程序存储器里的指令通过一级流水线运行。CPU 在执行一条指令的同时读取下一条 指令( 在本文称为预取)。这个概念实现了指令的单时钟周期运行。程序存储器是可以在 线编程的Flash 。 快速访问寄存器文件包括32 个8 位通用工作寄存器,访问时间为一个时钟周期。从而实 现了单时钟周期的ALU 操作。在典型的ALU 操作中,两个位于寄存器文件中的操作数同 时被访问,然后执行运算,结果再被送回到寄存器文件。整个过程仅需一个时钟周期。 寄存器文件里有6 个寄存器可以用作3 个16 位的间接寻址寄存器指针以寻址数据空间, 实现高效的地址
[单片机]
ATmega8 <font color='red'>内核</font>介绍
瑞萨RX内核设计实现高代码效率
  瑞萨科技已完成了一个新型CISC(复杂指令集计算机)CPU架构设计,它将在瑞萨未来一代CISC微控制器(MCU)的代码效率、处理性能和功耗方面发挥作用。采用了新型架构的产品将以“RX”系列命名。   新推出的RX是瑞萨第一个eXtreme MCU内核系列。今天的嵌入式系统需要采用更先进的技术和更复杂的设计,以支持产品的更高性能和多种功能。因此,随着系统复杂性和程序规模的增加,MCU必须运行得更快和更有效率,以便实时执行大型应用程序。   新型RX架构实现了一些重要特性: 1. 最高工作频率: 200MHz 2. 处理性能(MIPS/MHz):1.25 MIPS/MHz(Dhrystone v2.1基准) 3. 高代码效率:
[新品]
基于NRF24L01的DS18B20温度无线传输单片机源码
单片机型号为stc12c5a60s2 温度传感器为DS18B20 无线传输为NRF24L01 温度显示LCD1602 单片机源程序如下: #include STC12C5A60S2.H #include stdio.h #include DELAY.h #include NRF24L01.h #include LCD1602.h #include DS18B20.h void main(void) { int temp,intt,dect; unsigned char temp_buf ={0}; EA=1; LCD_Init(); //LCD160
[单片机]
Altera推出最新IP内核产品
2012年7月11号,北京——Altera公司(NASDAQ: ALTR)今天宣布,推出40-Gbps以太网(40GbE)和100-Gbps以太网(100GbE)知识产权(IP)内核产品。这些内核能够高效的构建需要大吞吐量标准以太网连接的系统,包括,芯片至光模块、芯片至芯片以及背板应用等。介质访问控制(MAC)和物理编码子层以及物理介质附加(PCS+PMA)子层IP内核符合IEEE 802.3ba™-2010标准要求,降低用户在Altera 28-nm Stratix® V FPGA和40-nm Stratix IV FPGA中集成40GbE和100GbE连接的设计复杂度。 企业和产品市场副总裁Vince Hu评论说:“越来越多
[嵌入式]
IBM研发出最新多位相变存储器 提高了数据存储的可靠性
  IBM的科学家演示了最新的多位相变存储器,其每个存储格都能长时间可靠地存储多个字节的数据。最新技术让人们朝成本更低、速度更快、更耐用的存储技术前进了一大步,可广泛应用于包括手机在内的消费电子设备、云存储以及对性能要求更高的企业数据存储中。   相变存储器(PCM,Phase Change Memory)兼具速度快、耐用、非挥发性和高密度性等多种优势于一身,其读写数据和恢复数据的速度是现在应用最广泛的非挥发性存储技术闪存 的100倍;断电时,其仍拥有高超的存储能力,也不会造成数据丢失;而且,PCM能耐受1亿次写循环,而目前企业级闪存能耐受3万次写循环,消费级闪存仅 为3000次。   PCM利用材料(由各种不同元素
[家用电子]
51单片机存储程序和数据的介绍
MCS-51使用哈弗结构,它的程序空间和数据空间是分开编址的,即各自有各自的地址空间,互不重叠。所以即使地址一样,但因为分开编址,所以依然要说哪一个空间内的某地址。而ARM(甚至是x86)这种冯诺依曼结构的MCU/CPU,它的地址空间是统一并且连续的,代码存储器/RAM/CPU寄存器,甚至PC机的显存,都是统一编址的,只是不同功能的存储器占据不同的地址块,各自为政。好,说回MCS-51。 对于程序存储器,有片内和片外两部分。而且无论片内程序存储器,还是片外程序存储器,他们的地址是共享的。如果片内4k ROM的话,地址就是0x0000-0x0FFF,从0x1000-0xFFFF就是外部ROM的地址空间。可外部ROM的0x0000
[单片机]
单片机中实现8个LED的流水灯效果
左移函数_crol_(x,y)和数组实现 #include reg52.h #include intrins.h #define uint unsigned int #define uchar unsigned char uchar temp;/*变量类型和赋的值最好一致,P1口为8位寄存器,选用uchar*/ void delay(uint); void main() { temp=0XFE; P1=temp; while(1) { temp=_crol_(temp,1); //循环左移 delay(300); P1=temp; } } void delay(uint z) { uint x
[单片机]
揭密DRAM阵列架构 — 8F2 vs. 6F2
  由于DRAM价格的持续下跌及许多制造商经历着财务困难,只有创新和积极进行工艺升级才能确保公司的成功。而DRAM器件的工艺缩微主要应用于DRAM单元,所以阵列架构在决定芯片尺寸方面起着最重要的作用。   8F2单元设计及一个折叠位线(bit line)阵列构成了传统的主流DRAM架构,这种架构在可制造性和DRAM阵列操控方面被证明是最可靠的。对称阵列设计和紧挨着的位线对有助于采用折叠位线架构的DRAM单元实现最可靠的检测与恢复操作。   一些DRAM制造商,包括著名的美光和三星还采用了6F2单元设计,其DRAM单元面积比8F2单元设计要少25%。虽然25%的DRAM单元尺寸减小很诱人,但将该技术投入产生还需克服一些障碍。除
[焦点新闻]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved