1.机器语言
机器语言是机器指令的合集.
机器指令是一台机器可以正确执行的命令,如下:
01010000(PUSH AX)
电平脉冲:
2.汇编语言的主体是汇编指令
汇编指令和机器指令的区别在于表示方法上.
机器指令:
1000100111011000
操作:寄存器BX的内容送到AX中.
汇编指令:
MOV AX,BX
3.寄存器
cpu中可以存储数据的器件. 一个cpu有多个寄存器.
4.计算机如何读懂(执行)汇编指令?
汇编指令通过”编译器”编译成对应机器指令,然后给计算机执行.
5.汇编语言的组成
由以下3类组成:
①、汇编指令(机器码的助记符)
②、伪指令(没有对应的机器码,由编译器执行,计算机不执行)
③、其他符号(加减乘除等,没有对应的机器码,由编译器识别)
6.存储器
cpu是计算机的核心,想让cpu工作,必须向他提供指令和数据。
这些指令和数据就存放在存储器中,也就是平常所说的内存。
CPU可以直接使用的信息在存储器中存放。
注:
(1)这里的内存不单单指内存条, 因为还有其他硬件如显卡也有内存(显存)。
(2)磁盘和内存不同,磁盘上的数据无法直接被cpu使用,需要加载到内存中。
7.指令和数据
指令和数据在内存中,其实没区别, 都是二进制信息。但在应用的概念上就不同了,如下:
二进制信息:
1000100111011000
作为数据:89D8H
作为指令:MOV AX,BX
8.存储单元
存储器被划分为若干个存储单元,单位为Byte,编号从0开始:
一个存储单元等于1Byte(一个字节),可以存储 8 个 bit (用作单位写成“b”),即 8 位二进制数。
1Byte = 8bit
1KB = 1024Byte
9.CPU对存储器的读写
CPU想要操作数据, 必须和外部器件(芯片)进行三类信息的交互:
①、存储单元地址(地址信息)
②、控制指令:读、写、选择(控制信息)
③、要操作的数据(数据信息)
10.CPU如何将以上三类信息传到外部器件(芯片)上的呢?
计算机处理、传输的信息都是电信号,所以用导线传送。
11.总线
连接CPU和外部器件(芯片)的导线,称为总线。
每一个CPU芯片都有许多管脚,这些管脚和总线相连。也可以说,这些管脚引出总线。
物理上:
一根根导线的集合
逻辑上分为:
①、地址总线
CPU通过地址总线来确定存储单元。
一个CPU有n根地址总线,则说此CPU的地址总线宽度为n, 它最多可以寻找2的n次方个存储单元(寻址能力为2^n Byte)。
②、控制总线
CPU对外部器件的控制通过控制总线进行。
此处控制总线是个总称,其实它是不同控制线的集合,如:
Ⅰ.读信号输出控制线:负责CPU向外传送读信号,CPU向该控制线上输出低电平脉冲表示要读取数据。
Ⅱ.写信号输出控制线:向外传送写信号,输出高电平表示要写数据。
③、数据总线
CPU与其他器件之间的数据传送通过数据总线进行的。
数据总线的宽度觉得CPU和外界的数据传送速度。
12.CPU在内存中读写数据
13.主板
每个PC机中都有一个主板,主板上有核心器件和一些主要器件:CPU,存储器,外围芯片组,扩展插槽等.扩展槽一般插有RAM内存条和各类接口卡.
这些芯片通过总线(地址总线,控制总线,数据总线)和CPU相连.
14.接口卡
CPU不能直接控制外部设备, 如打印机,显示器等.直接控制这些设备的是扩展槽上的接口卡.扩展槽通过总线与CPU相连.CPU可以控制这些接口卡从而实现控制外部设备.
15.各类存储芯片
从读写属性上分为:
① 随机存储器(RAM)
特点:
可读可写, 但必须带电存储, 断电后内容和丢失.
② 只读存储器(ROM)
特点:
只能读, 断电后内容不丢失.
从功能和连接上又分为:
①随机存储器
包括:
主板上的RAM和扩展槽上的RAM(内存条).
②装有BIOS的ROM
BIOS是由主板和各类接口卡(显卡,网卡等)厂商提供的软件系统.通过BIOS可利用该硬件进行最基本的输入输出.
包括:
主板上的ROM(存储主板的BIOS);
显卡上的ROM(存储显卡的BIOS);
网卡上的ROM(存储网卡的BIOS);
③接口卡上的RAM
某些接口卡需要对大批量输入/输出数据进行暂时存储, 就需要RAM. 如显卡的RAM(显存). 我们将需要显示的内容写入显存,GPU将显存数据向显示器上输出.
PC系统各类存储器的逻辑连接情况:
16.内存地址空间
把以上所有存储器的存储单元组成一个大的逻辑存储器, 这就是内存地址空间.
如图: 把所有的物理存储器看成一个大的逻辑存储器.每个物理存储器在这个逻辑存储器中占有一段地址,即一段地址空间.CPU通过总线在这段地址空间中读写数据, 实际上就是在对应的物理存储器中读写数据.
每个CPU内存地址空间分配情况不同.8086的内存地址空间分配如下:
从地址0~9FFFF的内存单元中读取数据, 实际就是在读取随机存储器中的数据;
从地址A0000~BFFFF内存中读数据其实在读取显卡RAM中的数据;
C0000~FFFFF地址段中的写数据是无效的, 因为等于更改只读存储器中的内容.