关于芯片寄存器地址的理解(字节地址,字地址)

这篇具有很好参考价值的文章主要介绍了关于芯片寄存器地址的理解(字节地址,字地址)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

众所周知,绝大多数芯片的寄存器地址都是以0,4,8,c结尾,那为什么是以0,4,8,c结尾呢?这个问题在我刚参加工作后的一段时间一直没太搞明白,后来才逐渐有了一定的理解。

说到这个问题又必须提到计算机中数据存储的单位,分为位,字节,字。一个位代表一个bit,一个字节代表8位。严格来讲,字在不同的计算机中大小不同,在32位机中一个字是32bit,而在64位机中一个字是64bit,但有些资料中不论CPU的位数是多少,都认为16bit为一个字。

在我们常用的地址空间中,一个地址对应一个字节,称为字节地址。但由于我们是32位的寄存器,包含4个字节,所以就对应了4个地址,称为字地址空间

那既然都是0,4,8,c结尾,地址的低两位都是0,那么这两个bit是不是就从来都是无效的呢?也不是,只是一般情况下我们的寄存器都是32位一起配置,那么这种情况下低两位是无效的,但我们如果是想在32位总线中实现字节地址空间,也就是8bit单独配置,就需要用到低两位进行32位寄存器中的字节选择。

一个典型的应用例子就是AHB协议中HSIZE[2:0]信号的使用,HSIZE信号规定了每次传输的大小,从3'b0到3'b111分别对应了8到1024的传输,如果我们的HSIZE配置成3'b0或者3'b1时,就需要根据地址的低两位判断写到32位寄存器的那个字节,这里有涉及到了大小端的问题,小端就是低地址写到地位,高地址写到高位,大端与之相反。这种操作方式在AHB中也称为窄传输文章来源地址https://www.toymoban.com/news/detail-805955.html

到了这里,关于关于芯片寄存器地址的理解(字节地址,字地址)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Modbus寄存器分类及地址分配

           Modbus协议中一个重要的概念是寄存器,所有的数据均存放于寄存器中。最初Modbus协议借鉴了PLC中寄存器的含义,但是随着Modbus协议的广泛应用,寄存器的概念进一步泛化,不再是指具体的物理寄存器,也可能是一块内存区域。Modbus寄存器根据存放的数据类型以及各自

    2024年02月11日
    浏览(43)
  • (超详细)STM32芯片Flash读写操作讲解和代码(寄存器版本)

    关于Flash,官方的解释为:Flash为32位宽的存储单元,可用于存储代码和数据常量。Flash模块位于微控制器内存映射中的特定基址……。而对于我们来说,只要知道Flash闪存区是一个掉电后也不会清除的数据存储地。(相信大家对于Flash闪存也有着一定 的了解了,我也不多说废话

    2023年04月19日
    浏览(49)
  • 使用FPGA实现桶形移位寄存器

    我给大家介绍的是逻辑/算术左移移位寄存器。实现的功能是根据输入信号shift将输入信号进行移位,高位移除,低位补0。我建立的工程是由3个独立的桶形移位寄存器组成的。 library ieee; use ieee.std_logic_1164.all; entity barrel is      port( inp : in std_logic_vector(7 downto 0);          

    2024年04月29日
    浏览(51)
  • 英飞凌TC367芯片Port口配置IN和OUT的寄存器操作

    一. 打开数据手册查看配置Port口对应的寄存器   TC367配置IN和OUT的寄存器为 PXX_IOCR0, PXX_IOCR4, PXX_IOCR8, PXX_IOCR12      这四个寄存器对应的PCx分别代表1-15pin脚的配置为输入输出   Port口输入配置的值 Port口输出配置的值   二.代码实现部分         P00_IOCR0 (*(volatile Ifx_P_IOCR0

    2024年02月07日
    浏览(41)
  • FPGA的配置状态字寄存器Status Register

    目录 简介 状态字定义       Unknown Device/Many Unknow Devices 解决办法 一般原因  Xilinx的FPGA有多种配置接口,如SPI,BPI,SeletMAP,Serial,JTAG等;如果从时钟发送者的角度分,还可以分为主动Master(即由FPGA自己发送配置时钟信号CCLK)和被动Slave(即由外部器件提供配置所需要的时

    2024年04月25日
    浏览(38)
  • FPGA原理与结构——移位寄存器(Shift Registers)

    系列文章目录:FPGA原理与结构(0)——目录与传送门 目录 一、移位寄存器概述 1、基本概念      2、LUT实现移位寄存器 3、移位寄存器的应用 4、移位寄存器的功能 5、移位寄存器结构 6、移位寄存器级连 二、移位寄存器数据流 1、动态读操作(移位长度不固定) 2、静态读

    2024年02月12日
    浏览(100)
  • FPGA的可编程逻辑单元(LUT和寄存器)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 1.根据PLD器件单片集成度的高低,可将PLD分为低密度可编程逻辑器件和高密度可编程逻辑器件。 2.按器件结构类型划分      

    2024年02月19日
    浏览(53)
  • FPGA原理与结构(5)——移位寄存器(Shift Registers)

    系列文章目录:FPGA原理与结构(0)——目录与传送门 目录 一、移位寄存器概述 1、基本概念      2、LUT实现移位寄存器 3、移位寄存器的应用 4、移位寄存器的功能 5、移位寄存器结构 6、移位寄存器级连 二、移位寄存器数据流 1、动态读操作(移位长度不固定) 2、静态读

    2024年02月08日
    浏览(42)
  • 深度理解STM32的串口实验(寄存器)【保姆级教程】

    USART—通用同步异步收发接收器,是一个串行通信设备,可以和外部设备进行灵活的全双工数据交换,有别于USART还有一个UART(在原来的基础上裁剪掉了同步通信功能(时钟同步)),串行通信一般是以帧格式传输数据,一帧一帧的传。 协议层: 串口通信的一个数据包包含从

    2023年04月15日
    浏览(41)
  • FPGA中锁存器(latch)、触发器(flip-flop)以及寄存器(register)详解

    1 定义 1.1 锁存器(latch)     锁存器是一种由电平触发的存储单元,为异步电路,数据存储的动作取决于输入信号的电平值,只要输入发生变化,输出即随之发生变化。 1.2 触发器(flip-flop)     触发器是边沿敏感的存储单元,数据存储的动作由某一信号的上升或者下降

    2024年02月12日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包