《计算机组成与体系结构 性能设计》和《现代体系结构上的UNIX系统》

《计算机组成与体系结构 性能设计》

讲得不细致,但是有广度,不怪我看不懂。这本书一共5部分。第2部分计算机系统由于不是重点,估计也没有其它的书讲的清楚,第4部分是关于早期CISC处理器的微程序控制的,本科只接触过一点点,基本看不懂书上在说什么。重点在第3部分和第5部分,这两部分将处理器的发展历史讲清楚了。

最早出现的是复杂指令集计算机(Complex Instruction Set Computer,CISC)处理器,但是那时候还不叫这个名字。受制于内存大小,还有为了方便编译器,CISC提供了很多功能,还有各种各样的寻址模式,以图更加接近高级语言。但是随着计算机的发展,研究发现更加接近高级语言并不是一个有效的策略,编译器很少使用复杂的指令,而且不利于流水线技术(pipeline),所以就诞生了精简指令计算机(Reduced Instruction Set Computer,RISC)。RISC的最大特点是大量使用寄存器,还有指令定长,更重要的是便于进行流水线技术。

流水线满流的情况下可以保证一个时钟周期完成一条指令,这虽然很快,但不是真正的并行。所以在流水线的基础上又提出了超标量(superscalar)和超长指令字(Very Long Instruction Word)。一条流水线只能进行一个标量运算,如果有多条流水线和多个算术逻辑单元(Arithmetic and Logic Unit),那就能同时进行多个标量运算了,这就是指令级并行(Instruction-level parallelism)。在消除了相邻指令之间寄存器的伪相关性后,就可以乱序执行,实现超标量计算。

在超标量处理器中,还只是一个线程中指令之间的并行。为了更高的并行度,又提出了处理器的并行多线程技术(simultaneous multi-threading),使得一个处理器可以同时执行两个线程,而每个线程又可以按照超标量的方式执行,这就是单核双线程的处理器。

Intel最初的8086处理器属于CISC。80386奠定了x86的基础,之后在80486中实现了流水线。Pentium 4是超标量处理器,同时也是超线程(hyper-threading)处理器(单核双线程),它将外层的CISC转换成内部的RISC,通过寄存器重命名的方式实现了20段流水线的超标量执行,此后就是朝着多核处理器发展了,所以叫做Core系列,例如i5的双核四线程和i7的四核八线程。

《现代体系结构上的UNIX系统》

本以为能很快看完的书,但是看了半年。这书读起来太困难了,可能是翻译的问题,也可能是自己水平太低。

这本书分3部分:

  • 第1部分是讲高速缓存的,尤其对虚拟高速缓存做了很多介绍,包括带有进程键的虚拟高速缓存和物理地址标记的虚拟高速缓存,最后才是物理高速缓存。常见的英特尔x86 CPU上都是物理高速缓存,所以之前对虚拟高速缓存也没有太多了解,这应该属于这本书最大的特色了吧!
  • 第2部分是讲对称多处理(SMP)的,从内容安排来看可以很好的把握SMP的历史脉络。UP机器上的于原子操作和互斥有着天然的优势,但是放到MP机器上就不成立了,所以最早的方法是主从内核,一个处理器运行内核,其余处理器不能运行内核。进而又提出了内核自旋锁,这样所有处理器都可以运行内核了,但是自旋锁这种互斥方法局限性太多,因此又提出了信号量,它改进了互斥的方法,使用信号量队列可以一次只唤醒一个进程,而不是像自旋锁一样唤醒所有进程。信号量可以说是同步方法的最早设计,后续又有了管程、事件等等方式。这一部分的最后还介绍了Dekker算法非定序存储模型。
  • 第3部分是将MP系统的高速缓存的,最主要的问题也就是高速缓存一致性的问题,介绍了软件和硬件的解决方法。软件的方法主要就是共享数据不缓存,或者适当的时候冲洗高速缓存,这种对于既有软件很不友好。硬件的方法是使用硬件高速缓存一致性协议,主要包括写—使无效协议和写—使更新协议,还有交叉互联开关总线中使用的基于目录的高速缓存一致性方法,这些方法对软件都是透明的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值