认识汇编:解码计算机思维的底层语言(第一章)

发布于:2025-08-10 ⋅ 阅读:(19) ⋅ 点赞:(0)

1.机器语言

1.1 定义

机器语言是机器指令的集和;

其实就是一台机器可以正确执行的命令(eg:01001001110);

机器码的顺序,从左到右,从高位到低位;

2、汇编语言

2.1 前言

汇编语言的主体就是汇编指令;

汇编语言与机器语言的区别:

eg:

机器指令:1000100111011000

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

汇编指令:MOV AX,BX

便于人们记忆与开发,汇编指令最终也会通过编译器解析成机器码,所以说相对越高级的语言执行效率越低;

eg:

Java语言 -> 编译器 -> 汇编语言 -> 编译器 -> 机器码

2.2. 汇编语言的组成

汇编指令+伪指令、其他符合(由编译器执行和识别)

核心是汇编指令,它决定了汇编语言的特性;

2.3 CPU

计算机的核心组件(计算机心脏),控制整个计算机的运作和运行计算,要想让CPU工作,就必须向他提供指令和数据;

2.4 存储器

存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号;

2.4.2 作用

用来存放指令和数据(说明:内存只是其中一个存储器),提供给CPU运作;

CPU离开了内存,性能再好,也是无法工作;

2.5 磁盘

磁盘不同于内容,磁盘上的数据或程序如果不读到内存中,就无法被CPU使用;

虚拟内存:其实就是在磁盘创建了一块空间用来存储数据,CPU调用内存,当内存不够时,内存先从磁盘把虚拟内存加载到内存中,在提供给CPU使用;

2.6 单位换算

1B = 8bit

1KB = 1024B

1MB = 1024KB

1GB = 1024MB

1TB = 1024GB

2.7 CPU对存储器的读写

CPU进行数据读写,必须和芯片进行三类信息的交互:

地址信息、控制信息、数据信息

2.8 存储单元

1、每个存储单元都是从0开始顺序编号;

2、存储器的容量是以字节为单位,也就是说,一个存储单位的大小是一个Byte;

3、磁盘的容量单位和内存一样;

4、一个存储单元有一个存储地址;

2.9 地址总线

1、CPU通过地址总线来指定内存单元;

2、CPU通过地址总线指定存储器单元,也就是说地址总线上可以传输多少个不同的信息,CPU就可以对多少个存储单元进行寻址;

3、一个CPU有N根地址线,则这个CPU的地址总线宽度为N,那么这样的CPU最多可以寻找2的N次方个存储单元,那么它的寻址能力也就是2的N次方(单位:个);

为什么是2的N次方?

因为一个导线传送的状态只有两种,高电平或低电平,所以最多可以传输2的N次方个数据;

4、如果你想让使用的软件达到64位的寻址能力,除非CPU支持64位,以及操作系统也支持64位;

5、地址总线的宽度决定了CPU的寻址能力;

6、推导公式:

设 传输次数为 x次,传输大小为 yByte,宽度为 N根,则公式:x=y/2^N

7、计算时,寻址能力基本上都是以个为单位;

2.10 数据总线

1、CPU与其他芯片之间的数据传输是通过数据总线进行的;

2、数据总线的宽度,决定了CPU和外界的数据传输的速度;

3、计算时,传输能力基本上都是以存储单位为单位(B);

2.11 控制总线

1、CPU对芯片的控制是通过控制总线进行的,这里的控制总线只是总称,控制总线是一些不同控制线的集合;

2、控制总线的宽度决定了对芯片的控制能力;

3、控制总线的宽度与以上两种不同,不同的线代表对不同东西的控制,例如,有读信号输出的控制线,写信号输出的控制线;

2.12 存储器芯片

存储器从物理连接上看是独立的、不同的;从读写属性分为两类:随机存储器(RAM)和只读存储器(ROM);

随机存储器:

1、可读可写,必须带电存储,关机后存储的内容丢失;

2、主要用于存放供CPU使用的绝大部分数据和程序,一般由装在主板上RAM和插在扩展卡槽上的RAM组成;

只读存储器:

1、只能读不能写,关机后内容不丢失;

2、由主板和各类接口卡(如显卡、网卡等)厂商提供的软件系统,利用硬件设备进行输入输出;

2.13 内存地址空间

定义:

例如,一个CPU的地址总线宽度是10,那么可以寻址1024个内存单元,这1024个可寻址的内存单元就构成了内存地址空间;

特性:

1、都和CPU总线相连;

2、CPU对他们进行读写时,都是通过控制线发出内存读写指令;

操作存储器原理:

也就是说,CPU在操作存储器时,把他们都当做内存来操作,把他们总的看做一个由若干存储单元组成的逻辑储存器,这个逻辑存储器就是内存地址空间;每个物理存储器在这个逻辑存储器中占有一个地址段,即一个地址空间;CPU在这段地址空间读写数据,实际上就是在相对应的物理存储器中读写数据。

内存地址空间大小的限制:

内存地址空间的大小受CPU寻址能力的限制,其实就是受CPU地址总线的宽度限制;

2.14 小计

1、8086CPU地址总线20根,外部和内部数据总线16根,也就是说,寻址地址空间是1M(2^20),内外部数据传输能力是2B(16bit);

8088CPU地址总线宽度是20,运算部件及内部数据总线都是按16位设计的,单外部数据总线只有8条,也就是说,内部数据总线传输能力是2B,外部是1B;


网站公告

今日签到

点亮在社区的每一天
去签到