一、汇编语言的产生
机器语言(0、1)是机器指令的集合,机器指令就是一台计算机可以正确执行的命令。这里的计算机指的是可以执行机器指令,进行运算的机器。在现在,我们常用的PC机中,是由CPU完成上述的功能,CPU是一种微处理器。每一种CPU都有自己的汇编指令集。
使用机器语言会带来很多麻烦,难于辨别和记忆,因此产生了汇编语言。
汇编语言的主体是汇编指令,汇编指令是机器指令便于记忆的书写格式。
例如:
操作:寄存器BX的内容送到AX中
机器指令:1000100111011000
汇编指令:mov ax, bx
寄存器就是CPU中可以存储数据的器件,一个CPU中有多个寄存器。
但是计算机只能读懂机器指令,因此就需要一个东西将汇编指令转化为机器指令,将其称为编译器。
汇编语言主要由三类指令组成:
(1)汇编指令:机器码的助记符,有对应的机器码。
(2)伪指令:没有对应的机器码,由编译器执行,计算机并不执行。
(3)其他符号:如+ - 等,由编译器识别,没有对应的机器码
二、存储器
CPU是计算机的核心部件,控制了整个计算机的运作并进行运算,若想让一个CPU进行工作,就必须向他提供指令和数据,指令和数据在存储器中存放,存储器就是内存。在PC机中,内存作用仅次于CPU。磁盘不同于内存,磁盘上的数据或程序不读到内存上是无法被CPU使用的。CPU可以直接使用的信息在存储器中存放。
指令和数据是应用上的概念,在内存或是磁盘中,他们两者没有任何区别,都是二进制信息
如内存中的二进制信息1000100111011000 可以看作是89D8H(数据)也可以看作是mov ax,bx(程序)
存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号,如一个存储器有128个存储单元,编号就是0~127
微型计算机存储器的存储单元可以存储一个字节,一个存储器上有128个存储单元,则它可以存储128字节Byte。微型计算机存储器的容量是以字节为最小单位进行计算的,对于128个存储单元的存储器,可以说它的容量是128字节。
存储单元从0开始编号,这些编号可以看作是存储单元在存储器中的地址。CPU要从内存中读数据,首先要指定存储单元的地址。CPU在读写数据时,还要指明对哪一个器件进行操作,进行哪种操作(读或写)
因此CPU要进行数据的读写必须和外部器件(芯片)进行三类信息的交互:
- 存储单元的地址(地址信息)
- 器件的选择,读或写的命令(控制信息)
- 读或写的数据(数据信息)
在计算机中,CPU是通过什么将地址、数据和控制信息传到存储器芯片中的?——总线(连接CPU和其他芯片的导线),总线从物理上来说是一根根导线的集合,根据传送信息的不同分为:地址总线、数据总线、控制总线
三、总线结构
3.1 地址总线
CPU是通过地址总线来指定存储单元的,地址总线能传送多少个信息,CPU就可以对多少个存储单元进行寻址。
如CPU用10根地址总线,在计算机中,一根导线可以传送的状态有两种,高电平或是低电平。用二进制0/1表示,10根导线可以传送10位二进制数据,10位二进制数据可以表示2^10个不同的数据,最小为0,最大为1023
因此,若一个CPU有N根地址线,则可以说这个CPU的地址总线宽度为N,可以寻找2^N个内存单元
3.2 数据总线
CPU与内存或是其他器件之间的数据传送是通过数据总线来进行的,数据总线的宽度决定了CPU与外界数据传送的速度,8根数据总线一次可以传送一个8位二进制数据(一个字节),16根数据总线可以一次传送两个字节
8088CPU的数据总线宽度是8
8086CPU的数据总线宽度是16
因此若是8088向内存中写入数据89D8H时需要进行两次数据传送
3.3 控制总线
CPU对外部器件的控制是通过控制总线进行的,这里的控制总线是一个总称,控制总线是一些不同控制线的集合,有多少根控制总线,就意味着CPU提供了对外器件的多少种控制,所以,控制总线的宽度决定了CPU对外部器件的控制能力。
每一个CPU芯片都有许多管脚,这些管脚和总线连接。
四、主板
每一台PC机上都有一个主板,主板上有核心器件和一些主要器件,这些器件(CPU、存储器、外围芯片、扩展插槽等)通过总线相连。(扩展插槽一般插有RAM内存条和各类接口卡)
五、接口卡
计算机系统中,所有可用程序控制其工作的设备必须收到CPU的控制,CPU对外部设备都不能直接控制,如显示器、音响等,直接控制这些设备工作的是插在扩展插槽的接口卡,扩展插槽通过总线和CPU相连接,因此接口卡也通过总线同CPU相连,CPU可以直接控制这些接口卡,从而实现了CPU对外设的间接控制。也就是CPU通过总线向接口卡发送命令,接口卡根据CPU的命令控制外设工作。
六、各类存储器芯片
一台PC机上,装有多个存储器芯片,这些存储器芯片从物理连接上来看是独立的、不同的器件。从读写属性上看分为两类:随机存储器(RAM)和只读存储器(ROM)。随机存储器可读可写,但必须带电存储,关机后存储内容消失;只读存储器只能读取不能写入,关机后内容不消失。
这些存储器从功能和连接上分为:
-
随机存储器
用于存放供CPU使用的绝大部分程序和数据,主随机存储器上一般由两个位置上的RAM组成,装在主板上的RAM和扩展插槽上的RAM。 -
装有BIOS(basic input/output system:基本输入输出系统)的ROM
BIOS是由主板和各类接口卡(显卡、网卡等)厂商提供的软件系统,可以通过它利用该硬件设备进行最基本的输入和输出。在主板和某些接口卡上插有存储相应的BIOS的ROM,例如,主板上的ROM中存储着主板的BIOS;显卡上的ROM存储着显卡的BIOS -
接口卡上的RAM
某些接口卡需要对大批量输入、输出数据进行临时存储,在其上装有RAM。最典型的是显示卡上的RAM,一般称为显存,显示卡随时将显存中的数据向显示器上输出,也就是说,我们将需要显示的内容写入显存,就会出现在显示器上
七、内存地址空间
一个CPU的地址总线宽度为10,那么可以寻址1024个内存单元,这1024个可寻到的内存单元就构成了这个CPU的的内存地址空间
上述存储器在物理上是独立的器件,但是有两点相同:
- 都和CPU总线连接
- CPU对他们进行读或写的时候都通过控制线发出内存读写命令
也就是说,CPU在操作他们的时候,都把他们看做是内存,把他们都当作内存来对待,把他们总的看作为一个由若干个存储单元组成的逻辑存储器,这个逻辑存储器就是内存地址空间。
下图展示将各类存储器看做为一个逻辑存储器
在上图中,所有的物理存储器都被看作是一个由若干个存储单元组成的逻辑存储器,每个物理存储器在这个逻辑存储器中占有一个地址段,即一端地址空间,CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据。
地址为0~7FFFH占用了32KB空间(一个地址可存储1Byte)
(7FFFH - 0000H + 1H = 8000H = 1000 0000 0000 0000 = 2 ^ 15 * 1B = 2 ^ 10 ^ 5 = 2 ^ 5 KB = 32KB)
内存地址空间的大小受CPU地址总线宽度的限制。8086的地址总线宽度是20,可以传送2^20个不同的地址信息,则8086PC的内存地址空间大小为1MB
下图展示8086PC机内存地址空间的分配情况:
对CPU来说,系统中所有存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受CPU寻址能力的限制,这个逻辑存储器就是内存地址空间
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。