Fork me on GitHub
上一页 1 ··· 86 87 88 89 90 91 92 93 94 ··· 105 下一页
摘要: 作者:虫子君 链接:https://www.zhihu.com/question/19903344/answer/96081382 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 看了好多,觉得下面这个介绍才是我想要的以及能看明白的,CPU和GPU的设计区别CPU和 阅读全文
posted @ 2018-06-21 00:19 yooooooo 阅读(1199) 评论(0) 推荐(0) 编辑
摘要: Flynn分类 处理器就是处理一系列指令和数据的设备,因此,从指令和数据这两个维度,可以对处理器的系统结构分类。1966年, Flynn将处理器系统结构分成了如下4类: SISD( single instruction single data),一次处理一条指令,一条指令处理一份数据,早期的处理器都 阅读全文
posted @ 2018-06-20 19:54 yooooooo 阅读(924) 评论(0) 推荐(1) 编辑
摘要: 1. P4 CPU 结构 奔4处理器是Intel的经典之作,它是采用乱序执行内核的超标量处理器。P4采用的微架构称为 Net Burst,基本结构如下: 奔4处理器微架构被分成了4大部分: (1)存储子系统( Memory subsystem)。 (2)前端( Front end) (3)乱序控制( 阅读全文
posted @ 2018-06-20 19:53 yooooooo 阅读(1322) 评论(0) 推荐(0) 编辑
摘要: 前面介绍了乱序的概念及去相关,这里开始介绍处理器的乱序执行结构。 1. Buffer的作用去耦合 在顺序执行内核中,指令依次流经各个流水线单元,不需要进行缓存,而为了要能乱序执行,首先需要一个Buffer来缓存还没有执行的指令,然后在这个 Buffer中去调度指令的执行顺序。乱序执行内核的基本模型如 阅读全文
posted @ 2018-06-20 19:53 yooooooo 阅读(5875) 评论(0) 推荐(3) 编辑
摘要: 相关是影响乱序调度的罪魁祸首,如果指令2的执行需要依赖指令1的结果,我们就 说这两条指令是相关的,指令2必须在指令1后面执行,无法乱序。 下图描述了指令间的相关性: 1.寄存器相关 当两条语句没有共用寄存器时,它们之间是不相关的,而当两条语句共用寄存器时,它们就有可能相关。 我们以x86汇编来看看指 阅读全文
posted @ 2018-06-17 22:45 yooooooo 阅读(2557) 评论(0) 推荐(0) 编辑
摘要: 分支预测( Branch predictor):当处理一个分支指令时,有可能会产生跳转,从而打断流水线指令的处理,因为处理器无法确定该指令的下一条指令,直到分支指令执行完毕。流水线越长,处理器等待时间便越长,分支预测技术就是为了解决这一问题而出现的。因此,分支预测是处理器在程序分支指令执行前预测其结 阅读全文
posted @ 2018-06-17 16:38 yooooooo 阅读(8279) 评论(0) 推荐(1) 编辑
摘要: [Android7.0 Ninja编译原理 ](https://blog.csdn.net/chaoy1116/article/details/53063082) 引言 使在Android N的系统上,初次使用了Ninja的编译系统。对于Ninja,最初的印象是用在了Chromium open so 阅读全文
posted @ 2018-06-16 23:12 yooooooo 阅读(1220) 评论(0) 推荐(0) 编辑
摘要: 从ARMv7指令集开始,ARM提供3条内存屏障指令。 (1)数据存储屏障( Data Memory Barrier,DMB) 数据存储器隔离。DMB指令保证:仅当所有在它前面的存储器访问操作都执行完毕后,才提交( commit)在它后面的存取访问操作指令。当位于此指令前的所有内存访问均完成时,DMB 阅读全文
posted @ 2018-06-15 11:52 yooooooo 阅读(4231) 评论(0) 推荐(0) 编辑
摘要: "谈乱序执行和内存屏障" 10多年前的程序员对处理器乱序执行和内存屏障应该是很熟悉的,但随着计算机技术突飞猛进的发展,我们离底层原理越来越远,这并不是一件坏事,但在有些情况下了解一些底层原理有助于我们更好的工作,比如现代高级语言多提供了多线程并发技术,如果不深入下来,那么有些由多线程造成问题就很难排 阅读全文
posted @ 2018-06-14 15:18 yooooooo 阅读(965) 评论(0) 推荐(0) 编辑
摘要: 前言 本文涉及的硬件平台是X86,如果是其他平台的话,如ARM,是会使用到MMU,但是没有使用到分段机制; 最近在学习Linux内核,读到《深入理解Linux内核》的内存寻址一章。原本以为自己对分段分页机制已经理解了,结果发现其实是一知半解。于是,查找了很多资料,最终理顺了内存寻址的知识。现在把我的 阅读全文
posted @ 2018-06-13 16:24 yooooooo 阅读(2297) 评论(1) 推荐(1) 编辑
上一页 1 ··· 86 87 88 89 90 91 92 93 94 ··· 105 下一页