为什么20位数据总线决定寻址空间是2^20B,即1MB,而不是2^20/2^3=2^17B????

升级版的说明

–升级了一下图片;增加了对按字节编制的默认设定的说明,免得引起误导;去掉了之前评论区有人说单位的问题。

老版链接:

http://t.csdn.cn/pYIXD

小白的疑惑

小白刚开始学习的时候很疑惑,为什么20位地址总线决定了寻址空间的大小是1MB?在这里插入图片描述

解决疑惑需要先带入的设定

为了解决这个疑惑,先听我讲一个故事,请完全带入设定:
在某个世界里,大家很喜欢养猪。
这个世界的独特之处在于,养猪的房间都是长条形的固定样式的,且一个房间只能有8个小隔间,一个隔间只能养一只猪,即,一个房间只能养八只猪
在这里插入图片描述

小k也很喜欢养猪,他有64只猪

在这里插入图片描述

但是这个世界还有一个奇葩设定,他们的语言里面,只有0和1这两个符号
所以,房间2不能叫房间2,而是要叫房间10;假设我们用只有0和1两张纸的这种记分牌来表示房间号,则要表示8个房间的话,至少需要↓如下,3个位置的纸张
在这里插入图片描述
现在我问你,小o家养养猪的房间号码刚好用三张条条能够完成编号以及小o的每个房间养满了八只猪的情况下,你能看出小o家有多少只猪吗?
在这里插入图片描述
你会回答:
3个条条,可以表示 2 3 = 8 2^{3}=8 23=8个房间,一个房间8只猪,就是8*8=64只猪

接下来:在小k的世界里面,大家都养猪,一开始的沟通是这样婶的:
在这里插入图片描述

后来养猪多了以后,是这样婶的
在这里插入图片描述

终极进化,是这样的
在这里插入图片描述

在上面的沟通中,默认一个房间养满8只猪

现在看一下猪猪例子与计算机的对应

相关知识:
现在计算机的存储空间一般都是按照字节编址,最早的时候其实不是,只是后来发现按字节编址比较好,就变成一种默认的定律了(例如ascii码里面一个字符是用8位二进制数来表示,所以我一个房间装8只猪,即计算机按1B=8bit来编址,那我每次都同时把一个房间里面的8只猪取出来,然后看这8只猪身上连起来代表了什么意思)

总结

官话:20位地址总线决定了寻址空间的大小是1MB
猪猪世界话:20张条条可以表示多少只猪?
2 20 个房间 × 一个房间 8 只猪 = 2 20 × 8 b i t = 2 20 B 2^{20}个房间\times一个房间8只猪=2^{20}\times8 bit=2^{20}B 220个房间×一个房间8只猪=220×8bit=220B
翻译:
20位地址总线→20张条条可以用来表示房间号
寻址空间的大小→20张条条能表示的房间都养满猪后的猪的只数。就是有几只猪。
一个隔间的猪=1bit
一个房间8只猪=1B=8bit

注意事项

有意见可以友善提出,虽然我也是杠精,但是这里主要是为了简单快速入门理解这个问题,不要杠一些过于细节的东西,可以补充设定之类的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/47147.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记一次由于整型参数错误导致的任意文件上传

当时误打误撞发现的,觉得挺奇葩的,记录下 一个正常的图片上传的点,文件类型白名单 但是比较巧的是当时刚对上面的id进行过注入测试,有一些遗留的测试 payload 没删,然后在测试上传的时候就发现.php的后缀可以上传了&a…

Retrieval-Augmented Multimodal Language Modeling

本文是LLM系列文章,针对《Retrieval-Augmented Multimodal Language Modeling》的翻译。 检索增强的多模态语言建模 摘要1 引言2 相关工作3 方法4 实验5 定性结果6 结论 摘要 最近的多模态模型,如DALL-E和CM3,在文本到图像和图像到文本生成…

大模型一、大语言模型的背景和发展

文章目录 背景模型1 文本LLM模型ChatGLMChatGLM2-6BChinese-LLaMA-Alpaca:Chinese-LLaMA-Alpaca-2:Chinese-LlaMA2:Llama2-Chinese:OpenChineseLLaMA:BELLE:Panda:Robin (罗宾):Fengshenbang-LM…

双亲委派机制

概念 按照类加载器的层级关系逐层进行委派,比如说当我们需要加载一个class文件的时候,首先会去把这个class文件的查询和加载委派给父加载器去执行,如果父加载器都无法加载,那么再尝试自己来加载这样一个class。 好处 安全性&…

【HCIP】生成树--STP

一、STP 1.产生背景 在星状拓扑或者树形拓扑中,当某个设备或者某条链路出现故障,就会导致数据不能正常转发,出现单点故障的问题。 为了防止出现单点故障,一般需要环形拓扑来保证链路的冗余性,当某条链路出现故障&…

Wlan安全——认证与加密方式(WPA/WPA2)

