注册 登录
编程论坛 汇编论坛

8086CPU寻址地址

caiyakang 发布于 2007-05-05 23:29, 1647 次点击
为何16位的CPU寻址会是2的16次方,这个寻址是怎么来算的
15 回复
#2
caiyakang2007-05-05 23:40
顺便问一下有没有CPU寄存器的相关介绍~~
比如寄存器最多能放多少KB数据之类的~~
好像课程都没介绍这些~~,这些要不知道,后面的课程好难听得懂!
#3
菜鸟上路2007-05-05 23:42
1位访问2个内存单元,2位访问4个内存单元。。。。16位访问2的16次方个内存单元
#4
爱以走远2007-05-05 23:48

ls说得没错 16位构成的是偏移地址
在寄存器里又有16位的段地址 段地址乘10H+偏移地址就是物理地址拉

#5
caiyakang2007-05-05 23:59
一个内存单元好像是8位的二进制数还是多少
#6
caiyakang2007-05-06 00:03
顺便请教一下,一个8088CPU也就是16位。他的寄存器AX能存放多少KB的数据
CPU是16位指是什么意思。
有没有这方面基础的书~推荐一本,我看教程都没介绍这方面,直接讲都听不懂
#7
caiyakang2007-05-06 00:06
如果CPU的位数是跟寻址有关系,
那为何有软件32位和64位区分了~跟CPU又有何关系
#8
爱以走远2007-05-06 08:05
以下是引用caiyakang在2007-5-5 23:59:29的发言:
一个内存单元好像是8位的二进制数还是多少

8位是一个字节 所以在寻址的时候把一个字节看做一个单元
也就是说每个单元都有一个地址

#9
爱以走远2007-05-06 08:07
以下是引用caiyakang在2007-5-6 0:03:01的发言:
顺便请教一下,一个8088CPU也就是16位。他的寄存器AX能存放多少KB的数据
CPU是16位指是什么意思。
有没有这方面基础的书~推荐一本,我看教程都没介绍这方面,直接讲都听不懂

ax只能放16位 cpu16位好象就是指他的寻址空间是2的16次方
关于这方面的我也不是很清楚

#10
爱以走远2007-05-06 08:09
以下是引用caiyakang在2007-5-6 0:06:04的发言:
如果CPU的位数是跟寻址有关系,
那为何有软件32位和64位区分了~跟CPU又有何关系

那为何有软件32位和64位区分了~跟CPU又有何关系
这句我不懂意思 你是说cpu32位和64位 还是什么软件哦
cpu的位数就说明拉他的寻址空间有多大

#11
caiyakang2007-05-06 08:19

也就是32位的软件无法在64位的平台上运行,经常听到这样的说法

#12
爱以走远2007-05-06 08:22
哦 那是可能的撒 有些软件很大 比如vs 你拿到原来的8086去
他 肯定运行不起 有些软件不但要cpu 还需要内存
#13
菜鸟上路2007-05-06 20:10
以下是引用caiyakang在2007-5-6 8:19:19的发言:

也就是32位的软件无法在64位的平台上运行,经常听到这样的说法

我觉得这不太正确,机器肯定要向上兼容的,64位机能运行32位软件

#14
曾小2007-05-09 17:44
CPU是16位指是什么意思。
这个就是说CPU一次能同时处理的的二进制位数是16位.
#15
爱以走远2007-05-09 18:25
以下是引用曾小在2007-5-9 17:44:16的发言:
CPU是16位指是什么意思。
这个就是说CPU一次能同时处理的的二进制位数是16位.

指的是寻址 16位能寻2的16次方

#16
hu9jj2007-05-09 20:31
64位的CPU是在32位CPU指令集上进行了扩充,通俗地讲就是增加了指令。32位的操作系统中不存在使用这些扩充的指令,也就是不能充分发挥64位CPU的功能,需要相配套的64位操作系统才能充分发挥64位CPU的功能。一般情况下,CPU的指令集都是向后兼容的,也就是说,以前编制的软件(包括操作系统)是可以在64位CPU上运行的,只是不能充分发挥其新增的功能而已(至少在CPU从16位向32位发展过程是这样的)。
1