1. 机器语言
机器语言是机器指令的集合
机器语言是机器指令的集合。
机器指令是01串
机器指令是计算机(CPU)唯一懂的指令,由0和1组成。
指令的三种表示方法
-
机器指令:01010000
-
汇编语言:PUSH AX
-
电平脉冲:按次序的8个脉冲
2. 汇编语言的产生
汇编指令和机器指令的差别在于指令的表示方法
汇编指令和机器指令的差别在于指令的表示方法。
汇编语言是符号语言,和机器语言之间的对应关系基本上是一一对应的。
一条机器语言的指令对应一条汇编语言的指令。
ollydbg
汇编语言作用过程
汇编指令,经过编译器处理(类似于替换作用,不完全是替换),变成机器码,交给计算机。
3. 汇编语言的组成
汇编语言的核心是汇编指令,它决定了汇编语言的特性。
伪指令和其他符号可以归为一类。
汇编指令
机器指令的助记符。
伪指令
由编译器执行。
其他符号
由编译器识别。
4. 存储器
CPU的作用:控制整个计算机并进行运算
CPU是计算机的核心部件,它控制整个计算机的运作并进行运算。
CPU工作的信息要求:指令+数据
要想让一个CPU工作,就必须向它提供指令和数据。
CPU对存储器进行读写的信息要求
CPU要进行数据的读写,必须和外部器件(标准说法是芯片)进行三类信息的交互:
-
地址信息:存储单元的序号(地址)。
-
控制信息:器件的选择,读或写命令。
-
数据信息:读或写的数据。
存储器的分类
按读写属性分类
随机存储器RAM
只读存储器ROM
RAM和ROM的区别
断电后,RAM中的数据将会遗失,而ROM中的数据不会。
按功能和连接分类
随机存储器RAM
装有BIOS的ROM
接口卡上的RAM
5. BIOS
BIOS是基本IO系统
Basic Input/Output System,基本输入输出系统。
BIOS是由主板和各类接口卡(显卡、网卡等)厂商提供的软件系统。
主板和接口卡的知识在后边。
BIOS在主板和某些接口卡的ROM中
不止主板才有BIOS,在主板和某些接口卡上插有存储相应BIOS的ROM。
BIOS的作用
可以通过BIOS利用对应硬件设备进行最基本的输入输出。
开机时看到的界面就是BIOS在发生作用,它在检测CPU、内存、硬盘、键盘等等有没有插好。
如果病毒进入BIOS,杀毒软件也杀不掉的。
6. 内部存储器
内部存储器是内存,一个大的RAM
平常所说的内存条、内存就是内部存储器,一个大的RAM。
内部存储器的作用
PC机中内存的作用仅次于CPU,离开内存,再好的CPU也无法工作。
磁盘不同于内存,磁盘上的数据或程序如果不读到内存中,就无法被CPU使用。
显卡、网卡、BIOS等都是有它的(存储器)内存的。
CPU和内存读写很快,内存和磁盘读写的速度比较慢。
存储器存储的内容及其作用
存储器存储了指令和数据。
指令
指令告诉CPU怎么操作。
数据
数据告诉CPU什么操作什么。
指令和数据的关系
- 指令和数据是应用上的概念。
- 在内存或磁盘中,指令和数据没有任何区别,都是二进制信息。
根据程序员如何应用,CPU处理的二进制信息 可以是汇编代码(指令),也可以是数据,如下:
-
1000100111011000
-
89D8H
数据,末尾的H表示Hex,十六进制。B表示二进制,十进制没有后缀。
-
MOV AX,BX
程序,将寄存器BX的内容粘贴到寄存器AX中。
-
7. 寄存器
寄存器是CPU中可以存储数据的器件,一个CPU中有多个寄存器。
寄存器是一种比内存和二级缓存更低一层,更接近CPU的存储器。
存储单元
存储单元是存储器的一个个部分
存储器被划分为若干个存储单元。
每个存储单元存储一个字节
1字节(Byte)= 8位(bit) 1B=8b
存储单元从0开始编号
存储单元从0开始顺序编号。计算机都从0开始计数。
例如:
一个存储器有128个存储单元。编号0-127。
显卡里面有个内存,叫显存,数据存在显存里面,显卡里的GPU把显存中的数据映射到屏幕上。GPU的速度比CPU快多了。3D游戏对于显卡的要求是很高的。
8. 总线
计算机传输、处理的信息都是电信号,电信号要用导线传送。
计算机中专门有连接CPU和其他芯片的导线,称作总线。
总线分类
在物理层次上,总线是一根根导线的集合。
逻辑上的分类:
地址总线
CPU是通过地址总线来指定存储器单元的。所以地址总线能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址。
一个CPU有 N N N根地址总线,则其地址总线宽度为 N N N,它可以寻找 2 N 2^N 2N个内存单元。
寻址能力
寻址能力为8KB,即能寻找到8*1024个字节,总线宽度为13。
数据总线
有几根数据总线就最多可以传几位。
控制总线
控制总线是一些不同控制线的集合。CPU通过控制总线控制外部器件。
有多少根控制总线就意味着CPU提供了对外部器件的多少种控制。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CxE7nGnr-1616637193286)(https://i.loli.net/2019/02/09/5c5e86697bacc.png)]内存不只是内存条,还有显存,网卡内存等,它们线性排列。
9. 主板
每个PC机,都有一个主板。
主板上有核心器件(CPU、内存)和一些主要器件,这些器件通过总线(地址总线、数据总线、控制总线)相连。
10. 接口卡
计算机系统中,所有可用程序控制其工作的设备,必须受到CPU的控制。
CPU对外部设备不能直接控制,如显示器、音箱、打印机等。
直接控制这些设备进行工作的是插在扩展插槽上的接口卡。
11. 内存地址空间
不同的计算机系统的内存地址空间分配情况是不同的。
各类存储器逻辑相同点
各类存储器在物理上是独立的器件:
但它们在逻辑上有两点相同:
-
都和CPU总线相连
-
CPU对它们进行读或写的时候都通过控制总线发出内存读写命令
什么是内存地址空间
一个CPU的地址总线宽度为10,那个可以寻址1024个内存单元,这1024个可寻到的内存单元就构成这个CPU的内存地址空间。
将各类存储器在逻辑上合并成一个存储器:
对CPU来讲,系统中各类存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受CPU寻址能力的限制。这个逻辑上统一的存储器就是我们说的内存地址空间。
每个物理上的存储器在逻辑上占有一段地址段,CPU对其段进行操作,就是对物理存储进行操作。
最终运行程序的是CPU,我们用汇编语言编程时,必须要从CPU角度考虑问题。
小结
- 汇编指令是机器指令的助记符,同机器指令一一对应。
- 每一种CPU都有自己的汇编指令集。
- CPU可以直接使用的信息在存储器中存放。
- 在存储器中指令和数据没有任何区别,都是二进制信息。
- 存储单元从0开始顺序编号。
- 一个存储单元可以存储一个字节,即8个bit(8b)、8位二进制。
- 1GB = 1024MB 1MB = 1024KB 1KB = 1024Byte 1Byte = 8bit
- 每个CPU芯片都有许多管脚,这些管脚和总线相连。也可以说这些管脚引出总线。一个CPU可以引出三种总线的宽度标志了CPU的不同方面的性能。
- 地址总线宽度决定CPU寻址能力
- 数据总线宽度决定CPU与其他器件进行一次数据传输时的数据传输量
- 控制总线宽度决定CPU对系统中其他器件的控制能力