目录 终端认证技术 WEP认证 PSK认证 802.1x认证与MAC认证 Portal认证 数据加密技术 WEP加密 TKIP加密 CCMP加密 TKIP和CCMP生成密钥所需要的密钥信息 802.11安全标准 WEP共享密钥认证、加密工作原理 WEP共享密钥认证 WEP加解密过程 PSK认证以及生成动态密钥的工…

CentOS系统环境搭建(十四)——CentOS7.9安装elasticsearch-head

centos系统环境搭建专栏🔗点击跳转 关于node的安装请看上一篇CentOS系统环境搭建(十三)——CentOS7安装nvm,🔗点击跳转。 CentOS7.9安装elasticsearch-head 文章目录 CentOS7.9安装elasticsearch-head1.下载2.解压3.修…

【Git游戏】通过游戏重新学习Git

在提交树上移动 HEAD HEAD:一个标志符号(通常情况下指向当前分支,间接指向当前最新的提交记录) 可以通过git checkout commitID从而指向提交记录 commitID 本身是一串哈希值(基于 SHA-1,共 40 位) 我们在…

npm/Node.js介绍及快速安装 - Linux CentOS

1.npm介绍 npm(Node Package Manager)是 Node.js 的包管理器。它是一个用于安装、管理和发布 JavaScript 包的工具。npm 使开发者能够轻松地查找和安装现有的 JavaScript 模块,以及创建和共享自己的模块。 以下是 npm 的一些主要功能和概念…

在thinkphp6.0框架下通过什么命令可以生成index控制器和user模拟器?

在ThinkPHP 6.0框架下,可以使用命令行工具生成控制器和模型。以下是生成Index控制器和User模型的命令示例: 生成Index控制器: php think make:controller Index 以上命令会在app目录下的controller文件夹中生成一个名为Index.php的控制器文件…

【广州华锐互动】3D空间编辑器:一款简洁易用的VR/3D在线编辑工具

随着虚拟现实技术的不断发展,数字孪生技术的应用已经被广泛应用于产品设计和制作中,能充分发挥企业应用3D建模的优势,凸显了三维设计的价值,在生产阶段也能够充分发挥3D模型的作用。 如今,广州华锐互动开发的3D空间编辑…

MySQL——基础——自连接

一、自连接 自连接查询语法: SELECT 字段列表 FROM 表A 别名A JOIN 表A 别名B ON 条件...; 自连接查询,可以是内连接查询,也可以是外连接查询 二、自连接演示 1.查询员工 及其 所属领导的名字(将一张表看作是两张同样的表,一张是员工信息表,另一张是老板信息表。员…

线程池的实现全过程v1.0版本(手把手创建,看完必掌握!!!)

目录 线程池的实现过程 线程池的创建 添加任务队列 线程进行处理任务 线程池资源释放 线程池完整程序 线程池v1.0版本总结 线程池的实现过程 实现线程池首先要确定线程池有哪些属性 线程池中线程的数量线程池中已工作的线程数量任务队列任务队列的大小任务队列的锁 还…

Android笔记:在原生App中嵌入Flutter

首先有一个可以运行的原生项目 第一步:新建Flutter module Terminal进入到项目根目录,执行flutter create -t module ‘module名字’例如:flutter create -t module flutter-native 执行完毕,就会发现项目目录下生成了一个modu…

Android Drawable转BitmapDrawable再提取Bitmap,Kotlin

Android Drawable转BitmapDrawable再提取Bitmap&#xff0c;Kotlin <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"…

排序算法:插入排序

插入排序的思想非常简单&#xff0c;生活中有一个很常见的场景&#xff1a;在打扑克牌时&#xff0c;我们一边抓牌一边给扑克牌排序&#xff0c;每次摸一张牌&#xff0c;就将它插入手上已有的牌中合适的位置&#xff0c;逐渐完成整个排序。 插入排序有两种写法&#xff1a; 交…

MySQL——基础——内连接

一、内连接查询语法 隐式内连接 SELECT 字段列表 FROM 表1&#xff0c;表2 WHERE 条件...; 显示内连接 SELECT 字段列表 FROM 表1 [INNER] JOIN 表2 ON 连接条件...; 内连接查询的是两张表交集的部分 二、内连接演示 1.查询每一个员工的姓名&#xff0c;及关联的部门的名称…

mysql 数据库定义语言(DDL)

目录 库的操作 数据库创建 数据库编码集 数据库删除 数据库修改 数据库查询 数据库备份 表的操作 表的创建 查询表 删除表 修改表 库的操作 这里先声明一下&#xff0c;这篇文章主要是讲数据库表的定义操作&#xff0c;也就是 DDL&#xff0c;只要是对数据库以及表…

【Leetcode】116.填充每个节点的下一个右侧节点指针

一、题目 1、题目描述 给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node {int val;Node *left;Node *right;Node *next; }填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则…

Linux学习之ftp安装、vsftpd安装和使用

ftp需要两个端口&#xff1a; 数据端口 命令端口 ftp有两种模式&#xff1a; 被动模式&#xff1a;建立命令连接之后&#xff0c;服务器等待客户端发起请求。 主动模式&#xff1a;建立命令连接之后&#xff0c;服务器主动向客户端发起数据连接&#xff0c;因为客户端可能有防火…