根据lichaonetuser 大侠说的话,我不明白请高手指点
本帖最后由 Miller01001 于 2011-6-22 09:33 编辑你要明白这里所说的是CPU对外部总线的处理方式你弄混了还理直气壮?你们家CPU处理外部总线的信息也需要偏移量是吗?
CPU对外部总线:某条外部总线也没有说清楚。物理内存地址都找不到,难道你去告诉CPU怎么去找你家地址是不是?
处理方式你弄混了还理直气壮:CPU必须先寻物理内存地址,CPU都找不到内存物理地址何来读写内存单元!
CPU通过地址总线传输出来的2进制信息,必须通过指令译码器来完成2进制的转换,转换成16进制数字。
8086CPU一般采用显示译码的方式!
硬件一点也不懂。帮忙给推荐书吧
我小学毕业 我也不懂啊。我懂的话就不会问这问题了 首先CPU是以20位的地址去寻找内存地址,王爽老师书里写的都是在8086的CPU(16位)下运行的。(现在的CPU基本都是64位的)
那地址都是以16位方式储存的,但要以20位地址寻找内存,所以就有个地址加法器。
段地址通过地址加法器扩展(段地址*16)+偏移地址=20位的地址。
这样就能达到20位的地址寻址了。
虽然我也不是很清楚,但现在的CPU的寻址应该远不止这点。 我想是我搞错了,你问的是地址总线,是不是CPU通过地址总线,但不是以2进制的方式输出的? 本帖最后由 Miller01001 于 2011-6-22 08:59 编辑
你们家CPU处理外部总线的信息也需要偏移量是吗?
他的意思,CPU在寻内存物理地址的时候,不需要加偏移地址
CS:IP传输到地址总线上寻内存的物理地址。。。。他就这个意思
本帖最后由 king嗜血法师 于 2011-6-23 11:20 编辑
理论上讲他这句话是没有错的。
按8086下因为具体地址是CPU内部的地址加法器中算好了,寻址的时候已经是20位的地址了。
所以通过外部地址总线不需要在去加偏移地址,而单单是一个总地址。
反过来想,如果外部地址总线也要偏移地址,那就不需要地址加法器来扩展了。
king嗜血法师 发表于 2011-6-23 11:16 static/image/common/back.gif
理论上讲他这句话是没有错的。
按8086下因为具体地址是CPU内部的地址加法器中算好了,寻址的时候已经是20位 ...
可惜外部总线只是CPU的桥梁
CPU内部必须用地址加法器来计算物理地址,要不现在我们怎么能使用32位的CPU
以上的话题,是我回答的话题,他的原话是前俩句
你可能没弄清楚“内部”和“外部”才会混淆了。 本帖最后由 Miller01001 于 2011-6-23 11:44 编辑
内部总线是什么?
外部总线又是什么
总线是一组信号线的集合,它定义了各引线的信号、电机、机械特性,使计算机内部各组成部分之间以及不同的计算机之间建立信号联系,进行信息传送和通信。内部总线:就是计算机内部功能模板之间进行通信的总线,它是构成完整的计算机系统的内部信息枢纽,但按功能仍要分为数据总线DB,地址总线AB,控制总线CB,电源总线PB。外部总线是计算机与计算机之间或计算机与其他智能设备之间进行通信的连接 其实你理解的太深入了,你就是这样引发的混淆,我们不需要知道1+1为什么等于2,我们只要知道1+1等于2就行了。CPU把地址算好,在给外部地址总线寻址。别多想了,会走火入魔的。 你多看看小甲鱼汇编的前面几个视频,里面有说内部和外部的结构,还有flash介绍。 我看过你们对话的那个帖子了,双方说的都有道理,只能怪自己不是CPU的生产者,具体构造只有开发的人知道吧? 同感 也看了对话 为什么都有道理 小甲鱼却不给出标准答案呢 菜鸟纠结中:(
页:
[1]