随笔分类 - CPU
摘要:Flynn分类 处理器就是处理一系列指令和数据的设备,因此,从指令和数据这两个维度,可以对处理器的系统结构分类。1966年, Flynn将处理器系统结构分成了如下4类: SISD( single instruction single data),一次处理一条指令,一条指令处理一份数据,早期的处理器都
阅读全文
摘要:1. P4 CPU 结构 奔4处理器是Intel的经典之作,它是采用乱序执行内核的超标量处理器。P4采用的微架构称为 Net Burst,基本结构如下: 奔4处理器微架构被分成了4大部分: (1)存储子系统( Memory subsystem)。 (2)前端( Front end) (3)乱序控制(
阅读全文
摘要:前面介绍了乱序的概念及去相关,这里开始介绍处理器的乱序执行结构。 1. Buffer的作用去耦合 在顺序执行内核中,指令依次流经各个流水线单元,不需要进行缓存,而为了要能乱序执行,首先需要一个Buffer来缓存还没有执行的指令,然后在这个 Buffer中去调度指令的执行顺序。乱序执行内核的基本模型如
阅读全文
摘要:相关是影响乱序调度的罪魁祸首,如果指令2的执行需要依赖指令1的结果,我们就 说这两条指令是相关的,指令2必须在指令1后面执行,无法乱序。 下图描述了指令间的相关性: 1.寄存器相关 当两条语句没有共用寄存器时,它们之间是不相关的,而当两条语句共用寄存器时,它们就有可能相关。 我们以x86汇编来看看指
阅读全文
摘要:分支预测( Branch predictor):当处理一个分支指令时,有可能会产生跳转,从而打断流水线指令的处理,因为处理器无法确定该指令的下一条指令,直到分支指令执行完毕。流水线越长,处理器等待时间便越长,分支预测技术就是为了解决这一问题而出现的。因此,分支预测是处理器在程序分支指令执行前预测其结
阅读全文
摘要:"谈乱序执行和内存屏障" 10多年前的程序员对处理器乱序执行和内存屏障应该是很熟悉的,但随着计算机技术突飞猛进的发展,我们离底层原理越来越远,这并不是一件坏事,但在有些情况下了解一些底层原理有助于我们更好的工作,比如现代高级语言多提供了多线程并发技术,如果不深入下来,那么有些由多线程造成问题就很难排
阅读全文
摘要:如果你经常使用Linux,你应该遇到过这个术语“僵尸进程Zombie processes”。那么什么是僵尸进程?它们是怎么产生的? 什么是僵尸进程? 我们都知道进程的工作原理。我们启动一个程序,开始我们的任务,然后等任务结束了,我们就停止这个进程。进程停止后,该进程就会从进程表中移除。 你可以通过S
阅读全文
摘要:state域能够取5个互为排斥的值(通俗一点就是这五个值任意两个不能一起使用,只能单独使用)。系统中的每个进程都必然处于以上所列进程状态中的一种。
阅读全文
摘要:转:http://blog.csdn.net/hongchangfirst/article/details/7075026 大家都知道进程,可是知道linux是怎么管理其进程的吗?每一个进程都有一个进程描述符,具体是task_struct结构体存储相关的信息,在linux/sched.h文件里定义,
阅读全文


浙公网安备 33010602011771号