深入理解计算机系统(1)

一、信息就是位+上下文

为什么信息就是位+上下文

eg:int a = 10;

a在内存中存储的是00000000000000000000000000001010,以整形的方式解读他是10,但是以浮点数的方式解释,他就不是10了,因此上下文不同,即使内存中存储的一段相同的二进制位,解读方式也不一样。

(一)、源程序(源文件)(hello.c)

源程序中的每一个字符都用ASCII码值表示

#include<stdio.h>int main(){    printf("Hello world\n");    return 0;}

上面这个程序中每一个字符都由对应的ASCII码值表示。

(二)、c语言优点

  1. 与Unix操作系统关系密切,C语言是为了设计Unix系统而开发的。
  2. C语言小儿简单。
  3. C语言是为了实践目的而设计的。

二、程序被其它程序翻译成不同的格式

GCC编译器驱动  hello.c--->可执行目标文件hello

 

三、了解编译器如何工作的好处

1.优化程序性能

2.理解链接时的错误

3.避免安全漏洞

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

(一)、系统的硬件组成

1.总线

贯穿系统的一组电子管道

作用:传输字(1个字4个字节(32位),1个字8个字节(64位))

为了方便理解,假设总线每次只传输一个字,1个字四个字节。

2.IO设备

用户输入的键盘和鼠标

用户输出的显示器

长期存储数据和程序的磁盘驱动器(磁盘),最初的可执行目标程序hello就储存在这里。

3.主存

临时存储设备,存放程序和程序处理的数据。

4.

4.1处理器(中央处理单元,CPU)

 

1.CPU的核心是寄存器(或者叫PC计数器)(实质上是大小为1个字(4个字节)的存储区域)

2.任何时刻PC都指向主存中的某条机器语言,PC中存储的是某一条指令的地址,直到系统断电前,他都不断地执行着处理器要他执行的指令,PC不断更新指向下一条指令,下一条指令与刚刚执行的指令不一定是相邻的。

 

3.寄存器文件:由一些字长为1的寄存器组成。

4.在指令要求下CPU会进行的一些操作。

  1. 1.加载:把一个字节或者一个字从主存复制到寄存器,以覆盖寄存器原来的内容。
  2. 2.存储:把一个字节或者一个字从寄存器复制到主存的某个位置,以覆盖寄原来的内容。
  3. 3.操作:把两个寄存器的内容复制到ALU(算数/逻辑单元)中,ALU对这两个字作算数操作,将运算结果放到原来的一个寄存器中,覆盖原来寄存器中的内容。
  4. 4.跳转:从指令中拿一个字,复制到PC中,覆盖PC中原来的值。

4.2hello程序的运行过程

1.

程序写完保存后,就是被存储在了硬盘中,运行的时候,从硬盘中把信息先复制到主存,再从主存复制到寄存器,再从寄存器通过IO总线输出到显示器上面

请看下图。

 

2.根据机械原理,较大的存储设备要比较小的存储设备运行得慢。

快速设备造价远远高于同类的低速设备。

寄存器(造价较高)

主存

高速缓存存储器

大小

只能存储几百个字节

可以存储几十亿个字节。

数十万到数百万字节

处理器读数据的速度

主存速度的100倍

比寄存器慢,但却是主存的5~10倍

五、高速缓存至关重要

为了解决寄存器内存小,主存访问速度慢等等这些问题,系统设计者采用了更小更快的存储设备:高速缓存存储器(简称高速缓存)

 

那么,有了高速缓存后,程序写完代码保存,即就是被存储在了硬盘中,运行的时候,从硬盘中把信息先复制到主存,再从主存复制到寄存器或者高速缓存存储器,再从寄存器通过IO总线输出到显示器上面。

我们得到一个重要结论:程序员可以利用高速缓存将程序的性能提高一个数量级。

六、存储设备形成层次结构

每一个计算机的存储设备都可以画出一张存储层次结构的图来。

 

在这张图中,本层次的存储器可以作为低一层次存储器的高速缓存,例如L1是L2的高速缓存,L2是L3的高速缓存,L3是主存的高速缓存。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值