[组原]初识-地址总线,地址寄存器,存储单元,存储字长

article/2025/9/16 23:54:23

文章目录

    • 知识点
      • 机器字长
      • 指令
      • 寻址方式
        • 按字寻址
        • 按字节寻址
      • 存储单元
      • 存储字
      • 存储字长

💟前记:由一道做错的题总结结果

⏲ 05.09


知识点

机器字长

  • 计算机进行一次整数运算所能处理的二进制数据的位数;通常也是CPU内部数据通路的宽度;

  • 对按字寻址的机器,程序计数器和指令寄存器的位数取决于: 存储器的字数,指令字长

    程序计数器存放的是下一条指令的地址(所以地址可以用指针来表示)(指令在内存中的地址),因此位数取决于存储器的字长;(存储器的字长小于等于机器字长)

    指令寄存器存放的是接收取得的指令,位数取决于 指令的长度;

    指令包括 操作码字段和地址码字段;所以指令长度=操作码长度+操作数地址长度;同时由于指令结构的不同, 指令长度不是固定的

指令

❣️含义:指令是指示计算机执行某种操作的命令

  • 定长指令字结构
  • 变长指令字结构

​🔑 在一个指令系统内,所有指令的长度都是相等的;

这里的变长指令字结构要和扩展操作码指令格式区别;扩展操作码指令是在指令长度相等的情况下针对操作码长度进行变化的;

寻址方式

按字寻址

​❣️​一般字长为32位,同时说明存储单元大小为字长的位数;同时说明计算机中可以编址的最小单元是字存储单元;

按字节寻址

​❣️​1字节为8bit;存储单元的大小为字节的位数;说明计算机可以编址 的最小单元是字节存储单元;

存储单元

  • 🎯8位为一个存储单元;也就是1字节;这里的存储单元指的是字节存储单元,现代计算机通常是以字节进行编址,默认的存储单元大小就是1字节;

存储字

❣️含义:存储单元中二进制代码的组合;

​▶️百度百科:如存储字为0011011001111101,既可表示为由十六进制字符组成的367DH(ASCII码),又可代表16位的二进制数,此值对应十进制数为13 949,还可代表两个ASCII码:“6”和“}”。一个存储字还可代表一条指令。

存储字长

​❣️​含义:存储单元中的二进制代码(存储字)的位数,存储字长可以是8位、16位、32位等。对应按字节寻址,按半字寻址,按字寻址;

💥疑惑点1:为什么存储单元是1字节,然而代表存储单元二进制位数的存储字长却出现8bit, 16bit, 32bit等?

🎯广义上的字节存储单元是表示一个字节,然而由于按照不同的寻址方式,存储单元的字长又是不同的,但都是字节的整数倍而且不大于机器字长;

🎯单纯的寄存器结构:信息存入采用电位-脉冲方式;

💥 疑惑点2:地址寄存器和地址总线的宽度(位数)有什么联系?

​▶️地址寄存器是用来保存当前CPU所访问内存单元的地址;地址寄存器的大小也代表cpu的寻址能力;

地址总线决定cpu所能访问的最大内存空间的大小;地址线一次确定一个存储单元,地址线上值可能取的所有组合确定了存储单元的个数。所以 存 储 单 元 的 个 数 = 2 地 址 线 的 条 数 存储单元的个数=2^{地址线的条数} =2线

相当于地址总线所能表示的最大范围代表cpu的寻址能力(也就是能放多少个地址)因为地址总线是连接到地址寄存器上的,所以地址寄存器的位数也等于总线的根数;

💥 疑惑点3:存储容量的计算?

​▶️存储容量=地址寄存器MAR的编址数<存储单元个数>*存储字位数(存储字长)(存储单元的位数)----计算出来的是所能存储的二进制代码的总位数

上个题:
在这里插入图片描述
​▶️这里的容量计算和字长容易导致认为存储单元大小为32bit,最终错误计算地址总线宽度为: 4 G B 4 B = 4 G = 2 30 \frac{4GB}{4B}=4G=2^{30} 4B4GB=4G=230;
地址的容量计算是按照存储单元为1字节进行计算,后面的32字长对应的是数据总线的宽度,也就是CPU一次能处理的二进制位数;

