【汇编语言】一章 基础知识 机器语言 CPU 存储器 内存地址空间

汇编语言有助于我们理解高级语言,了解基于内存地址的内存操作,建立指针与实际内存单元之间的思维映射

C语言中的数据类型,形参实参,函数调用,全局变量,局部变量等内容都与之相关,通过学习汇编语言的操作关联,从而形成具体映像,有助于我们更深入地理解一系列高级语言,通过多方面穿插,交互,便于我们搭建计算机知识体系

汇编语言本身也与嵌入式编程,硬件,跟踪,调试工具,反汇编,解锁解密,病毒等领域有着密不可分的联系

Assembly Language 是各种CPU提供的机器指令的助记符的集合,可以直接控制硬件系统进行工作,是数据结构、操作系统、微机原理的重要基础,同时也是人与计算机沟通的最直接的方式,描述了机器最终要执行的指令序列

在学习过程中,我们要注重底层编程的体验,理解机器运行程序的原理

体验裸机环境,在没有操作系统的环境直接对硬件编程


在这里插入图片描述

机器语言

机器语言是机器指令的集合,而机器指令是一台机器可以正确执行的命令,是一列二进制数字

计算机将之转变为一列高低电平,使计算机的电子器件受到驱动进行运算

早期计算机(也就相当于现在PC的芯片,也即CPU Central Processing Unit 中央处理单元)的功能就是执行机器指令,进行数字运算

之后遇到的每一种微处理器的硬件设计和内部结构有所不同,需要不同的电平脉冲控制,所以不同微处理器都有自己的机器指令集(机器语言)

汇编语言产生

1000100111011000是一条机器指令,用来把寄存器BX的内容送到AX中
mov ax,bx则是其所对应的汇编指令

寄存器: CPU中存储数据的器件
编译器: 将汇编语言写出的源程序用汇编编译器编译为机器码,由计算机最终执行

汇编语言组成

汇编语言的三种指令:

  1. 汇编指令:机器码的助记符
  2. 伪指令:无对应机器码,由编译器执行,计算机不执行
  3. 其他符号:+ - * / ,无对应机器码,由编译器识别

存储器与存储单元

指令和数据在 存储器(内存) 中存放

磁盘上的数据或程序必须读取到内存中才能被CPU使用

存储器被划分为存储单元,从0开始顺序编号

电子计算机最小信息单位 bit ,也即一个二进制位

8 个 bit 组成一个 Byte

微型机存储器的存储单元可以存储一个Byte也即 8 个二进制位(bit)

微机存储器(内存)容量 以 Byte 为最小单位计算

微机常用计量单位
1KB = 1024B 1MB = 1024 KB 1GB = 1024 MB 1TB = 1024 GB

指令与数据 CPU对存储器的读写

CPU要从内存 (存储器) 中读数据,首先要指定存储单元的地址。也就是说它要先确定它要读取哪一个存储单元中的数据。就像在一-条街上找人,先要确定他住在哪个房子里。另外,在一台微机中,不只有存储器这一种器件。 CPU在读写数据时还要指明,它要对哪一个器件进行操作,进行哪种操作,是从中读出数据,还是向里面写入数据。可见,CPU要想进行数据的读写,必须和外部器件(标准的说法是芯片)进行下面3类信息的交互。

  • 地址信息:存储单元的地址
  • 控制信息:器件选择,读写命令
  • 数据信息:读写的数据

电子计算机能处理,传输的都是电信号,在计算机中通常用总线来传输这些电信号

总线:
在计算机中连接CPU和其他芯片的导线的集合

根据传输信息的不同,总线分为三类:

  • 地址总线:CPU通过地址线将地址信息发出(图中为3号单元)
  • 控制总线:CPU通过控制线发出内存读写命令,选中并通知存储器芯片
  • 数据总线:将数据读入CPU或写入3号单元
    在这里插入图片描述

要让一个计算机/微处理器工作,应输入驱动它进行工作的电平信息(机器码)

地址总线

用于指定存储器单元

一根导线传送的稳定状态只有两种:高电平/低电平,二进制表示为1/0

一个CPU有N根地址线,也即该CPU的地址总线宽度为N 最多可以寻找2的N次方个内存单元,也即其寻址能力为 2N Byte

数据总线

数据总线的宽度决定了CPU和外界的数据传送速度,如16根数据总线一次可传送2个字节

控制总线

控制总线是一些不同控制线的集合,其宽度决定了CPU对外部器件的控制能力

内存地址空间

内存地址空间是由CPU地址总线宽度所决定的可寻址内存单元

CPU操作存储器时把他们都当作一个有若干内存单元组成的逻辑存储器****(内存地址空间)

内存地址空间的大小受CPU地址总线宽度的限制
将各类存储器看作一个逻辑存储器

主板

分为核心器件和主要器件,相互之间通过外部总线(地址总线,控制总线,数据总线)相连

有CPU,存储器,外围芯片组,扩展插槽(一般插入内存条以及各类接口卡)

接口卡

外部设备(不能直接由CPU控制,如显示器,音响,打印机等)

直接控制这些设备的是插在主板上的扩展插槽上的接口卡

CPU通过总线直接向接口卡发送命令,而后接口卡据CPU命令控制外设

各类存储器芯片

读写属性上分为:随机存储器RAM 只读存储器ROM
RAM可读可写,必须带电存储
ROM只读不写
而这些存储器在功能和连接上又可分为以下几类:

  • 主随机存储器(用于存放供CPU使用的绝大多数程序和数据 一般由装在主板上的RAM和插在扩展插槽中的RAM组成)
  • 装有BIOS的ROM
    (Basic Input/Output System 基本输入输出系统 BIOS是由主板和各类接口卡(显卡,网卡)厂商提供的软件系统,可以通过它利用硬件设备进行最基本的输入输出)
  • 接口卡上的RAM
    (某些接口卡需要对大批量输入、输出数据进行暂时存储,在其上装有RAM。最典型的是显示卡上的RAM,一般称为显存。显示卡随时将显存中的数据向显示器上输出。换句话说,我们将需要显示的内容写入显存,就会出现在显示器上)
    PC机中各类存储器的逻辑连接

内存地址空间
最终运行程序的是CPU,我们用汇编语言编程的时候,必须要从CPU的角度考虑问题。
对CPU来讲,系统中的所有存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受CPU寻址能力的限
制。这个逻辑存储器即是我们所说的内存地址空间

参考资料 《汇编语言(第3版)》王爽著

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zanebla

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值