[学习笔记]《深入了解计算机系统 》(CS:APP)第一章 1.1-1.4

计算机系统=硬件+系统软件。

1.1 信息就是    位+上下文

1.

程序的生命周期是从一个源程序(源文件开始的),而源程序实际上就是一个由值0和1组成的位,又叫做比特(BIT,Binary digit),比特是二进制数中的位,信息量的度量单位,为信息量的最小单位。比如二进制数0100就是4比特。

2.

8个位bit组成了一个字节Byte。每个字节表示程序中的某些文本字符。

3.

大部分现代计算机系统都适用ASCII标准来表示文本字符,这种方式就是用唯一的单字节大小的整数值来表示每个字符。如下图所示:

 4.

而我们编写的程序中每个文本行都是以一个看不见的换行符‘\n’来结束的,它所对应的整数值是10.像我们敲出来的代码文件(比如hello world)叫做 文本文件,所有其他文件都称为二进制文件。

5.

以上说明了一个基本思想:系统中所有信息——包括磁盘文件,内存中的程序,内存中存放的用户数据,以及网络上传送的数据都是由一串bit表示。区分的方法是读到这些数据对象时候的上下文。在不同的上下文中,同样的一个字节序列(1 Byte=8 bit)可能表示一个整数,浮点数,字符串或者机器指令。

1.2程序被其他程序翻译成不同格式

1.例如hello world这样的程序生命周期是从一个高级的c语言开始的,因为这种形式能被人读懂,但是为了在系统上运行程序,每条语句都要被其他程序转化为一系列的低级的 机器语言,然后这些指令按照一种称为可执行目标程序的格式打包,并以二进制磁盘文件的形式存放起来。目标程序也称为可执行目标文件

2.源文件目标文件的转化是由编译器驱动程序完成的。

3.编译器驱动程序读取源程序比如hello.c,将他翻译成一个可执行的目标文件hello。共有四个阶段,执行这四个阶段的程序(预处理器,编译器,汇编器和链接器)构成了编译系统(compilation system)。在这里插入图片描述

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

1.4.1  系统的硬件组成

        1.总线

                        贯穿整个系统的是一组电子管道,称作总线。它携带信息字节并且负责在各个部件之间传递。通常总线被设计成传送定长的字节块,也就是字(word)。字中的字节数(字节长)是基本的系统参数,每个系统不太相同。现在的的机器字长要么是4个(32位)//4Byte=32bit。要么就是8个字节(64位)。//比如我就是64位操作系统

        2.I/O设备

                        每个IO设备都通过应该控制器或者适配器与IO总线相连接。控制器与适配器的区别是封装方式。控制器是I/O设备本身或者系统的主板印刷电路板(主板)上的芯片组。而适配器一般是一块插在主板插槽上的卡。

                        功能是在I/O设备与I/O总线间传递信息。

        3.主存

                        主存是一个临时储存设备,在处理器执行程序时,用来存放程序和处理的数据

                        从物理上来说,主存是一组动态随机存取存储器DRAM)芯片组成的。

                        从逻辑上来说,存储器是一个线性的字节数组。每个字节都有唯一的地址(数组索引)。这些地址都是从0开始。一般来说,组成程序的每条机器指令都是由不同数量的字节构成,比如cpp中的int float longlong char 等类型定义一个变量时的大小是不同的。

                        在运行Linux的x86—64机器上,short类型的数据要2个Byte,int和float要4个,long和double要8个。

        4.处理器

                中央处理器(CPU)简称处理器,是解释或者执行存储在主存中指令的引擎,处理器的核心是一个大小为 1 Byte的存储设备(或者寄存器),称为程序计数器(PC)。Whenever,PC都指向主存中的某条机器语言指令(即含有该条指令的地址)。

                断电就无

                寄存器文件(register file)    算数/逻辑单元(ALU)

1.4.2 运行hello程序

 

 

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值