gpt4 book ai didi

embedded - 为什么内存位置也称为寄存器?

转载 作者:行者123 更新时间:2023-12-02 21:38:00 24 4
gpt4 key购买 nike

在嵌入式系统和系统编程中,术语“寄存器”用于指代

  1. 微 Controller 内的CPU寄存器,例如R1、R2、ARM 微 Controller 中的 PC,以及
  2. 内存地址空间内的某些“特殊”位置。

术语“寄存器”以这种方式重载背后是否有原因或历史?

最佳答案

从功能上来说,寄存器是一个可以存储值的元素(例如 D 型触发器或等效的多位数组)。

除了用于保存操作数和 ALU 计算结果的传统 CPU 寄存器之外,还可以有专用于其他用途的特殊功能寄存器(片内或片外)。例如,实现串行端口的 UART 外设可能有一个寄存器来保存除数,该除数从其时钟导出波特率,一个用于传出数据,一个用于接收数据,另一个是模式设置的位图。

在具有内存映射I/O的机器上,特殊功能寄存器出现在内存空间中,并通过内存访问指令进行访问(尽管有时存在限制,例如只能访问特定的宽度)合法的)。相反,在I/O映射机器上,有专门用于访问I/O端口地址的指令,以及(至少在双用途外部总线上)指示是否访问的控制信号。是内存或I/O空间。

更令人困惑的是,有一些传统处理器设计,例如 8051,其中 CPU 寄存器也可以作为普通内存位置进行访问。在许多其他机器中,虽然 CPU 寄存器存储在寄存器文件中而不是内存中,但它们在功能上在指令字的位字段中具有“地址”,该地址指定哪个寄存器是操作数或结果 - 带有编号寄存器的 RISC 架构使得这一点特别明显。

关于embedded - 为什么内存位置也称为寄存器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29653399/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com