《CSAPP》第一章小结

从一个hello.c程序讲起。

hello.c经过预处理把头文件的内容插入程序中变成hello.i。

hello.i经过编译器处理转为汇编语言版本的hello.s,

hello.s经过汇编器处理变为二进制的hello.o,并且经过链接printf.o变为可执行程序。

运行是经过把本地磁盘的可执行的hello程序通过总线取到主存,运行。

输入通过I/O总线到屏幕上。

其中使用数据时可能会经过L1,L2,L3等多级缓存。

这缓存啊,就跟食物链似的,越在顶端越小(空间小),越值钱,速度也越快,本质上和人类是一样的,最终能够操纵低档的人的,只有上等人(寄存器可以利用L1,L1可以利用L2以此类推)。

任何I/O设备都是可以抽象成文件的,文件也可以是一个比特序列(存在于磁盘的),虚拟存储就是抽象的主存+磁盘。

进程就是抽象主存,处理器,I/O设备,虚拟机是对整个计算机的抽象。

进程是可以并行的,也叫线程级并发,一次性处理多条指令叫指令级并行。

扫描二维码关注公众号,回复: 1026015 查看本文章

比较重要的是Amdahl定律,它不仅仅用在计算机发展方面,可以描述多个事情。

s=t1/t2=1/(1-a+a/k)

k是提升比例,a是影响因子。

如果想让计算机性能获得较大的提升,k,a都要大。当k趋于无穷s=1/1-a。


猜你喜欢

转载自blog.csdn.net/weixin_37373020/article/details/80172342