电子说
机器语言是机器指令的集合。机器指令展开来讲就是一台机器可以正确执行的命令。电子计算机的机器指令是一列二进制数字,计算机将之转变为一列高低电平,以使计算机的电子器件受到驱动,进行运算。
汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式。
机器指令:1000100111011000
操作:寄存器 BX的内容送到AX中
汇编指令:MOV AX,BX
寄存器是CPU可以存储数据的器件
由3类指令组成
(1)汇编指令:机器码的助记符,由对应的机器码
(2)伪指令:没有对应的机器码,计算机并不执行。
(3)其他符号:如+,-,*,/ 等,由编译器识别,没有对应的机器码
汇编语言的核心是汇编指令,他决定了汇编语言的特性
指令和数据是应用上的概念,在内存或磁盘上,指令和数据没有任何区别,都是二进制信息。
存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号;
电子计算机的最小信息单元是bit(比特),就是一个二进制位,8bit组成一个Byte(字节),微型机存储器的存储单元可以存储Byte,128个存储单元,就可以存储128个Byte
CPU想要进行数据的读写,必须和外部器件(芯片)进行3类信息的交互
那么CPU是通过什么将地址、数据和控制信息传到存储芯片中的呢?
电子计算机能处理、传输的信息都是电信号,电信号当然要用导线传送。在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。
物理上:一根根导线的集合;
逻辑上划分为 :
CPU从内存中读取数据过程
(1)CPU通过地址总线将地址信息3发出。
(2)CPU通过控制线发出内存读命令,选中存储器芯片,并通知他,将要从中读取数据。
(3)存储器将3号单元中的数据 08 通过数据线送入CPU
对于8086CPU,下面的机器码能够完成从3号单元读数据:
机器码:101000000000001100000000
含义:从3号单元读取数据送入寄存器AX
什么是内存地址空间呢?
一个CPU的地址线宽度为10,那么可以寻址1024个内存单元,这1024个可寻到的内存单元就构成这个CPU的内存地址空间。下面深入讨论。
首先需要介绍两部分基本知识,主板和接口卡。
在每一台PC机中,都有一个主板,主板上有核心器件和一些主要器件。
这些器件通过总线(地址总线、数据总线、控制总线)相连。
计算机系统中,所有可用程序控制其工作的设备,必须受到CPU的控制。
CPU对外部设备不能直接控制,如显示器、音箱、打印机等。直接控制这些设备进行工作的是插在扩展插槽上的接口卡。
从读写属性上看分为两类:
随机存储器(RAM)和只读存储器(ROM)
从功能和连接上分类:
随机存储器RAM
装有BIOS的ROM
接口卡上的RAM
PC机中各类存储器的逻辑连接情况
装有BIOS的ROM
BIOS:Basic Input/Output System,基本输入输出系统。
BIOS是由主板和各类接口卡(如:显卡、网卡等)厂商提供的软件系统,可以通过它利用该硬件设备进行最基本的输入输出。在主板和某些接口卡上插有存储相应BIOS的ROM。
上述的那些存储器在物理上是独立的器件。
但是它们在以下两点上相同:
将各类存储器看作一个逻辑存储器:
CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据。
内存地址空间 :
(1)汇编指令是机器指令的助记符,同机器指令一一对应。
(2)每一种CPU都有自己的汇编指令集。
(3)CPU可以直接使用的信息在存储器中存放。
(4)在存储器中指令和数据没有任何区别,都是二进制信息。
(5)存储单元从零开始顺序编号。
(6)一个存储单元可以存储 8 个 bit (用作单位写成“b”),即 8 位二进制数。
(7)1B = 8b 1KB = 1024B
1MB = 1024KB 1GB = 1024MB
(8)每一个CPU芯片都有许多管脚,这些管脚和总线相连。也可以说,这些管脚引出总线。一个CPU可以引出三种总线的宽度标志了这个CPU的不同方面的性能:
**(1)**CPU的寻址能力为8KB,那么它的地址总线的宽度为 位。解:1KB=1024B,8KB=1024B*8=2^N,N=13。 则地址总线的宽度为13位
**(2)**1KB的存储器有 *****个存储单元,存储单元的编号从 到 ***** 。解:回顾前面:一个存储单元可以存储 8 个 bit (用作单位写成“b”),即 8 位二进制数。 即:1KB=1024B=1024*8bit 故有1024个存储单元,存储单元的编号从0开始到1023
**(3) 1KB的存储器可以存储 __ 个bit, _**个Byte。解:1KB=1024Byte=1024*8bit=8192bit
**(4)1GB是个Byte、1MB是 **_个Byte、1KB是 __ ___个Byte。解:1GB=1024 * 1024 * 1024=1073741824Byte 1MB=1024*1024=1048576Byte 1KB=1024Byte
**(5)**8080、8088、80296、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为: (KB)、 (MB)、 (MB)、___(GB)。解:由第一题得知:2^N=寻址能力(N为地址总线的宽度即现在题目中的16、20....) 则:2^16=65536byte=64kb 2^20=1048576byte=1mb 2^24=16777216byte=16mb 2^32=4294967296byte=4GB
(6) 8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根。则它们一次可以传送的数据为: (B)、 _(B)、 __ (B)、 (B)、 __ (B)。解:由前面的知识可知: (一)8根数据总线一次可以传送8位二进制数据(即一个字节)。 (二)一个存储单元可以存储 8 个 bit (用作单位写成“b”),即 8 位二进制数。 (三)1Byte = 8bit 则:答案为:1 1 2 2 4
**(7) 从内存中读取1024字节的数据,8086至少要读 _ 次,80386至少要读 __**次。解:由上题可知:8086为16根数据总线,一次可以传送16位二进制数据(即两个字节)。 1024/2=512(次) 80386为32根数据总线,一次可以传送32位二进制数据(即四个字节)。 1024/4=256(次)
(8) 在存储器中,数据和程序以 _ 形式存放。解:在存储器中指令和数据没有任何区别,都是二进制信息,所以以二进制形式存放。
全部0条评论
快来发表一下你的评论吧 !