内存和字节

您所在的位置:网站首页 内存单元的内存单位 内存和字节

内存和字节

#内存和字节| 来源: 网络整理| 查看: 265

文章目录 概念关系CPU对存储器的读写地址总线数据总线控制总线内存地址空间CPU工作原理寄存器 指令集 参考链接

概念

位 :bit。表示二进制位; 字节 : byte。用B来简写。1个字节等于8个比特(1byte = 8bit)。 1KB = 1024B 1MB = 1024KB 1GB = 1024MB 1TB = 1024GB 字:字长直接反映了一台计算机的计算精度,为适应不同的要求及协调运算精度和硬件造价间的关系,大多数计算机均支持变字长运算,即机内可实现半字长、全字长(或单字长)和双倍字长运算。在其他指标相同时,字长越大计算机的处理数据的速度就越快。早期的微机字长一般是8位和16位,386以及更高的处理器大多是32位。市面上的计算机的处理器大部分已达到64位。**字长由微处理器对外数据通路的数据总线条数决定。**和通用寄存器的宽度一致。

寄存器由什么组成http://m.elecfans.com/article/735108.html

关系

电脑程序将硬盘数据加载到内存,cpu再从内存读数据去处理,处理完后给内存,电脑软件程序再从内存取处理后的结果。当内存不够的时候,可能会将一部分暂时不用的内存临时放在硬盘里,叫做虚拟内存,等要用的时候再从虚拟内存拿出来到内存,这样虚拟内存信息的读取就多了一个步骤,用虚拟内存的速度就慢。

CPU对存储器的读写

CPU对存储器的读写需要和芯片进行三类信息的交互:

存储单元的地址(地址信息)器件的选择,读取或者写入命令(控制信息)读或写的数据(数据信息)

以上三种信息交互怎么实现?电子计算机能处理、传输的信息都是电信号,电信号当然要用导线传送。在计算机中专门连接CPU和其他芯片的导线,通常称为总线(BUS)。总线的划分:

在物理上是一根根导线的集合;逻辑上划分为:地址总线、数据总线、控制总线 在这里插入图片描述 这里的内存不止是内存条,还包括显卡内存、网卡内存等内存。 CPU读:CPU就发送一个地址信息给内存,发出控制信息的器件先说“我要读”,然后存放数据的器件就把地址上的数据读进去; CPU写:CPU就发送一个地址信息给内存,发出控制信息的器件先说“我要写”,然后存放数据的器件就给地址上写进数据,原来改地址的信息就被覆盖了; 地址总线

CPU就是通过地址总线来传递地址单元信息的,不管什么数据,只要是从地址总线传递来的就全部当做地址用,这个地址都会在存储单元找个地址映射出来,地址总线上能够传递多少个不同的信息,就决定了CPU可以对多少个存储单元进行寻址,即地址总线根数决定寻址能力的大小。

地址总线如何传递信息呢? 在这里插入图片描述 一个CPU有N根地址总线,就可以说这个CPU的地址总线的宽度为N,CPU寻址能力为2的N次方个内存单元;一个地址能索引一个存储单元,一个存储单元也就是一个字节(Byte,或者byte,1byte = 8bit)。

数据总线

CPU与内存或其他器件之间的数据传送是通过数据总线完成的。数据总线的宽度决定了CPU和外界的数据传送速度。数据总线就是高速公路,路越宽,单位时间内通行的数据越多。如要传输16位的一个数据,8位数据总线的CPU需要发送传递2次,第一次把低8位传过去,第二次把高8位传过去,而16位CPU一次就可以传输完。数据总线决定了CPU的速度。64位CPU就是一次可以走8个字节。把一个存储单元当做一个房间,这个房间的门牌号是8位0/1数据组成,8位CPU一次发送的地址就是一个房间,下次再发送地址就是另一个房间,可以遍历每一个房间,而64位CPU一次发送8个房间号,一次就取走了8个房间。 在这里插入图片描述 在这里插入图片描述

控制总线

在这里插入图片描述 一根控制总线的。每条线都代表控制一个器件。(这句话有疑问,不确定) 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

内存地址空间

在这里插入图片描述 首先介绍主板和接口卡。 在这里插入图片描述 在这里插入图片描述 这里的接口卡,比如声卡、网卡、显卡等,CPU控制显卡,显卡再控制显示器。 一个操作系统不可能识别所有的硬件,如各类网卡、如各类显卡,所以就需要驱动作为中间角色,驱动本质就是一段代码,跑在系统的内核中,有了驱动,系统就认识了对应的硬件,系统和硬件之间就可以互相通信了,就可以正常工作了。 在这里插入图片描述 在这里插入图片描述 开机时,先运行主板上的BIOS,检查CPU、内存、硬盘、键盘等有没有插好等接口问题。如果病毒攻击了BIOS,杀毒软件肯定杀不了,因为还没进入操作系统呢。 不只主板有自己的BIOS,显卡、网卡等都有自己的BIOS,BIOS用于硬件和其他硬件的识别和接口,所以每个硬件必须有,而且不能被改变(否则会被木马攻击等用不了了),写在ROM上。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 各类存储器把自己需要的存储空间大小上报给内存,内存把它们全部串联起来,为了让CPU区分是哪个存储器的操作,就需要给内存空间地址分段。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

CPU工作原理

在这里插入图片描述

寄存器

在这里插入图片描述 你想控制哪个硬件,你就编程控制它的寄存器就可以了。 在这里插入图片描述 采用64位处理技术的CPU,相对32位而言,64位指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集就是运行64位数据的指令,处理器一次运行64bit数据。

我们平时说的32位、64位CPU的位数就是通用寄存器的最大宽度的位数。 如果要实现64位的处理速度,需要满足以下3个条件: 1。64位CPU; 2。64位操作系统; 3。64位的操作软件。

一个CPU的通用寄存器的位数和地址总线的个数不用有任何关联,比如8086有20根地址总线可以访问的内存大小为1M,而8086内部通用寄存器是16位的,寻址能力是64K。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

指令集

指令集,英文名Instruction Set Architecture(ISA),是软硬件共生的接口。 在这里插入图片描述 简单来说,ISA就是一个设计标准,它规定了最底层软件代码(汇编语言)在硬件上对应的二进制流。根据这个标准,软件设计师(这里专指汇编器设计)需要将高级别的代码转化为目标ISA对应的汇编,而硬件设计师则是根据这些规定好的二进制流在电路上实现对应的功能。 在这里插入图片描述 在这里插入图片描述

参考链接

本篇blog主要是参考以下网页链接,感谢各位作者们的工作。 https://www.cnblogs.com/wtch519361/p/5278343.html https://baijiahao.baidu.com/s?id=1589993657176543586&wfr=spider&for=pc 重要来源:bilibili上小甲鱼的汇编课程; https://www.bilibili.com/video/BV1zW411n79C?from=search&seid=14000029338822100688 指令集



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3