想要成为一名合格的程序员,必须要做的就是打好自己的基础,只有计算机基础扎实了,才能够让自己在一个领域深入。切勿浮沙筑高台。因此打算在年前将操作系统和汇编语言复习一遍,在这里进行整理。
汇编语言的产生
最早期的计算机没有操作系统,程序员们编程只能通过纸带的方式,非常不方便,因此就产生了汇编语言。汇编语言相当于电脑和程序员之间的中介,程序员可以更方便地编写程序,编写完程序之后再通过汇编编译器将其翻译成机器码就可以在电脑上执行。
汇编语言发展至今,有以下三类指令组成:
- 汇编指令:机器码的助记符,有一一对应的机器码
- 伪指令:没有对应的机器码,由编译器执行,计算机不执行
- 其他符号:如+,-,*,/等,由编译器识别,没有对应的机器码
CPU对存储器的读写
CPU要进行数据的读写,必须和外部器件进行下面三类信息交互:
- 存储单元的地址(地址信息)
- 器件的选择,读或写的命令(控制信息)
- 读或写的信息(数据信息)
地址总线
CPU是通过地址总线来选定存储单元的,可以地址总线上能传送多少个同的信息,CPU就可以对多少个存储单元进行寻址。
数据总线
数据总线的宽度决定了CPU和外界的数据传送速度。
控制总线
CPU对外部器件的控制是通过控制总线来进行的。在这里控制总线是个总称,控制总线是一些不同控制线的集合。有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。所以,控制总线的宽度决定了CPU对外部器件的控制能力。
内存地址空间
这里简单举例说明内存地址空间的概念:一个CPU的地址总线宽度为10,那么可寻址1024个内存单元,这 1024 个可寻址的内存单元就构成了这个 CPU 的内存地址空间。
如上图,CPU在操作他们的时候,把他们都当作内存对待,把他们总的看作一个由若干存储单元组成的逻辑存储器,这个逻辑存储器就是我们说的内存地址空间。每个物理存储器在这个逻辑存储器上占有一个地址段,即一段地址空间。CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据。
参考
《汇编语言 第三版》王爽