汇编语言-硬件篇

机器语言

​ 每一款CPU都有自己的机器语言,而且CPU能够执行的只有机器语言。机器语言是由一系列二进制数字组成的,通过二进制数字的0,1来转换为高低电平,从而驱动内部的电子元器件进行相关运算。此处的高电平,低电平指的都是具体的电压值。

汇编语言

​ 由于机器语言是CPU使用的指令语言,但是对程序员太不方便。于是便产生了汇编语言。汇编语言的主体是汇编指令,汇编语言和机器语言的差别在于指令的标示方法,汇编指令是机器指令便于记忆的书写格式。

例如:将寄存器BX的内容送入AX

操作:寄存器BX的内容送入AX中

机器指令:1000100111011000

汇编指令:mov ax,bx

1.(寄存器是CPU中可以存储数据的期间,一个CPU中有多个寄存器,AX,BX都是其中的寄存器)

2.CPU只能并不能识别汇编语言,所以我们需要一个专门的编译器能够将汇编语言翻译为机器语言,然后交给CPU执行。

存储器

​ 虽然我们平时用到的程序都存储的硬盘当中,但是当程序运行之前,CPU会将程序加载至内存,然后CPU从内存条中读取程序的指令和数据进行运算。指令和数据在内存中都是二进制信息,只有在CPU执行的时候根据不同的场景有时候信息当作指令,有时候当作数据。

存储单元

​ 存储器被划分为多个存储单元,存储单元从0开始。电子计算机的最小信息单位为bit(一个二进制位),8个bit组成一个Byte(字节)。微型计算机的一个存储单元可以存储一个Byte,也就是8个二进制位。

CPU对存储器的读写

CPU对存储器数据的读写,必须和内存芯片产生如下交互:

1.存储单元的地址信息(地址信息)

2.存储器件的选择,读或写的命令(控制信息)

3.读或写的数据(数据信息)

​ CPU的针脚与总线相连,计算机通过系统总线来传输上述说需要的信息,系统总线在物理上是一根根导线。因为传送的信息不同,又分为3类:地址总线,控制总线,数据总线。

例如:CPU从内存3号单元中读取数据的过程如下:

image-20190104115456832

1.CPU通过地址线将地址信息3发出

2.CPU通过控制线发出内存读命令,选中存储器芯片。

3.存储芯片将3号单元重的数据8通过数据线送入CPU

地址总线:影响计算机寻址,如果一个CPU地址总线宽度为N,这样的CPU最多可以寻找2的N次方的内存单元
数据总线:影响数据的传输速度,如果数据总线宽度为8,那么我们传输一个16进制数据(89D8)则需要两次。如下图:

image-20190104142000109

控制总线:控制总线的宽度决定了CPU对系统中其他器件的控制能力。

主板

​ PC机上有一块主板,主板上有核心器件和一些主要器件,这些器件通过总线相连。这些电子元器件有:CPU,存储器,外围芯片组,扩展插槽(一般插入内存条或者各种接口卡)等。

接口卡

​ CPU对外部设备都不能直接控制,如:显示器。直接控制其工作的是插在扩展插槽上的接口卡。CPU通过总线控制接口卡,从而达到对外设的间接控制。某些接口卡上也装有RAM(随机存储器),例如显卡,CPU通过向显卡中写入数据,显卡就会将显存中的数据显示。

内存地址空间(万物皆内存)

​ CPU控制外设的时候把他们当作内存对待,把他们总的当作一个又若干存储单元组成的逻辑存储器。这个逻辑存储器就是我们说的内存地址空间。每一个外设又有一段属于自己的地址空间,例如如果我们往内存所属的地址空间中写入数据,该数据就会写入内存,如果我们向显卡中写入数据,该数据就会显示在屏幕上,如果我们向ROM写入数据(只读存储器),那么该操作是无效的。

image-20190104145213020

技颠 wechat
欢迎您扫一扫上面的微信公众号,订阅我的微信公众号!