|
主题 : : 内部总线的宽度 [待解决] |
回复[ 6次 ]
点击[ 385次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2013-05-25 17:00 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:0
注册日期:2010-01-27 19:28 |
第2章开头介绍运算器、控制器、寄存器靠内部总线相连。2.5节说8086CPU的寄存器和运算器之间的通路为16位。
是不是相当于说内部总线宽度为16,有16根? | | |
|
|
|
|
[第1楼]
[ 回复时间:2013-06-15 14:23 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-06-15 10:10 |
内部总线有三种,地址总线,数据总线,控制总线,不一定相同。8086好像有20根地址总线,16根数据总线 | | |
|
|
|
|
[第2楼]
[ 回复时间:2013-06-19 15:17 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:0
注册日期:2010-01-27 19:28 |
这不跟外部总线一样吗?你说的是内部总线还是外部总线? | | |
|
|
|
|
[第3楼]
[ 回复时间:2013-07-05 19:58 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:0
注册日期:2013-02-02 01:48 |
内部16位是CPU内部进行传输的通路宽度为一次性16个bit,地址总线,数据总线,控制总线这些是外部总线啊~没理解不要误导别人啊! | | |
|
|
|
|
[第4楼]
[ 回复时间:2013-07-07 08:53 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2013-06-27 08:42 |
这个问题我也有疑问,2.6节讲的将2个16为地址合成1个20位的物理地址。
这个20是怎么算来的???
回到本问题,16位是不是16根,两个16位不应该是32根么? | | |
|
|
|
|
[第5楼]
[ 回复时间:2013-08-01 18:34 ]
[引用]
[回复]
[ top ] | |
荣誉值:26
信誉值:0
注册日期:2013-07-15 09:25 |
8086CPU寄存器到加法器之间的总线肯定是16位,从加法器出来的是合成的20位的物理地址,因此,加法器到输入输出电路的总线是20位,从这里将20位地址送到外部地址总线。8086CPU内部只有这里有宽度为20位的总线,其它内部总线都是16位。
16根与16位,两者统一但指向不同。16根是物理概念,16位是逻辑概念。
内存单元的编号是从00000H——FFFFFH。这些编号就是内存单元的物理地址,5个16进制数就是20位(bit)。理解了2进制数与16进制数相互转换,就清楚为什么物理地址是20位了。
例如物理地址FFFFFH,这样来理解位。16进制数: F F F F F
转换为2进制数: 1111 1111 1111 1111 1111
这样,每个F至少需4个2进制位“1”来表示,5个F就至少需要20个位才能表示。OK! | | |
|
|
|
|
[第6楼]
[ 回复时间:2014-02-06 13:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2014-02-06 12:06 |
地址总线、数据总线跟控制总线是外部总线,并不是内部总线,不要误导了楼主。
8086内部总线在不同的逻辑单元中,宽度是不同的,在8086内部逻辑的分成执行单元及接口单元,运算器、寄存器都在执行单元,它们之间的数据传送所使用的这部分内部总线是16位的;但在接口单元里,地址加法器与输入输出控制电路(其实就是CPU那密密麻麻的针脚)之间的这部分内部总线就是20位的,因为从执行单元送来的地址信息(段地址、偏移地址)要在地址加法器中被还原成物理地址,而物理地址是20位的。 | | |