0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【微控制器基础】——CPU内核与整体配置(上)

jf_pJlTbmA9 来源:东芝半导体 作者:东芝半导体 2023-10-17 17:19 次阅读

如今,微控制器的功能日渐强大,已经从早期的单片机转向基于SoC结构的MCU体系。在这个转变过程中,内核成为了决定一颗MCU的性能和应用场景的关键。比如我们常说MCU的位数就是根据内核来确定的,不同的内核代表了不同的MCU性能。例如,早期的8051就是8位单片机的典型内核,现在主流的Arm Cortex M系列则代表了32位MCU最常见的内核;Cortex M0+则是低功耗低成本MCU的标签;Cortex M7内核的MCU作为高性能微控制器的代表甚至可以进行部分视频处理应用,而PowerPC架构的内核则常见于汽车动力总成部分的MCU应用场景。

如何配置强大的CPU内核?

内核是一颗MCU中的主处理单元(也可以说是MCU的CPU),内核基本决定了一颗MCU半数以上的技术指标,因此对CPU内核进行配置就成为应用MCU的最关键步骤。今天我们就以东芝的TLCS-870/C1内核作为示例,带大家共同学习一下CPU整体配置的基本知识。

首先我们来认识一下微控制器的各个基本功能,如下图所示,CPU具有用于存放微控制器中各种数据和程序的存储电路以及用于执行计算的运算电路。其中各个部分功能如下。

wKgaomUD5yWAa50oAAC4XDGhVTM317.jpg

PSW(程序状态字):用于保存操作结果和指令执行结果状态的寄存器,由各种标志组成。

通用寄存器:用于储存数据的存储电路,根据存储电路的位置,通用寄存器分别称为W、A、B、C、D、E、H、L等。储存计算结果的地方称为累加器。在TLCS-870/C1中,W、A、B、C、D、E、H、L、IX和IY这十个寄存器具有累加器功能。

程序计数器(PC):用于储存存储器地址以读取指令的存储电路。

ALU(算术逻辑单元):用于执行计算的运算电路。

指令寄存器:用于暂时存储读取指令的存储电路。

指令解码器:对存储在指令寄存器中的指令进行解密,并将其发送到控制单元。

中断控制电路:用来控制中断功能。

在这些功能中,程序计数器(PC)是管理下一步要执行指令存储地址的寄存器。每次执行一条指令时,程序计数器指定的地址将进行+n处理(1字指令为+1,2字指令为+2)。当在中断指令等情况下,PC将存储跳转目标地址。CPU从PC读取下一条要执行指令所在的地址,并依次执行。例如,如果PC中存储了0x8020(地址),则意味着CPU正在执行地址为0x8019的指令。如果从PC读取了地址0x8020,则CPU下一步要执行指令的地址0x8021将储存在PC中。这个过程可以参考图2所示的流程示意。

wKgZomUD5yaAKCmIAABDfDTW_0w063.jpg

wKgaomUD5yeAG4NdAAA_bYArDF8799.jpg

而通用寄存器可用于各种用途,例如累加器和数据处理。TLCS-870/C1有八个8位寄存器:W、A、B、C、D、E、H和L。这八个寄存器也可以作为16位寄存器成对使用:WA、BC、DE和HL。这些组合只适用于相邻的寄存器,例如,B和E、H和E等不能组合。此外,TLCS-870/C1还有两个16位通用寄存器IX和IY。这些寄存器主要作为访问存储器时的索引寄存器。

在CPU执行指令后,会有一个标志指示存储器的内容以及计算结果的状态。PSW(程序状态字)的作用就是收集这些标志。下图是A寄存器(00111110)和B寄存器(11100000)相加的例子。计算结果(100011110)本应储存在A寄存器中。但是,由于A寄存器只能储存8位,所以将进位标设置为“1”,并将进位标志保留为发生进位的信息。因此,在A寄存器中,存储不包括最高有效位1的(00011110)作为计算结果。例如,如果计算结果是(100000000),则在进位标志中设置1,(00000000)储存在A寄存器中,所以在零标志中设置1。

wKgZomUD5ymAUqZoAAA12nUaRU4327.jpg

今天我们跟大家一起了解了微控制器的CPU部分功能单元和基本指令执行的知识,下一节我们将带大家一起认识另一个CPU配置的关键环节“中断处理”。请大家持续关注哦~

