新书入账-深入理解计算机系统

能算是一本经典教材的后续版本。

内容比较新颖,有固态硬盘,intel core i7 等相关的知识。

比较适合使用高级语言编程程序员学习底层知识。

内容比较深入。

就是翻译确实不敢恭维。。

推荐另一本适合程序员来学习底层的书籍-《编程卓越之道 第一卷:深入理解计算机》

卓越之道的知识比这本书浅,但是适合不是对底层很熟悉的人阅读。

Computer Systems:A Programmer's Perspective, Second Edition

Computer Systems:A Programmer's Perspective, Second Edition

[阅读全文] »

LDD读书笔记第十章-中断处理

当硬件需要处理器关注时(如硬盘读取完成,通知可以继续读取其他内容。),产生某个事件通知处理器。这种机制叫做中断。一个中断仅仅是个信号。

准备并口

在没有设定产生中断之前,设备不会产生中断。
对于并口标准来说设置端口2(0x37a:0×378+2,0x27a:0×278+2或者其他)的第四位来启用中断报告,初始化的时候用outb莱斯设置这个位。
中断启用时,每当引脚10(ACK)位的电平发生从底到高改变时,并口就会产生一个中断。

[阅读全文] »

LDD读书笔记第九章-与硬件通信

I/O端口和I/O内存

i/o寄存器和常规内存

为了防止边界效应的干扰,驱动程序必须确保不使用高速缓存,并且在访问寄存器时不发生读或写指令的从新排序。
高速缓存:把底层硬件配置成在访问IO区域时禁止硬件缓存。
从新排序:使用内存屏障
[阅读全文] »