二硬件篇-寄存器组
寄存器组是CM3 处理器的核心组成部分,主要包括用于一般使用和功能特殊功能的寄存器。以下是对寄存器组的详细响应:1 常规寄存器R0R7 :这些寄存器是通用的,大多数1 6 位指令仅使用R0R7 Thumb2 3 2 -pit指令可以访问所有寄存器以供一般使用。
其中,由于ARMC函数呼叫协议,R0R3 和R1 2 受到保护,并具有特殊的目标。
R1 3 SP:将其分为主电池指针和处理电池指针。
MSP通常用于操作系统和特殊管理,而PSP用于常规应用程序。
控件寄存器确定电池的使用水平和特权。
R1 4 LR:用于存储返回地址。
可以读取并写入最低的LR,以与不同的ARM处理器兼容。
R1 5 pc:指向当前指令。
程序计数器的修改可以修改程序执行过程。
2 中断掩模寄存器组:包括Primask,Fardmask和Basepri,用于管理临时中断。
控制寄存器:控制特权水平和电池选择。
3 . Temprary Regations的数据的功能:常规寄存器用于临时存储数据,负责快速访问和处理处理器的操作。
程序控制:功能的特殊功能控制处理器操作状态,例如中断管理,特权级别切换等。
程序对抗当前执行的指令,这是程序执行过程的关键。
功能和保护调用:某些通用寄存器由于呼叫协议而受到保护,以确保函数呼叫和数据安全的准确性。
总而言之,寄存器组在CM3 处理器中起着至关重要的作用。
他们不仅支持数据的快速访问和功能,还可以控制处理器的执行状态和程序的程序。
数据通路的举例说明
(以概述为例中以数字为例)常规寄存器组R:容量1 6 个单词,双向输出。寄存器A和B:保存一般寄存器组读取的数据或总线中的数据。
算术逻辑单元ALU:有五个控制端子:S3 ,S2 ,S1 ,S0和M用于选择操作类型。
寄存器C:保存由Alu操作生成的携带信号。
RAM随机读取和写入内存:读/写操作由MRD/MWR控制信号控制。
3 月:RAM的专用地址登记册。
寄存器的长度确定RAM的容量。
IR:一个可以存储RAM读取特殊数据的专用寄存器。
控制器:用于在数据路径中生成所有控制信号,该信号与每个子系统上的启用控制信号相对应。
总线:单个数据总线,通过三州门连接到相关子系统。
80C51设有4个通用工作寄存器组,有什么特点?如何选用?如何实现工作寄存器现场保护? (最好是书面语。 )
数据CIP的RAM区域中的0-3 1 (00H-1 FH)总共有3 2 个单位,4 个一般注册组。每个组包含8 个8 位寄存器,总计R0-R7 作业清单组如下:RS1 RS0组号地址00000H-07 H01 1 08 H-0FH1 02 1 0H1 02 1 0H-1 7 H1 7 H1 7 H1 1 3 1 8 H-1 FH在某些时间,只能选择一个列表。
可以通过在PSW程序状态中设置两个-bit RS0和RS1 软件来实现。
设置RS0和RS1 时,您可以将BYTE地址用于PSW或BIT地址间接或直接修改RS0和RS1 的。
例如,如果RS0和RS1 都是1 个,则选择三组作业寄存器作为当前的作业列表。
如果您需要选择两组作业寄存器,则只需要将RS0设置为0,可以使用BIT地址实现。
尤其是当中断嵌套时,由于PSW程序状态中的位RS0和RS1 是通过软件设置的,并且打开了作业列表组,因此很容易实现站点保护。
参考材料“单-CIP微型计算机培训和测试问题”(GAO Feng)
CPU的通用寄存器分为哪些?
一般CPU分为两类:定点号和浮点数:固定点寄存器的数量,以存储操作数的过程和结果。它们通常在算术逻辑操作中使用,并支持固定点的活动数量,以及减法,乘法和分裂。
浮点数寄存器:特别是为了存储流程操作数和fling量的不同类型数量的结果。
浮点数寄存器支持复杂操作,例如加法,减法,乘法,除法,方形,方形和对数浮点数,这是字段的必要部分和图形处理。
这些通常的崇拜者核心组件CPU与数据处理器进行了核心,并与这些CPU进行互动可以有效执行各种说明。
通用寄存器有哪些?
1 数据寄存器:这些寄存器用于存储操作数和计算结果,以减少访问内存所需的时间,从而提高处理速度。2 索引寄存器:3 2 位CPU配备了两个3 2 位通用寄存器ESI和EDI。
它们各自的较低的1 6 位对应于先前的SI和DI,并且对较低1 6 位数据的操作不会影响较高的1 6 位数据。
3 .指针寄存器:3 2 位CPU还包含两个3 2 位通用寄存器EBP和ESP。
它们的较低1 6 位对应于先前的SBP和SP,而对较低的1 6 位数据进行操作也不会影响更高的1 6 位数据。
4 段寄存器:设置段寄存器,以使能够通过在内存分割管理模式中组合较少的值来访问更大的物理内存空间。
5 指令指针寄存器:3 2 位CPU将指令指针扩展到3 2 位,称为EIP。
EIP的下部1 6 位与上一个CPU中的IP相同,用于将即将到来的说明的偏移存储在代码段中。
扩展信息:寄存器是CPU中重要的数据存储资源,用于临时存储数据和地址,并且是组装程序员可以直接使用的硬件资源之一。
由于寄存器访问速度比内存快得多,因此在汇编语言编程中,充分利用寄存器存储功能可以提高程序的效率。
寄存器通常用于保存程序的中间结果,为后续说明提供操作数,以避免频繁的内存访问。
在高级语言(例如C/C ++)中,变量也可以定义为寄存器类型,这是改善寄存器利用率的有效方法之一。
但是,由于寄存器的数量和能力有限,因此无法将所有中间结果存储在寄存器中,因此有必要合理安排寄存器使用情况。
根据指示,合理地安排使用寄存器并避免过度操作数传输是一项小心而重要的任务。
参考来源:百度百科全书 - 通用登记册