当前位置: 首页 > news >正文

《编码——隐匿在计算机软硬件背后的语言》精炼——第15-16章(十六进制,RAM)

“学习如春起之苗,不见其增,日有所长。” —— 宋代朱熹

文章目录

  • 十六进制
    • 十六进制概述
    • 十六进制表
    • 字节到十六进制
  • 存储器
    • 特定的读功能
    • 特定的写功能
    • RAM
    • 大型RAM阵列

十六进制

十六进制概述

十六进制是一种适用于计算机的进制法。在十进制中,前一位的权重是后一位的十倍,例如288的值是:

288=2* 102+8* 101+8*100

而在十六进制中,前一位的权重是后一位的十六倍。如果要指明这个数是16进制的,可以在后面加h,例如288h表示十六进制的288(初学者可能会弄不明白这里,这里的h仅仅代表这个数是16进制,而不占位)。288h的值是:

288h=2* 162+8* 161+8*160=648(十进制)

十六进制表

请添加图片描述

字节到十六进制

一个字节是八个二进制位,将一个字节四四分开分别转换成十六进制,就完成了到字节表示的八位二进制数到十六进制的转换。举例说明:

  1. 将11011001转换为十六进制。
    在这里插入图片描述
  2. 四四分开这个字节。
    在这里插入图片描述
  3. 分别计算左右的十六进制值。
    在这里插入图片描述
  4. 合并左右的结果,得到最后的结果是B9.

可以验证,等式两边的结果都是185.

总结:对于进制转换来说,只要搞清楚十六进制中每一位权重相差十六倍,十进制、二进制都相似。对于十进制直接参与的进制转换来讲,例如从二进制转换成十进制,则只要除或乘对应的权重就可以;如果不是十进制直接参与的进制转换,例如从二进制转换为十六进制,那么一般以十进制为桥梁进行转换。

存储器

在之前的八位锁存器中,我们已经实现了数据存储的核心功能,但一个完整的存储器还需要特定的读写功能。

我们先回顾一下8位锁存器的结构,也就是8个1位锁存器:
在这里插入图片描述
很显然,在输入端,我们需要实现对特定锁存器的写功能,在输出端则需要实现对特定锁存器的读功能。

特定的读功能

我们先实现相对简单的读功能。读功能是通过8-1选择器来实现的。下面是这个选择器的电路:
在这里插入图片描述
左下角使用三个开关对8个门进行选择,使用了三个二进制位能组成8个不同数的原理。三个控制端和一个数据端连接到与门,在与门中只要三个控制端输入中有一个为0,则输出结果一定为0,因此最后的数据输出只和控制端全1的那个与门所接收的数据端有关。举个例子:

  1. 如果输入端分别为010,则八个与门处的控制端输入分别是101,001,111,011,100,000,110,010;不难看出,只有D2与门的输出端结果取决于数据端,其余的输出都一定为0.
  2. 这八个与门的输出连接到最右端的或门,由于其他七个与门输出都为0,因此输出端的结果取决于D2与门的输出结果,也就是取决于数据端D2

如果没看懂这段电路,可以自己再举个例子按这个步骤走一遍。

特定的写功能

写功能要实现将一个数据输入特定锁存器的功能。因此输入只能有一个开关。这个很好解决,用一个开关连接八个输入即可。选择特定输入的功能也可以用上文的电路。这样构建出的电路称为3-8解码器,电路图如下:
在这里插入图片描述
这个电路的思路和上文基本一样,就不用例子解释了。

RAM

我们最终得到的电路如下:
在这里插入图片描述
这个电路可以实现对特定位置的读写(寻址)及存储。它被称为随机访问存储器(RAM)。符号表示如下:
在这里插入图片描述
三个开关在这里表示为地址。

大型RAM阵列

8位RAM之间可以用两种方式进行连接。

  1. 两个RAM共享地址。
    在这里插入图片描述
    这样连接能做到存储八个数,每个数的位宽是2位,相当于是一个8x2的RAM。
  2. 在上述基础上加入1-2译码器和2-1选择器,一次只能输入到两个寄存器中一个的一位上,构建了一个16x1RAM的效果。
    在这里插入图片描述
    这里最右边的选择端实际上是第四个地址。因此4个地址可以标注16个数。(这里的数位宽不固定,因为可以利用第一个电路扩展位宽)。

