背景及组成

  • 汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效地应用汇编语言对其编程
  • 关于PC机及CPU无力结构和编程结构的全面研究,在《微机原理与接口》中进行;对计算机一般的结构、功能、性能的研究在一门称为《组成原理》的理论层次更高的课程中进行。汇编课程的研究重点放在如何利用硬件系统的编程结构和指令集有效灵活地控制系统进行工作

机器语言

  • 机器语言是机器指令的集合。机器指令展开来讲就是一台机器可以正确执行的命令。电子计算机的机器指令是一列二进制数字。计算机将之转变为一列高低电平,以使计算机的电子器件受到驱动,进行运算。

汇编语言的产生

  • 汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式
  • 寄存器,简单来讲是CPU中可以存储数据的器件
  • 一个能够将汇编指令转换成机器指令的翻译程序为编译器。程序员用汇编语言写出源程序,再用汇编编译器将其编译为机器码,由计算机最终执行

汇编语言的组成

  • 汇编语言由三类指令组成
    • 汇编指令:机器码的助记符,有对应的机器码
      • 汇编语言的核心
    • 伪指令:没有对应的机器码,由编译器执行,计算机并不执行
    • 其他符号:如+、-、*、/等,又编译器识别, 没有对应的机器码

存储器

  • 指令和数据在存储器中存放,也就是内存。
    • 离开了内存,性能再好的CPU也无法工作
    • 磁盘上的数据如果不读到内存中,就无法被CPU使用

指令和数据

  • 在内存中,二者都是二进制信息。

存储单元

  • 存储器被划分成若干个存储单元,每个存储单元从0开始编号
    • 例如一个存储器有128个存储单元,编号为0~127
  • 一个存储单元能存储一个Byte,即8个二进制位。
    • 一个存储器有128个存储单元,它可以存储128Byte
  • 微机存储器的容量是以字节为最小单位来计算的

CPU对存储器的读写

  • CPU要从内存中读数据,首先要指定存储单元的地址。也就是说它要先确定要读取哪一个存储单元中的数据
  • CPU在读写数据时还要指明,要对哪一个器件进行操作,进行哪种操作,是从中读出数据,还是向里面写入数据
  • CPU要向进行数据的读写,必须和外部器件(芯片)进行交互
    • 存储单元的地址(地址信息)
    • 器件的选择,读或写的命令(控制信息)
    • 读或写的数据(数据信息)
  • 电子计算机能处理、传输的信息都是电信号,电信号当然要用导线传送。在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。
  • 总线从逻辑上又分为3种
    • 地址总线
    • 控制总线
    • 数据总线

地址总线

  • CPU是通过地址总线来指定存储器单元的。可见地址总线上能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址
  • 一个CPU有N根地址总线,则可以说这个CPU的地址总线宽度为N。这样的CPU最多可以寻找2的N次方个内存单元
  • 寻址能力(KB)=2的地址总线根数次方

地址总线上发送的地址信息.jpg

数据总线

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

控制总线

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

检测点

Q:1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13位

A:

  • 一个存储单元能存储1Byte
  • 一个CPU有N个地址总线,那么最多寻找2的N次方个存储单元(Byte)
  • 题目中寻址能力为8KB=1024*8=8192Byte
  • 2的N次方=8192Byte,N=13

内存地址空间(概述)

  • 一个CPU的地址总线宽度为10,那么可以寻址2的10次方=1024个内存单元,这1024个可寻到的内存单元就构成这个CPU的内存地址空间。

主板

  • 每一台PC机中,都有一个主板,主板上有核心器件和一些主要器件,通过总线相连(地址总线、数据总线、控制总线)
  • 器件包括:CPU、存储器、外围芯片组、扩展插槽(RAM内存条和各类接口卡)

接口卡

  • CPU对外部设备(显示器、音箱等)都不能直接控制,直接控制这些设备进行工作的插在扩展插槽上的接口卡
  • 扩展插槽通过总线和CPU相连,所以接口卡也通过总线同CPU相连
  • CPU通过总看向接口卡发送命令,接口卡根据CPU的命令控制外设进行工作。

各类存储器芯片

  • 一台PC机中,装有多个存储器芯片,这些存储器芯片从物理连接上看是独立的,不同的器件。
  • 从读写属性上看分为两类:随机存储器(RAM)和只读存储器(ROM)
  • 随机存储器RAM:可读可写、必须带电、关机后存储内容丢失
  • 只读存储器ROM:只能读取不能写入,关机后存储内容不丢失
随机存储器
  • 存放供CPU使用的绝大部分程序和数据
  • 主随机存储器一般由两个位置上的RAM组成
    • 装在主板上的RAM
    • 插在扩展卡槽上的RAM
装有BIOS的ROM
  • BIOS是由主办和各类接口卡(显卡、网卡等)厂商提供的软件系统,可以通过它利用该硬件设备进行最基本的输入输出
  • 在主板和某些接口卡上插有存储相应BIOS的ROM
接口卡上的RAM
  • 某些接口卡需要对大批量输入、输出数据进行暂时存储,在其上装有RAM
    • 最典型的是显卡上RAM,一般称为显存。显卡随时将显存中的数据向显示器上输出。也就是说,将需要显示的内容写入显存,就会出现在显示器上

内存地址空间

  • CPU在操作所有物理存储器时,把他们都当做内存来对待,总的看作一个由若干存储单元组成的逻辑存储器,也就是内存地址空间。每个物理存储器在这个逻辑存储器中占有一段地址段,即一段地址空间。
  • 内存地址空间的大小受CPU地址总线宽度的限制。
  • 在基于一个计算机硬件系统编程时,必须知道这个系统中的内存地址空间分配情况
  • 想在某类存储器中读写数据时,必须知道它的第一个单元的地址和最后一个单元的地址,才能保证读写操作时在预期的存储器中进行
  • 不同的计算机系统的内存地址空间的分配情况时不同的