来源:东芝半导体
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6812

    浏览量

    147653
  • 存储器
    +关注

    关注

    38

    文章

    7151

    浏览量

    162002
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10448

    浏览量

    206576
收藏 人收藏

    评论

    相关推荐

    使用RT-Thread操作系统时,在STM32G4系列微控制器使用PWM设备驱动时遇到了编译错误怎么解决?

    我在使用RT-Thread操作系统时,尝试在STM32G4系列微控制器使用PWM设备驱动时遇到了编译错误。具体来说,问题出现在处理不同STM32系列时钟配置的条件编译指令中。编译
    发表于 03-22 07:22

    在TC387微控制器实现内存映射,负载增加的原因是什么?

    我正在 TC387 微控制器实现内存映射。 关于内存映射,在 Linker 脚本中定义了新区域,并将数据映射到这些区域。 从功能上看,在有内存映射和没有内存映射的情况下,内核特定内存区域中的所有
    发表于 03-04 07:43

    如何在aurix TC333微控制器配置内存分区?

    谁能建议如何在 aurix TC333 微控制器配置内存分区。
    发表于 01-30 07:10

    CW32L083系列微控制器的ADC和DAC模块要如何使用?怎么配置

    如何配置和使用CW32L083系列微控制器的ADC和DAC模块?
    发表于 01-17 06:08

    智能集成:整合模拟元件和ARM微控制器内核,解决棘手嵌入式系统问题

    智能集成:整合模拟元件和ARM微控制器内核,解决棘手嵌入式系统问题
    的头像 发表于 01-05 18:18 407次阅读
    智能集成:整合模拟元件和ARM<b class='flag-5'>微控制器</b><b class='flag-5'>内核</b>,解决棘手嵌入式系统问题

    微控制器基础】——从历史切入,了解微控制器的五个要素(上)

    微控制器基础】——从历史切入,了解微控制器的五个要素(上)
    的头像 发表于 12-07 10:55 204次阅读
    【<b class='flag-5'>微控制器</b>基础】——从历史切入,了解<b class='flag-5'>微控制器</b>的五个要素(上)

    微控制器基础】—— 从历史切入,了解微控制器的五个要素(下)

    微控制器基础】—— 从历史切入,了解微控制器的五个要素(下)
    的头像 发表于 12-06 17:23 277次阅读
    【<b class='flag-5'>微控制器</b>基础】—— 从历史切入,了解<b class='flag-5'>微控制器</b>的五个要素(下)

    在AT32微控制器创建IAP by Kermit应用程序的方法

    AT32 IAP by Kermit提供在AT32微控制器创建IAP by Kermit应用程序的方法。
    发表于 10-24 07:56

    在AT32微控制器创建OTA应用程序的一般准则

    AT32 OTA using the USART提供在AT32微控制器创建OTA应用程序的一般准则。
    发表于 10-19 07:43

    使用STM8S微控制器的模数转换

    本应用说明的目的是解释如何使用模数转换在许多STM8S微控制器系列设备中实现。它提供了有用的关于如何配置ADC寄存微控制器资源以及使用
    发表于 10-10 07:48

    STM8S微控制器参考手册

    导言本参考手册为应用开发人员提供了关于如何使用STM8S微控制器的存储和外设的完整信息。STM8S是一个拥有不同存储大小,封装和外设的微控制器家族。■ STM8S针对通用应用而设计
    发表于 09-25 07:33

    STM32微控制器的工作原理和应用 STM32微控制器的命名规则

    STM32微控制器是一种基于ARM Cortex-M内核的高性能、低功耗、低成本的微控制器。它广泛应用于各种嵌入式系统,包括工业控制、消费电子、医疗设备、汽车电子等领域。
    发表于 09-07 16:38 940次阅读

    STM32微控制器的结构和发展历史

    STM32微控制器是由STMicroelectronics公司开发的一系列基于ARM Cortex-M内核的高性能微控制器。自从2007年推出第一代STM32以来,该系列已经发展到了第五代,每一代都有其独特的特点和应用领域。
    发表于 09-07 16:35 1054次阅读

    HPM6000系列微控制器的片各类SRAM使用指南

    HPM6000系列微控制器SRAM使用指南
    发表于 06-01 06:19

    如何配置LPC4322微控制器未使用的引脚?

    我们如何配置 LPC4322 微控制器未使用的引脚?目前,我让它们在我的电路板未连接,原理图上没有连接。
    发表于 05-22 08:32