1.1 机器语言
机器语言:机器指令的集合,机器指令即一台计算机可以正确执行的命令,机器指令是一串二进制数字,计算机将其转变成一列高低电平,以使计算机的电子器件受到驱动,进行运算
每一种微处理器,由于硬件设计和内部结构的不同,需要使用不同的电平脉冲来控制,使其工作,所以每一种微处理器都有自己的机器指令集,即机器语言
早期程序员将0,1数字编成的程序代码打在纸带上或卡片上,1打孔,0不打孔,再将程序通过纸带或卡片输入计算机,进行运算
1.2 汇编的诞生
由于直接使用机器语言过于麻烦,机器语言难以辨别与记忆,于是汇编语言诞生了
汇编语言的主体是汇编指令,汇编指令和机器指令的差别在于指令的表示方法上,汇编指令是机器指令便于记忆的书写格式
由于计算机能读懂的只有机器指令,需要编译器将汇编语言编写的程序转换成机器指令
1.3 汇编语言的组成
汇编语言的核心是汇编指令,它决定了汇编语言的特性
汇编语言有3类指令:
1,汇编指令:机器码的助记符,有相应的机器码
2,伪指令:没有相应的机器码,由编译器执行,计算机并不执行
3,其它符号:如+,-,*,/等由编译器识别,没有对应机器码
1.4 存储器
CPU是计算机的核心部件,控制整个计算机运作并运算,要让CPU工作,必须向它提供指令和数据
指令和数据在内存中存放,磁盘不同于内存,磁盘上的数据或程序如果不读到内存中就无法被CPU使用
1.5 指令和数据
指令和数据是应用上的概念,在内存或磁盘中,指令和数据没有区别,都是二进制信息
CPU在工作时把有的信息看作指令,有的看作数据,为同样的信息赋予了不同的意义
CPU可以将同样的信息解释成不同的意义:
1.6 存储单元
存储器被划分为若干个存储单元,每个存储单元从0开始编号,存储器的容量以字节为最小单位来计算的
1.7 CPU对存储器的读写
在一台计算机中,不止存储器这一种器件,CPU在读写数据时还要指明,它要对哪一个器间进行控制,进行哪种操作(读/写)
CPU想要进行数据的读写,必须和器间进行3类信息的交互:
1,存储单元的地址(地址信息)
2,器件的选择,读或写的命令(控制信息)
3,读或写的数据(数据信息)
计算机能处理,传输的信息都是电信号,所以需要导线来传输这些地址,控制,数据信息。计算机种有专门连接CPU和其它芯片的导线,通常称为总线
总线就是一根根导线的集合,根据传送信息的不同,总线从逻辑上分为3类,为地址总线,控制总线,数据总线
(1),CPU通过地址线将地址信息3发出
(2),CPU通过控制线发出内存读命令,并通知存储器芯片,将要从中读数据
(3),存储器将3号单元种的数据8通过数据线送入CPU
1.8 地址总线
CPU通过地址总线来指定存储器单元,地址总线上能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址
一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N,这样的CPU最多可以寻找2的N次方个内存单元
寻址地址信息11时,地址总线上的内容:
1.9 数据总线
CPU与内存或其它器件之间的数据传输是通过数据总线来进行的。数据总线的宽度决定了CPU和外界的数据传送速度,8根数据总线一次可以传送8位二进制数据即1个字节的数据
8088CPU数据总线宽度为8,8086CPU数据总线宽度为16,当对其写入数据89D8H时:
1.10 控制总线
CPU对外部器件的控制是通过控制总线来进行的,控制总线是一些不同控制线的集合,有多少根控制线,就意味着CPU提供了对外部器件的多少种控制,控制总线的宽度决定了CPU对外部器件的控制能力
内存的读写命令是由几根控制线综合发出的,其中有一根称为‘读信号输出’的控制线负责由CPU向外传送读信号,CPU向该控制线上输出低电平表示要读取数据
1.11 内存地址空间(概述)
一个CPU的地址总线宽度为10,那么可以寻址1024个存储单元,这1024个可寻到的内存单元就构成了这个CPU的内存地址空间
1.12 主板
每一台PC上,都有一个主板,主板上有一些核心器件和一些主要器件,这些器件通过总线(地址总线,数据总线,控制总线)相连,器件有CPU,存储器,外围芯片组,扩展插槽等(扩展插槽一般插有RAM内存条和各类接口卡)
1.13 接口卡
计算机系统中,所有可用程序控制其工作的设备,必须受到CPU的控制
CPU对外部设备(显示器,打印机,音响)不能直接控制,直接控制这些的是插在扩展插槽上的接口卡,扩展插槽通过总线与CPU连接,所以接口卡间接的通过总线连接到了CPU,CPU通过总线对接口卡发送命令,接口卡根据CPU的命令控制外设进行工作
1.14 各类存储器芯片
一台PC上,装有多个存储器芯片,这些存储器芯片从物理上看是独立的,在读写属性上看分为RAM(可读可写,断电后存储内容消失)和ROM(只读,断电后内容不消失),从功能和连接上分为:
1,随机存储器:用于存放供CPU使用的绝大部分程序和数据,一般由装在主板上的RAM和插在扩展槽上的RAM组成
2,装有BIOS(基本输入/输出系统)的ROM:BIOS是由主板和各类接口卡(显卡,网卡)厂商提供的软件系统,可以通过它利用该硬件设备进行最基本的输入输出
3,接口卡上的RAM:某些接口卡需要大批量输入,输出数据进行暂时存储,在其上装有RAM,一般称为显存,显卡将显存中的数据向显示器上输出,即只要将需要显示的内容写入显存,就会出现在显示器上
1.15 内存地址空间
CPU在操作存储器的时候,都将其当作内存看待,把它们都看作一个由若干个存储单元组成的逻辑存储器
每个物理存储器在这个逻辑存储器中占有一个段地址,即一段地址空间,CPU在这段地址空间中读写数据,就是在相应的物理存储器中读写数据
内存地址空间的大小受CPU地址总线宽度的限制,8086CPU的地址总线为20,则可以传送2^20(1MB)个不同的地址信息,80386CPU的地址总线宽度为32,则内存地址空间最大为4GB
在基于一个计算机硬件系统编程时,必须知道这个系统中的内存地址和地址空间分配情况,如,希望显示器显示一段信息,则须将这段信息写入显存中,要向显存中写入数据,必须先知道显存的内存地址空间中的地址