学习!从汇编开始

这是我写的第一篇博客

目的是为了分享,为了记录。

 

汇编语言是在硬件之上工作的编程语言。很底层的一门编程语言,越低层,越基础,越深入了解pc

 

从题目开始吧! 

1个CPU的寻址能力为8KB,那么它的地址总线宽度为多少?

 

解答:一根地址总线 对应两个存储单元,可以对2个存储单元寻址(2B),N根地址总线,寻址能力2^K

1KB=2^13b=2^10B

所以 寻址能力8KB即:2^3* 2^10B地址总线宽度位3+10=13

思考:

为什么不是?

2^3 * 2^10 * 2^3b  3+3+10=16根总线?

B OR b

B 字节 Byte  ,b 位 bite ,有什么区别吗?

微型计算机 最小信息单位 bite 一个二进制位,8个bite组成一个Byte,即一个存储单元存储一个Byte

位 bite 最小信息单位 表示0,1

字节 Byte 8位 最小信息存储单位

 

CPU的寻址能力以字节为单位 

为什么是B?而不是b….

因为从根源上说英语字母大小写共52个,数字10个,所以2^(2^m)>=62,所以m=3,所以n=8。

 

以8位为一个字节

 

思考 :8位,16位,20位,24位,32位,64位地址总线寻址能力?

8位也就是CPU在一个时钟周期内可并行处理8位二进字符0或是1,那么16就以此类推是64位就64位二进制.

一根地址总线 对应两个存储单元,可以对2个存储单元寻址(2B),

一个8微处理器(CPU)芯片,寻址能力2^8B  1B=2^3 b=8b

一个16位cpu(8086)20根地址总线 2^20B=1MB

CPU的位宽一般是以 min{ALU位宽、通用寄存器位宽、数据总线位宽}决定的!也就是说CPU由ALU、通用寄存器、数据总线三者之中最少的位宽决定!所以CPU位宽与其寻址能力并不是挂钩的!

8086是16位处理器,有16位的寄存器和数据总线,20位的地址总线,寻址能力为1MB。

显然:CPU的位宽并不意味寻址能力!所以,以CPU位宽衡量CPU寻址能力是一个典型的错误!

继续

32位地址总线

2^32=4GB                      ;1Mb=2^20b,1MB=2^23b=2^20B

2^32=4GB=2^2 *2^30b=       ;1GB=2^33b=2^30B

这也是为什么32位地址总线的系统的最大能搭配4GB内存的原因:再多的话CPU就找不到了。

64位系统和64位处理器,最大能上264位方的内存,也就是16TB……

 

什么是存储单元

 

存储单元一般应具有存储数据和读写数据的功能,一般以8位二进制作为一个存储单元,也就是一个字节。每个单元有一个地址,是一个整数编码,可以表示为二进制整数。
程序中的变量和主存储器的存储单元相对应。变量的名字对应着存储单元的地址,变量内容对应着单元所存储的数据。

 

 

什么是地址总线?

址总线 (Address Bus;又称:位址总线) 属于一种电脑总线 (一部份),是由CPU 或有DMA 能力的单元,用来沟通这些单元想要存取(读取/写入)电脑内存元件/地方的实体位址。地址总线AB是专门用来传送地址的,由于地址只能从CPU传向外部存储器或输入输出端口,所以地址总线总是单向三态的,这与数据总线不同。地址总线的位数决定了CPU可直接寻址的内存空间大小,比如8位微机的地址总线为16位,则其最大可寻址空间为2^16=64KB,16位微型机的地址总线为20位,其可寻址空间为2^20=1MB。一般来说,若地址总线为n位,则可寻址空间为2^n字节。地址总线的宽度,随可寻址的内存元件大小而变,决定有多少的内存可以被存取。

 



 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值