南桥,北桥
- 缓存出现的原因:因为CPU与内存速度不协调,比如说,CPU要10次数据的所用的时间,内存才给一次(老牛拉火车);所以为了协调,计算机就开始了折中过程,就出现了缓存,缓存的速度介于两者之间,同时出现了N级缓存的概念,比如说1级缓存速度>2级缓存>3级缓存>内存。
程序遵循局部性原理
- 时间:可能多次访问,所以先把它放在内存一段时间
- 空间:离访问数据非常近的数据也可能访问到,所以就一起拉到内存
- 局部性
程序的兼容性(移植)
- 因为底层芯片不同,所以二进制编程(机器语言)可能有所不同,但是因为计算机运行又要靠芯片,所以为了加速
- 出现了汇编语言,汇编语言通过编译器编译成机器语言,但是又因为汇编语言也是根据公司的不同而不同,为了开发方便
- 出现了高级语言,结合额外机制,进而弥补不同芯片的不同,让上层需要关心底层硬件
- 从而实现开发的便利
中间设备就是所谓的库,它是用来弥合底层硬件不同,是一堆独特的程序
- 一般的程序都有执行入口,比如说C:main,Java:公共静态类
- 但是库是没有入口的,它是需要被其他调用的,不能独立执行,只是提供调用接口;
为什么计算机看上去是并行执行(通俗来说就是同时打开多种软件)?
- 时间片,不停交替(CPU)
- 内存切割,怎么知道访问哪一段?所以出现了编址
- 怎么知道内存有多大?为了方便,程序员编写程序的时候是不需要考虑空间多大的,因为引用了虚拟地址空间,可以直接不管物理内存的,比如说32位的主机,那么在程序员眼里,它的内存就有2的32次方那么大;当然,现实中,最大物理内存是由总线宽度决定的。
如果突然出现某个作业占着时间片不放的话那怎么办?
- 为了避免这种尴尬的情况,所以出现了OS,它就是用来协调,管理硬件资源的,它监视CPU工作时间,切割成几片,内存多少个段,分给不同程序,并且负责一个程序启动,终止的切换工作,运行的程序又叫一个进程,是有生命周期的。
- 操作系统接口:系统调用
- 有了OS之后,任何程序都不能直接跟硬件打交道了,都要经过OS的协调,相当于它是老大一样。
计算机大概的结构

计算机的小知识点(乱七八糟)
原文:http://9411277.blog.51cto.com/9401277/1650307