在这里插入图片描述
​▶️这里是按字进行编址,存储单元是4B;存储容量 8 M B = 8 ∗ 2 20 B ; 寻 址 范 围 = 8 ∗ 2 20 B 4 B = 2 ∗ 2 20 = 2 M 8MB = 8*2^{20}B;寻址范围=\frac{8*2^{20}B}{4B}=2*2^{20}=2M 8MB=8220B;=4B8220B=2220=2M

❤️总结:(字长和按字编址是不一样的)


http://chatgpt.dhexx.cn/article/rFcjqQui.shtml

相关文章

地址总线/数据总线/控制总线的作用

数据总线 &#xff08;1&#xff09; 是CPU与内存或其他器件之间的数据传送的通道。 &#xff08;2&#xff09;数据总线的宽度决定了CPU和外界的数据传送速度。 &#xff08;3&#xff09;每条传输线一次只能传输1位二进制数据。eg: 8根数据线一次可传送一个8位二进制数据(…

内存结构、地址总线、数据总线详解

下图为内存的结构图 DB为一个bit&#xff0c;一行DB对应着一个存储单元。 数据总线个数对应着存储单元的位数 数据总线个数 存储单元位数 寄存器位数 如上图所示&#xff0c;内存的结构就是从上到下依次给存储单元编号。 按字节编址 就是每8个bit 对应着一个地址。 读取…

1.8地址总线

现在我们知道&#xff0c;CPU是通过地址总线来指定存储器单元的。可见地址总线上能传送多少个不同的信息&#xff0c;CPU就可以对多少个存储单元进行寻址。 现假设&#xff0c;一个CPU有10根地址总线&#xff0c;让我们来看一下它的寻址情况。我们知道&#xff0c;在电子计算机…

ARM数据/地址总线架构简析

ARM架构简析 1&#xff0c;ARM概述 现在大家讲的ARM的概念实际上是很模糊的&#xff0c;他可能指的是一类芯片&#xff0c;或者指的是ARM公司&#xff0c;亦或者是精简指令集&#xff0c;还是千万人手中的饭碗。下面引用一段关于百度百科关于ARM的准确描述 ARM架构&#xff0…

什么是前端总线,后端总线,内部总线、系统总线,外部总线,地址总线,数据总线,控制总线

文章 部分内容来自于 电子发烧友 内部总线、系统总线和外部总线汇总 部分内容来自于 知乎 前端总线&#xff0c;系统总线&#xff0c;内部总线&#xff0c;外部总线 本文是在两篇文章的基础上进行了二次加工&#xff0c;对两篇文章的精华内容进行了提炼&#xff0c;删掉了对理解…

地址总线是单向还是双向_「计算机组成原理」:总线、地址总线、数据总线和控制总线...

总线(Bus):是计算机各种功能部件之间传送信息的公共通信干线. 总线(Bus):是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制…

计算机控制总线传输的是,总线,地址总线,数据总线和控制总线

总线(Bus): 这是一条通用的通信干线&#xff0c;可以在计算机的各种功能组件之间传输信息. 它是由电线组成的变速箱线束. 根据计算机传输的信息类型&#xff0c;计算机的总线可以分为数据总线和地址. 总线和控制总线分别用于传输数据&#xff0c;数据地址和控制信号. 总线是一种…

计算机64位地址总线,地址总线与数据总线的关系,功能和宽度

1. 地址总线与数据总线之间的关系 数据总线用于传输数据. 每条数据线传输一个二进制位64位处理器 数据总线,而8条线恰好传输一个字节. 但是,地址总线传输地址,每个地址也传输一个二进制位,而8条地址线传输8个二进制位. 这8个二进制位具有2 ^ 8个不同的变化,因此它们可用于…

地址总线

现在我们知道&#xff0c;CPU是通过地址总线来指定存储器单元的。可见地址总线上能传送多少个不同的信息&#xff0c;CPU就可以对多少个存储单元进行寻址。 现假设&#xff0c;一个CPU有10根地址总线&#xff0c;让我们来看一下它的寻址情况。我们知道&#xff0c;在电子计算机…

地址总线、物理地址、虚拟地址讲解

什么是地址总线&#xff1f; 地址总线(Address Bus &#xff1b;又称位址总线&#xff09;属于一种电脑总线&#xff08;一部份)&#xff0c;是由CPU或有DMA能力的单元&#xff0c;用来沟通这些单元想要存取(读取/写入)电脑内存元件/地方的实体位址。 换而言之&#xff0c;就…