上述两个电路一个可以增加存储的数的个数,一个可以扩展所存储数的位宽限制。因此我们可以构建如下的大型RAM阵列:
在这里插入图片描述
这个RAM阵列存储8KB.
请添加图片描述
我是霜_哀,在算法之路上努力前行的一位萌新,感谢你的阅读!如果觉得好的话,可以关注一下,我会在将来带来更多更全面的知识讲解!

相关文章:

《编码——隐匿在计算机软硬件背后的语言》精炼——第15-16章(十六进制,RAM)

“学习如春起之苗,不见其增,日有所长。” —— 宋代朱熹 文章目录 十六进制十六进制概述十六进制表字节到十六进制 存储器特定的读功能特定的写功能RAM大型RAM阵列 十六进制 十六进制概述 十六进制是一种适用于计算机的进制法。在十进制中,…...

leetcode.1376 通知所有员工所需的时间 - bfs/dfs + 树

1376. 通知所有员工所需的时间 目录 一、bfs 二、dfs 题目: 公司里有 n 名员工,每个员工的 ID 都是独一无二的,编号从 0 到 n - 1。公司的总负责人通过 headID 进行标识。在 manager 数组中,每个员工都有一个直属负责人&#x…...

AtCoder Beginner Contest 300——A-G题讲解

蒟蒻来讲题,还望大家喜。若哪有问题,大家尽可提! Hello, 大家好哇!本初中生蒟蒻讲解一下AtCoder Beginner Contest 300这场比赛的A-G题! A - N-choice question 原题 Problem Statement Given integers A A A and…...

Go:值与指针

1. 计算机中的值 在百万年的演化历史中,人类对事物的属性进行了抽象,有了数量、精度、信息等概念的表示,对应的我们称之为整数、小数、文本文字等。计算机出现后,我们使用计算机对真实世界的问题进行建模,通过计算机的…...

【Linux】进程学习(2)---理解进程操作

文章目录 查看进程通过系统目录查看通过ps命令查看 通过系统调用获取进程标识符通过系统调用创建进程初识fork函数fork函数的返回值 进程状态阻塞与运行状态Linux内核源码中的进程状态运行状态-R浅度睡眠状态-S深度睡眠状态-D暂停状态-T僵尸状态-Z死亡状态-X 查看进程 通过系统…...

基于springcloud实现的医院信息系统

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 医疗信息就诊系统,系统主要功能按照数据流量、流向及处理过程分为临床诊疗、药品管理、财务管理、患者管理。诊疗活动由各工作站配合完成,并将临床信息进行整理、处理、汇总、统计、分析等。本系统包括以…...

设计模式-创建型模式-(工厂、简单工厂、抽象工厂)

