|
主题 : : 第1章【基础知识】第8页的1.9数据总线,实在搞不懂,刚学习,请大家帮帮我解答下 [待解决] |
回复[ 10次 ]
点击[ 942次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2010-03-28 20:58 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-03-24 19:46 |
8086有16根数据线,可一次传送16位数据,所以可一次传送数据89D8H;而8088只有8根数据线,一次只能传8位,所以向内存写入数据89D8H时需要进行两次数据传送。
这一句实在不解
为什么【8086有16根数据线,可一次传送数据89D8H?又为什么8088只有8根数据线,向内存写入数据89D8H时需要进行两次数据传送???】
请大家帮我解答下,谢谢了,刚接触汇编,很有热情,在线等 | | |
|
|
|
|
[第1楼]
[ 回复时间:2010-03-28 21:52 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-05-21 18:30 |
数据组成是16位.高8位,低8位.总16位,如果是16根数据线传送,当然只要1次就可读写完成,8位数据线的话,它得先读写低8位,再读写高8位数据,这样就得进行2次传送了.8086 16根数据线,8088 8根数据线,这个处理器不同性质差异. | | |
|
|
|
|
[第2楼]
[ 回复时间:2010-03-28 21:55 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-03-24 19:46 |
|
|
|
|
|
[第3楼]
[ 回复时间:2010-04-26 17:06 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-04-26 15:47 |
|
|
|
|
|
[第4楼]
[ 回复时间:2010-04-29 23:20 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-04-25 12:19 |
我是这样理解的,比较笨,不好意思:89dH是十六进制,转到二进制后为1000100111011000,共十六位,而8088只有8 根线,现在有十六位数据,所以要进行两次传送,先传送11011000,再传送10001001,也就是先D8再89,先低后高 | | |
|
|
|
|
[第5楼]
[ 回复时间:2010-05-24 12:22 ]
[引用]
[回复]
[ top ] | |
荣誉值:6
信誉值:0
注册日期:2008-05-26 12:14 |
为什么【8086有16根数据线,可一次传送数据89D8H?又为什么8088只有8根数据线,向内存写入数据89D8H时需要进行两次数据传送???】
------------------
回复:
8086引脚功能说明
http://www.asmedu.net/blog/user/bigimg.jsp?neighborId=11024&pic=post_1274593543421.png
8088引脚功能说明
http://www.asmedu.net/blog/user/bigimg.jsp?neighborId=11024&pic=post_1274672644468.png
从图中可以看出8088的数据端口只有8个(AD0-AD7,之所以AD是因为地址A和数据D会复用这个端口)
而8086有16个(AD0-AD15).
(另外图中还可以看出8086地址端口有20个AD0-AD15,A16-A19, 8088和8086一样)
关于引脚
想像每个引脚是一个开关, 从这些引脚中连接出去的导线, 在线的另外一头连接的灯泡(忽略回路细节)
8086和8088都灯泡的亮灭来表示信号(信息,数据)
8086有16个灯泡(设计决定),表示16个亮灭状态一次操作就完成了.
而8088只有8个灯泡,表示16个亮灭状态,一次操作完不成,两次可以.
如果存在一块CPU只有一个引脚, 也就相当于只有一个开关和一个灯泡
要表示16个亮灭状态,要16次才能完成.
最后
【8086有16根数据线】 这是设计决定的,一旦你用8086编程你就得遵守这个设计, 不管你是输入输出数据都只能用这些个引脚.
同样地
【8088只有8根数据线】 这也是设计决定的. 制造的时候也就只造了8个用于数据传送的引脚. 一旦你要用8088,你的数据的输入输出也都只能用这设计好的8个引脚.
(希望我说清楚了,因为我的理解也就这个水平,更多的要高手来指点) | | |
|
|
|
|
[第6楼]
[ 回复时间:2010-06-03 15:16 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-06-02 14:32 |
|
|
|
|
|
[第7楼]
[ 回复时间:2010-06-04 15:17 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-06-03 15:56 |
我猜一下啊,一根数据线表示一位二进制数比如 10101010 这个8位2进制数,8位那么对应8跟数据线一根表示一位数,第一根数据线通电表示1,第二根数据线不通电表示0,以此类推。那么16根数据线当然可以一次传送1个16位数了,一根数据线可以传送一位二进制数嘛。那么8跟数据线要传送1个16位数,需要先传前8位,再传后8位(具体先传那个不清楚) | | |
|
|
|
|
[第8楼]
[ 回复时间:2010-11-11 16:03 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-11-09 16:36 |
感觉你是概念不清,数据的传送是由二进制传入寄存器,这里的是"位"指的是二进制中的位,八个数据总线就可以传八位二进制的数。 | | |
|
|
|
|
[第9楼]
[ 回复时间:2010-12-03 21:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-12-03 12:38 |
|
|
|
|
|
[第10楼]
[ 回复时间:2010-12-09 13:28 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-05-23 12:24 |
你这个问提属于计算机组成原理的一个小问题!
我们意识上的0、1在计算机用电压的高低来表示,至于那个标准电压是多少,不同类型的电脑有所不同;这个标准电压,我也忘了!
一根线很显然只能传送一次电压脉冲,也就是我我们意识上的0或1;89d8H对应为1000 1001 1101 1000。 | | |