Johnny

博观而约取
厚积而薄发

《汇编语言》之基础知识

QQ图片20210204205712.png

《汇编语言》之基础知识

机器语言

机器语言是机器指令的集合,机器指令展开来讲就是一台机器可以正确执行的命令。电子激素那几的机器指令是一列二进制数字。机器指令是CPU能直接识别并执行的指令。

汇编语言的产生

汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上,汇编指令是机器指令便于记忆的书写格式。汇编指令和机器指令一一对应,发明汇编指令也只是为了让编程和人类的语言接近,便于阅读和记忆而已。

存储器

CPU是计算机的核心部件,它控制整个计算机的运作并进行运算。要想让一个CPU工作,就必须向它提供指令和数据。指令和数据在存储器中进行存放,也就是我们平常所说的内存。

指令和数据

指令和数据只是应用上的一个概念,准确来讲,指令和数据在计算机底层都只是二进制信息,无任何区别。那此处就涉及一个问题,怎么告诉计算机某一个二进制信息是指令还是数据呢???后续在三大总线上我们会提到

存储单元

一个存储单元等于1个Byte,1一个Byte=8个bit

  • 1B = 8bit
  • 1KB = 1024B
  • 1MB = 1024KB
  • 1GB = 1024MB
  • 1TB = 1024GB

CPU对存储器的读写

CPU要想进行数据的读写,就必须和外部器件(标准的说法是芯片)进行三类信息的交互。

  1. 存储单元的地址(地址信息)
  2. 读或写的命令(控制信息)
  3. 读或写的数据(数据信息)

例如:向显存(地址信息)发送一条命令(控制信息)让它显示一幅图片(数据信息)

地址总线、数据总线、控制总线

此处就解决了我们上面的疑惑,计算机怎么区别一个二进制信息是指令还是数据呢?

我们刚刚提高,CPU对存储器要进行读写,需要使用到三类信息,分别是地址信息、控制信息、数据信息。这三类信息将在逻辑上使用不同的线路进行传输,分别是地址总线、控制总线、数据总线。通过不同的逻辑线路来传输不同的信息,这样计算机就可以分辨一个二进制信息是指令还是数据。

  • 地址总线

CPU是通过地址总线来指定存储单元。那么地址总线上能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址。一个CPU由N根地址线,则可以认为这个CPU的地址总线的宽度就是N,这样的CPU最多可以寻找2的N次方个内存单元。

  • 数据总线

CPU和内存或其他器件之间的数据传送是通过数据总线来进行的。数据总线的宽度决定了CPU和外界的数据传送速度8根数据总线一次可以传送1个8位二进制的数据(1个字节)。16根数据总线一次可以传送1个16位的二进制数据(2个字节)。

  • 控制总线

CPU对外部器件的控制是通过控制总线来进行的。这里的控制总线是个总称,控制总线是一些不同控制线的集合。有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。所以,控制总线的宽度决定了CPU对外部器件的控制能力。

主板、接口卡、各类存储器芯片、内存地址空间

主板:PC机的主板上有一些核心部件和一些主要器件,这些器件通过总线(地址总行啊、数据总线、控制总线)互相连接。这些器件有CPU、存储器、外围芯片组、扩展插槽等。扩展插槽上一般有RAM内存条和各类接口卡。

接口卡:在计算机系统中,所有可用程序控制其工作的设备,都必须受到CPU的控制,但是CPU又不能直接对这些设备进行控制,直接控制这些设备进行工作的是插在扩展槽上的接口卡,接口卡再通过总线与CPU进行互相连接,从而实现CPU对外围设备的间接控制。

各类存储器芯片:在计算机中有若干种不同的存储器芯片。内存储器有:寄存器、Cache、主存(RAM和ROM),外存储器有:硬盘、移动硬盘、优盘、光盘、软盘、磁带

上述的存储器虽然各不相同,但有两点共性:

  1. 都和CPU的总线相连
  2. CPU对它们进行读或写的时候都通过控制线发出内存读写的命令

这也就是说,CPU在操控它们的时候,把它们都当作内存来对待,把它们看作一个由若干存储单元组成的逻辑存储器,这个逻辑存储器就是我们所说的内存地址空间。

小结

  1. 汇编指令是机器指令的助记符,同机器指令一一对应。
  2. 每一种CPU都有自己的汇编指令集。
  3. CPU可以直接使用的信息再存储器中存放。
  4. 在存储器中的指令和数据没有任何的区别,都是二进制信息。
  5. 存储单元都是从零开始编号。
  6. 一个存储单元可以存储8个bit,即8位二进制数。
  7. 1Byte=8bit 1KB=1024B 1MB=1024KB 1GB=1024MB
本原创文章未经允许不得转载 | 当前页面:Johnny-韩源-期待与你分享生活的每一天 » 《汇编语言》之基础知识

评论