计算机总线详解(数据总线、地址总线、控制总线)

文章目录 1 概述2 总线分类2.1 数据总线 Data Bus2.2 地址总线 Address Bus2.3 控制总线 Control Bus 3 扩展3.1 常考题3.2 百度百科 - 总线 Bus 1 概述 总线&#xff08;Bus&#xff09; 是计算机各种功能部件之间传送信息的 公共通信干线如果说 主板&#xff08;Mother Boar…

总线之地址总线、数据总线、控制总线

https://www.cnblogs.com/codexlx/p/13252705.html 1.地址总线&#xff1a; CPU是通过地址总线来指定存储单元的&#xff0c;因此总线地址上能传送多少个不同的信息&#xff0c;CPU就可以对多少个存储单元进行寻址 一个CPU有N根地址线&#xff0c;那么可以说这个CPU的地址总线…

CentOS8 arm64架构 鲲鹏服务器上安装zabbix-agent

1、使用系统yum源中自带的资源安装 查看yum中自带的zabbix资源包 sudo yum list |grep zabbix安装 sudo install zabbix40-agent.aarch64 # 填写自己服务器上的资源2、下载资源包安装 获取官网下载地址 zabbix官网下载.aarch64.rpm的资源包&#xff0c;地址 搜索需要的包 …

ARM64(aarch64)下安装tensorflow

首先从Github下载安装包&#xff1a; tensorflow-on-arm 选择合适的版本&#xff0c;例如tensorflow-1.14.0-cp35-none-linux_aarch64.whl 命名规则&#xff1a;cp35代表python3.5&#xff0c;aarch64表示架构信息 wget https://github.com/lhelontra/tensorflow-on-arm/rele…

QEMU启动ARM64 Linux内核

目录 前言前置知识virt开发板ARM处理器家族简介 安装qemu-system-aarch64安装交叉编译工具交叉编译ARM64 Linux内核交叉编译ARM64 Busybox使用busybox制作initramfs使用QEMU启动ARM64 Linux内核 前言 本文介绍采用 qemu 模拟ARM-64bit开发板&#xff08;针对ARM-32bit的有另一…

centos for arm64

Arm64的centos版本自7.5.1804以后不再和7.4、7.3、7.2等之前的一样直接提供一个rootfs.tar.xz的压缩包&#xff0c;全部变成了ISO的安装文件&#xff0c;因此需要EFI来引导安装&#xff0c;如果Aarch64的cpu用的是uboot就只有干瞪眼了&#xff0c;笔者花了一翻功夫&#xff0c;…

ARM64逆向基础

为什么要学ARM64&#xff1f; android 5.0系统就开始引入Arm64-v8a&#xff0c;它用于支持全新的AArch64架构&#xff0c;这个架构也就是我们要学习的arm64汇编。目前android系统已经发展到anroid 11版本。因此现在主流的apk都是支持AArch64架构。那么我们利用IDA&#xff08;…

第一章 QEMU虚拟机与ARM64平台搭建

系列文件目录 《ARM64体系结构结构编程与实践》学习与应用记录 第一章 QEMU虚拟机与ARM64平台搭建 文章目录 系列文件目录本章前言一、ubuntu虚拟机安装1.ubuntu20.04镜像下载2.镜像安装3.工具安装 二、代码下载1.git配置2.runninglinuxkernel代码下载3.代码编译 总结 本章前言…

搭建arm64的qemu环境

说明 qemu在调试内核方面还是比较方便、效率的。以前基本上多是用arm32的平台&#xff0c;网上大部分资源也是关于arm32的。现在arm64的也比较普遍了&#xff0c;最近刚好要看一些内核的东西&#xff0c;花了2天的时间搭建了这个环境&#xff0c;希望看到的朋友少走弯路&#…

x86_64(intel64、amd64)和ARM64的区别以及发展

文章目录 区别引用 区别 ARM64架构 ARM 公司研发的&#xff0c;用的是精简指令集&#xff08;追求节能&#xff0c;低功耗&#xff09;。通常用于手机、平板等CPU&#xff0c;目前笔记本电脑也会采用ARM64构架的CPU&#xff0c;比如mac m1就是arm64(查看命令&#xff1a;uname…