《深入理解计算机系统》读书笔记1

时间:2021-08-16 03:41:31

读书笔记;

    《深入理解计算机系统》是全世界最经典的计算机科学著作,它是美国卡内基。梅隆大学计算机科学导论教材。是学习计算机软件和硬件的超级好书,本书是由该大学计算机学院院长,IEEE院士布莱恩特所著,此书主要涵盖了多门计算机专业课程,包括计算机导论,计算机体系结构,计算机组成原理,汇编语言程序设计,微处理器设计等课程。为大家详细描述了计算机系统的实现细节,通过c程序是如何映射到计算机系统上的。以及程序是如何在计算机运行的。本书一共包括12章内容。第一章为计算机系统漫游。随后两章为信息的表示与处理。程序的机器级表示。这两章简述了计算机的算术运算,重点描述了无符号数与数的二进制补码表示,讨论了该如何表示数字以及确定一个给定的定长。还有其编码范围。随后讲述了如何阅读c编译器生成的IA32x86-64汇编语言。说明了为不同控制结构比如说条件,开关等生成的基本指令。还说明了不同数据结构的分配与表示。它们都是以机器级程序表示的。

    下面详细介绍第一章:

     这一章总体来说通过研究HELLO WORD程序的生命周期,介绍计算机系统的基本概念及主题。

下面分条目叙述的基本概念。

   1.计算机系统是由硬件与系统软件构成的,它们共同工作来运行应用程序。

   2.大部分现代系统都是以asc||码来表示文本字节。所有其他文件成为二进制文件。

下面是一个hello的程序:

#include<stdio.h>

int main{

   printf("hello,world\n");

}

然后通过跟踪这个程序来系统学习。为了在系统上运行这个程序,每条c程序必须被其他程序转换为机器可以识别的机器级指令。然后这些指令按照一种称为可执行目标文件的格式打包。以二进制磁盘文件的形式存放起来。目标程序称为可执行目标文件。

c编译器把这个程序翻译成可执行目标文件。这个过程分为四个阶段。执行这四个阶段的程序(预处理器,编译器,汇编器,链接器)一起构成编译系统。

《深入理解计算机系统》读书笔记1
下面介绍一下各个阶段{

预处理阶段:预处理器根据以字符#开头的命令,修改原始的c程序。

编译阶段:编译器将文本文件hello.i转换为hello.s

汇编阶段:汇编器将hello.s转换为机器语言指令。

链接阶段:处理合并文件。

处理器读并解释存储在存储器中的指令。

了解一个典型系统的硬件组成

《深入理解计算机系统》读书笔记1
1,。总线:

贯穿整个系统的一组电子通道,称为总线。他携带信息字节并负责在各个部件间传递。

2.i\o设备:

输入输出设备是系统与外部世界的联系通道。通常包括4个设备、;用于用户输入的键盘和鼠标。用于输出的显示器,用于存储数据和程序的磁盘驱动器。每个输入输出设备都必须通过一个控制器或适配器与io总线相连。

3.主存:

它是一个临时存储设备,在处理器执行程序时,用来存放和处理数据。主存是由一组DRAM芯片构成的。从逻辑上讲,它是一个字节数组。

4处理器:

CPU就是简称处理器,是解释存储在内存中指令的引擎。处理器的核心是一个字长的存储设备。称为PC..任何时刻,PC都指向有该条指令的地址。详细的后面的文章介绍。

3)高速缓存

《深入理解计算机系统》读书笔记1

高速缓存存储器采用了更小更快的存储设备,作为暂时存储几节设备,用来存放处理器近期可能会用的数据。有些机器采用二级缓存,但是08年刚上市的core i7处理器采用了四级缓存形式,有效的加快了速度。

4)存储设备的结构层次

《深入理解计算机系统》读书笔记1

如图所示,展示了一个存储器层次结构,从上至下,设备变得越来越慢,容量越来越大,并且每字节越来越便宜。寄存器文件位于最顶部,也就是第0级。这里展示了三层高速缓存L1-L3。主存在第4层。

5)操作系统的管理硬件

操作系统是可以看成应用程序和硬件之间插入一层软件,他有两个基本功能。1.防止硬件被失控的应用程序滥用。2.向应用程序提供简单的机制来控制复杂而大相近庭的低级硬件设备。

6)进程

进程是正在执行程序的一个实例,它是计算机科学中最成功的抽象概念,在一个系统中可以运行多个进程,而每个进程好像是自己独占硬件系统,这是系统提供的两个假象之一,第一个假象是进程好像自己独占处理器,第二个假象是自己好像是在独占内存空间。其实这些现象原自于系统是轮流交错的机制。准确来说应是上下文切换。后面文章将详细说。

最后一个主题是虚拟存储器。

它是一个虚拟概念。他为每个进程提供一个假象。即每个进程都独占内存。他们看到的是一致的存储器。称为虚拟地址空间。它用页这个概念作为工具。后面也将介绍。

以上就是第一章的简单总结。希望能对自己以及大家有所帮助!