一、简单工厂模式 上代码 public class FoodFactory {public static Food makeFood(String name) {if (name.equals("noodle")) {Food noodle new LanZhouNoodle();noodle.addSpicy("more");return noodle;} else if (name.equals("chicken")…...

JAVA12新特性

JAVA12新特性 概述 2019年3月19日,java12正式发布了,总共有8个新的JEP(JDK Enhancement Proposals) JDK 12 is the open-source reference implementation of version 12 of the Java SE12 Platform as specified by by JSR 386 in the Java Community Process. JDK 12 reac…...

Nginx 静态文件、反向代理、负载均衡、缓存、SSL/TLS 加密、gzip 压缩 等等

Nginx的功能 1. 静态文件服务器2. 反向代理服务器3. 负载均衡4. 缓存5. SSL/TLS 加密6. URL 重写7. HTTP/28. WebSocket9. 反向代理缓存10. 安全限制11. gzip 压缩12. 请求限速13. 日志记录14. SSL 证书续订 Nginx 是一个高性能的开源 Web 服务器和反向代理服务器,它…...

Linux设备驱动模型(一)

一、sysfs文件系统 sysfs是一个虚拟文件系统,将内核总的设备对象的链接关系,以文件目录的方式表示出来,并提对设备提供读写接口。 二、kobject kobject是内核中对象表示的基类,可以认为所有的内核对象都是一个kobject kobject单…...

【Python入门篇】——Python基础语法(标识符与运算符)

作者简介: 辭七七,目前大一,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: Python入门,本专栏主要内容为Python的基础语法,Python中的选择循环语句…...

扩展 VirtualBox 已分配磁盘的方法

扩展 VirtualBox 已分配磁盘的方法 第一步:用VirtualBox命令行调整已分配磁盘的大小第二步:用windows磁盘管理工具扩展磁盘空间其他无关配置如何选择虚拟机的芯片组 注意:扩展操作只支持 vdi 格式的磁盘,就是VirtualBox自己的磁盘…...

【LeetCode】646. 最长数对链

646. 最长数对链(中等) 思路 这道题和 300. 最长递增子序列 类似,我们可以定义 dp 数组,其中 dp[i] 表示以 i 结尾的子序列的性质。在处理好每个位置后,统计一遍各个位置的结果即可得到题目要求的结果。 但是题目中强…...

Makefile教程(Makefile的结构)

文章目录 前言一、Makefile的结构二、深入案例三、Makefile中的一些技巧总结 前言 一、Makefile的结构 Makefile 通常由一系列规则组成,每条规则定义了如何从源文件生成目标文件。每个规则又由目标、依赖和命令三部分组成。 下面是 Makefile 规则的基本结构&…...

SpringMVC(后)SSM整合

10、文件上传和下载 10.1、文件下载 ResponseEntity用于控制器方法的返回值类型&#xff0c;该控制器方法的返回值就是响应到浏览器的响应报文 使用ResponseEntity实现下载文件的功能 RequestMapping("/testDown") public ResponseEntity<byte[]> testResp…...

【博弈论】【第一章】博弈论导论

博弈论导论 【例题】选择数字【例题】巴什博弈【例题】射手博弈博弈论的基本概念&#xff1a;参与人战略行动信息支付函数【例题】分100元 课程概述&#xff1a; 【例题】选择数字 两个参与人A和B&#xff0c;轮流选择[3,4,5,6,7,8,9]中的一个整数&#xff08;可重复)。当累计…...

keil移植linux(makefile)

文章目录 运行环境&#xff1a;1.1 freeRTOS_LED工程移植1)修改cubeMX配置2)setting设置3)launch设置4)修改makefile5)修改代码6)实验效果 运行环境&#xff1a; ubuntu18.04.melodic 宏基暗影骑士笔记本 stm32f427IIH6 stlink 9-24v可调电源 robomaster A 板 1.1 freeRTOS_L…...

C++——类和对象(3)

作者&#xff1a;几冬雪来 时间&#xff1a;2023年5月6日 内容&#xff1a;C类和对象内容讲解 目录 前言&#xff1a; 1.运算符重载&#xff08;续&#xff09;&#xff1a; 2.赋值重载&#xff1a; 结尾&#xff1a; 前言&#xff1a; 在上一篇博客中我们再一次讲解了…...

itop-3568开发板驱动学习笔记(24)设备树(三)时钟实例分析

《【北京迅为】itop-3568开发板驱动开发指南.pdf》 学习笔记 文章目录 生产者属性#clock-cells 属性clock-output-namesclock-frequencyassigned-clockclock-indicesassigned-clock-parents 消费者属性 设备树中的时钟信息以时钟树形式体现&#xff0c;时钟树包括时钟的属性和结…...

linux中使用docker部署微服务

目录 一、制作jar包&#xff08;如果看一眼很简单&#xff0c;可以直接使用结尾的jar&#xff09; 1.首先创建一个微服务 demo2 2.启动微服务&#xff08;在DemoApplication上右键执行启动就行&#xff09; 注意&#xff1a;其他操作导致的 可能遇到的报错 3.修改端口 4.新…...

OpenClaw性能优化:降低GLM-4.7-Flash任务执行的Token消耗

OpenClaw性能优化&#xff1a;降低GLM-4.7-Flash任务执行的Token消耗 1. 问题背景&#xff1a;Token消耗的隐形成本 上周在尝试用OpenClaw自动整理项目文档时&#xff0c;我盯着账单上的Token消耗数字陷入了沉思——一个简单的文件归类操作&#xff0c;竟然消耗了相当于人工处…...

DAMOYOLO模型在计算机组成原理教学中的可视化应用

DAMOYOLO模型在计算机组成原理教学中的可视化应用 计算机组成原理这门课&#xff0c;对很多学生来说&#xff0c;就像一本天书。寄存器、ALU、数据通路、指令周期……这些抽象的概念&#xff0c;光靠课本上的方块图和文字描述&#xff0c;理解起来确实费劲。学生常常抱怨&…...

Dify企业级部署安全水位评估模型(含17项量化指标+自动化检测脚本),仅开放给前200家通过ISO 27001预审的企业

第一章&#xff1a;Dify企业级私有化部署安全水位评估模型总览Dify 作为开源大模型应用开发平台&#xff0c;其企业级私有化部署面临身份认证、数据隔离、API 安全、审计合规等多维安全挑战。为系统化识别风险边界、量化防护能力并支撑持续改进&#xff0c;我们构建了“安全水位…...

GB28181 Catalog信令交互全解析:从SIP消息到设备列表获取

GB28181 Catalog信令交互全解析&#xff1a;从SIP消息到设备列表获取 在视频监控领域&#xff0c;GB28181协议作为国家标准&#xff0c;已经成为设备互联互通的重要技术规范。其中&#xff0c;Catalog信令交互作为设备发现和管理的核心环节&#xff0c;直接关系到监控系统的可用…...

企业数据架构、应用架构、技术架构设计方案(PPT文件)

数据架构设计方法 1.1 数据架构的原则 1.2 数据资产目录设计 1.2.1 数据域设计 1.2.2 概念实体设计 1.2.3 数据资产目录设计样例 1.3 概念数据模型设计 1.4 逻辑数据模型设计 1.5 数据分布蓝图设计 1.5.1 数据流设计 1.5.2 数据源设计 1.6 整体蓝图设计 1.6.1 跨域主题域模型设…...

文墨共鸣多场景:法律文书相似性筛查、医疗报告术语一致性验证

文墨共鸣多场景&#xff1a;法律文书相似性筛查、医疗报告术语一致性验证 1. 项目概述 文墨共鸣是一个将深度学习技术与传统美学相结合的语义相似度分析系统。基于阿里达摩院开源的StructBERT大模型&#xff0c;专门针对中文语义理解进行了优化&#xff0c;能够精准识别文字间…...

【Azure 环境】在Windows环境中使用OpenSSL生成自签名证书链步骤分享

问题描述 在Web应用部署环境中&#xff0c;常常需要为内部系统或测试环境生成自签名证书&#xff0c;尤其是包含根证书、中间证书和服务器证书的完整证书链&#xff0c;并最终生成包含私钥的 PFX 文件&#xff08;.pfx&#xff09;。 如何使用 openssl 工具一步步完成这些操作…...

Home Assistant:开源智能家居平台,打造全屋智能的中枢神经

Home Assistant&#xff1a;开源智能家居平台&#xff0c;打造全屋智能的中枢神经 背景 智能家居时代&#xff0c;设备越来越多&#xff0c;但问题也随之而来&#xff1a; 不同品牌的设备无法互联互通米家、华为、苹果 HomeKit 各成体系云端控制延迟高&#xff0c;依赖网络隐…...

Step3-VL-10B模型解析:计算机组成原理视角下的高效推理

Step3-VL-10B模型解析&#xff1a;计算机组成原理视角下的高效推理 从底层硬件视角理解大模型推理的优化奥秘 1. 引言&#xff1a;当大模型遇见计算机组成原理 你可能已经用过很多AI模型&#xff0c;生成过文字、图片&#xff0c;甚至视频。但有没有想过&#xff0c;当你输入一…...

用Keysight/是德科技信号源与频谱仪,一步步搭建5G NR接收机动态范围与ACS测试环境

用Keysight信号源与频谱仪构建5G NR接收机测试环境的实战指南 在5G基站研发与验证过程中&#xff0c;接收机动态范围与邻道选择性(ACS)测试是验证设备抗干扰能力的关键环节。本文将基于Keysight N5182B矢量信号发生器和N9020B MXA频谱分析仪&#xff0c;手把手演示如何搭建符合…...