硬件结构
文章平均质量分 91
计算机组成原理与硬件基础
杉杉来啦
coffe in,code out.
展开
-
硬件结构——(7) 为什么 0.1 + 0.2 不等于 0.3?
1. 为什么负数要用补码表示?⼗进制数转⼆进制 采用除 2 取余法。例如:数字8转⼆进制的过程如下图:整数类型的数字 在计算机中的存储方式,就是将十进制数 转换成⼆进制。以int 类型的数字为例,int类型大小为32位,其中最高位作为 "符号标志位"(正数的符号位是0,负数的符号位是1),剩余的31位 表示二进制数据。例如:int类型的数字1 的⼆进制数表示如下图:负数在计算机中 用"补码"表示,补码就是将正数的二进制 全部取反再加1。例如:int类型的数字-1 的⼆进制数表示...原创 2021-08-28 11:02:34 · 348 阅读 · 0 评论 -
硬件结构——(6) 软中断
1. 中断是什么?在计算机中,中断是 系统用来响应硬件设备请求 的一种机制。操作系统收到 硬件的中断请求后,会打断正在执行的进程,然后调用内核中的中断处理程序来响应请求。中断是⼀种异步的事件处理机制,可以提高系统的 并发处理能力。操作系统收到了中断请求后,会打断其他进程的运行。所以中断请求的 响应程序,也就是中断处理程序,要尽可能快的执行完,这样可以减少 对正常进程运行调度 的影响。而且,中断处理程序在响应中断时,可能还会"临时关闭中断"。这意味着,在中断处理程序 执行完之前,系...原创 2021-08-27 12:45:44 · 1749 阅读 · 0 评论 -
硬件结构——(5) CPU 是如何执行任务的?
1. CPU 如何读写数据的?(1) CPU框架:先认识CPU架构,才能更好地理解 CPU是如何读写数据的,现代CPU的架构图 如下图所示:可以看到,⼀个CPU中通常会有 多个CPU 核心,比如上图中的 1号和2号CPU核心,并且每个CPU核心 都有自己的L1 Cache和L2 Cache。L1Cache通常分为 dCache(数据缓存) 和 iCache(指令缓存),L3 Cache是多个核心所共享的,这就是CPU典型的缓存层次。上面提到的都是 CPU内部的Cache,CPU之外 ..原创 2021-08-26 20:56:11 · 814 阅读 · 0 评论 -
硬件结构——(4) CPU 缓存⼀致性
1. CPU Cache 的数据写入CPU Cache通常分为三级缓存:L1 Cache、L2 Cache、L3 Cache,级别越低的Cache 离CPU核心越近,访问速度越快,但存储容量相对会更小。在多核心的CPU中,每个核心都有自己的 L1/L2 Cache,而 L3 Cache 是所有核心共享使用的。CPU Cache由多个Cache Line组成,CPU Line(缓存块) 是CPU从内存读取数据 的基本单位,CPU Line由各种 标志+数据块 组成。对数据的操作 除..原创 2021-08-26 09:41:18 · 222 阅读 · 0 评论 -
硬件结构——(3) 如何写出让 CPU 跑得更快的代码?
1. CPU Cache 有多快?问:为什么有了内存,还需要 CPU Cache?根据摩尔定律,CPU的访问速度 每18个月就会翻一倍,相当于每年增长60%左右。虽然内存的速度 也在不断增长,但增长的速度 远小于CPU,平均每年增长7%左右。因此,CPU与内存的访问性能的差距 不断拉大,为了弥补 CPU与内存 之间的性能差距,所以在 CPU内部引入了CPU Cache,即⾼速缓存。)在Linux系统中,可以使用下图的方式 来查看各级CPU Cache的大小:(比如这台服务器,离CPU核心..原创 2021-08-24 17:43:44 · 448 阅读 · 0 评论 -
硬件结构——(2) 存储器金字塔
1. 存储器的层次结构场景:周六去图书馆学校,通常会把一些常⽤的书 放在桌⼦上,当需要⼀本桌上没有的书,则去书架上找。另外,看书时 ⼤脑会思考问题,也会记忆知识内容。可以把CPU 比喻成大脑。⼤脑思考的内容,就好比 CPU寄存器中的数据,能存储的数据是最少的,但处理的速度是最快的。(毕竟大脑不能同时思考太多的事情)⼤脑中的记忆,就好比 CPU Cache(CPU⾼速缓存),处理速度相对寄存器 要慢⼀点,但能存储的数据 相对要多⼀点。CPU Cache 通常会分为 L1、L2、L3 三层...原创 2021-08-23 13:49:54 · 860 阅读 · 0 评论 -
硬件结构——(1) CPU 是如何执行程序的?
1. 图灵机的工作方式图灵机的基本组成如下:有⼀条纸带,纸带由⼀个个连续的格⼦组成,每个格⼦可以写⼊字符,纸带就好⽐内存,⽽纸带上的 格⼦中的字符 就好⽐内存中的数据或程序。 有⼀个读写头,读写头可以读取 纸带上任意格⼦中的字符,也可以把字符写⼊到纸带的格⼦中。 读写头上有⼀些部件,⽐如存储单元、控制单元、运算单元:存储单元:⽤于存放数据。 控制单元:⽤于识别字符 是数据还是指令,以及控制程序的流程等。 运算单元:⽤于执⾏运算指令。例:简单运算 1+2 的执行过程...原创 2021-08-19 23:45:40 · 1324 阅读 · 0 评论