字节使能信号在16位,32位等处理器上的作用,大虾来围观下!

自由小菜园 2018-11-17 08:24:19
关于字节使能信号的疑惑还望大虾解惑,举个例子:

32位处理器,A3及以上地址线 形成一个具体地址 访问存储器。32位处理器一次的传输都是4字节,而使能信号BE0 -BE3分别对应传输数据中的每一个字节,既然每一次的传输都是4字节,那还要4个字节使能信号干嘛,也就是说每次4个信号都是选通的嘛。
...全文
768 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
现在我就是32位处理器,接32位数据总线,那一次传输数据总是32位数据了吧
===============================================

错。所谓“动态总线宽度”,数据总线物理宽度32位,但是每个总线周期未必是32位的,可以是8/16/32位之一,因为处理器只有一套数据总线,但是可以接口不同的设备,并非只有RAM,BE#配合总线宽度信号,在8/16位总线周期中可以灵活传输数据(比如用D23..D8传输16位数据),还可以省掉A1、A0地址线处理非对齐访问:
BE3# BE2# BE1# BE0# 有效地址
--- --- --- 0 xxxxxxx0
--- --- 0 1 xxxxxxx1
--- 0 1 1 xxxxxxx2
0 1 1 1 xxxxxxx3

慢慢理解吧...
自由小菜园 2018-11-19
  • 打赏
  • 举报
回复
你还是没回答到点上,你这种回答就是教科书式的理论,像你说的现在我就是32位处理器,接32位数据总线,那一次传输数据总是32位数据了吧,这时候这些字节连通信号有什么意义呢,BE0对应D0-D7……,既然对于这样的连接总是传输32位了,那何必还要4个信号,直接1个信号表示D0-D31不就好了
  • 打赏
  • 举报
回复
1. 32位处理器一次的传输都是4字节,错。取决于数据总线的宽度,386sx、486sx只有16位数据总线,Pentium+是64位数据总线,即便在32位数据总线的处理器上,也可以接口8位、16位总线设备(BS8#、BS16#总线宽度控制信号)。
2. x86/x64支持动态总线宽度,每一个存储周期可以是8/16/32/64位宽度之一。BE#信号(低电平有效)决定了数据总线上对应字节是否有效。BE3#、BE2#、BE1#、BE0#分别对应D31..D24、D23..D16、D15..D8、D7..D0。

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