汇编指令和时序电路的关系?

发布于 2022-09-18 11:16:22 字数 220 浏览 12 评论 0

一旦硬件电路设计好,时序电路就是固定好的了. 每条汇编指令在特定长度的机器周期内完成
有这么样的一个疑问,在一些设计中,会看到这样的描述,等到数据传输完了,会给发送方发送一个信号(通
过实实在在的物理线通知发送方), 但是由于在传输过程中由于传输的数据长度是不固定的,如果判断数据
传输完了呢,有软件判断还是有硬件判断传输完了?
个人感觉是硬件判断的,如果真是所猜测,个人能否给详细的解释下?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

昨迟人 2022-09-25 11:16:22

这跟你的标题完全不搭界。
数据传输,有很多方式,只因双方遵守同一个协议。
各种各样的协议都可以满足这一要求。
是硬件判定还是软件判定这不是本质,遵守协议才是本质。
不知道你玩过GPIO没有,那就是用软件的方法模拟硬接口。

生生不灭 2022-09-25 11:16:22

打个比方,我来设计一个全双工的串行协议:
三根线,两根IO+一根地
平时不串数据的时候,数据线被拉到低电压。
当要开始传数据的时候,我先传一个宽度为10us的高电压脉冲。
以后按bit传,1用宽度为5us的高电压脉冲表示,0用宽度为3us的高电压表示。
每两个bit之间间距3us的低电压。
于是这个串行协议就可以传数据了。
因为我规定了每两个bit之间间距3us的低电压
所以一旦发现连续比3us宽的多的低电压(比如10us),我就认为这一段数据已经传完。

待"谢繁草 2022-09-25 11:16:22

标题改成"协议的实现是用硬件还是软件",可能更贴近我问题的描述. 可是这样问的话, 答案很明了,既可以用硬件也可以用软件.
标题暂时不换了,随着问题的深入理解,我在 换.
2楼的"协议"应该是正解. 实现同一"协议"接可以用软件,也可用硬件.
但是还有一个疑问,如果按照2楼的理解,我怎么觉得软件和硬件相互独立了. 除了硬件帮忙执行了汇编指令,没有体现出硬件逻辑还做了什么? 因为汇编指令只会帮我们读,存数据,并没有通知说数据已经传完了. 还是硬件在执行汇编指令的同时,所有的硬件逻辑也做完了.

所谓的硬件逻辑就是能够判断数据传完了吗,收到了特殊的数据等.(个人暂时这样理解的)
疑问应该描述清楚了吧?

不醒的梦 2022-09-25 11:16:22

原帖由 怪怪虎 于 2009-12-29 11:18 发表
标题改成"协议的实现是用硬件还是软件",可能更贴近我问题的描述. 可是这样问的话, 答案很明了,既可以用硬件也可以用软件.
标题暂时不换了,随着问题的深入理解,我在 换.
2楼的"协议"应该是正解. 实现同一"协议 ...

这些都是协议规定的,不同的东西实现的前提是要“遵守!!”协议,至于用什么方式去遵守协议,那是如何实现的问题。
软件怎么可能和硬件脱离,软件从来都不是独立存在的,没有硬件,哪来软件?软件只是使硬件更灵活的一种方式而已。最终去实现者其实永远都是硬件,即使用了软件,软件也只是一个指挥者而已,并非一个实施者。

单调的奢华 2022-09-25 11:16:22

原帖由 怪怪虎 于 2009-12-29 11:18 发表
标题改成"协议的实现是用硬件还是软件",可能更贴近我问题的描述. 可是这样问的话, 答案很明了,既可以用硬件也可以用软件.
标题暂时不换了,随着问题的深入理解,我在 换.
2楼的"协议"应该是正解. 实现同一"协议 ...

至于“硬件逻辑做什么了”,那种不用软件的硬件接发器(我习惯称之为傻瓜式),它的所有实现都由自己的硬件逻辑来唯一决定。
而基于可编程的话,那么就可以被控制,可以引入软件的思维,使之更灵活。

黄昏下泛黄的笔记 2022-09-25 11:16:22

这个比方很清楚, 我应该理解了协议的概念,已经在硬件上如何实现的.
不过还有些疑问,忘赐教.(在这个问题上有些呆)
汇编指令在整个过程(包括传输前的准备,传输中,传输结束)中有作用吗?

回忆那么伤 2022-09-25 11:16:22

原帖由 怪怪虎 于 2009-12-29 11:30 发表
这个比方很清楚, 我应该理解了协议的概念,已经在硬件上如何实现的.
不过还有些疑问,忘赐教.(在这个问题上有些呆)
汇编指令在整个过程(包括传输前的准备,传输中,传输结束)中有作用吗?

基于指令集的指令(处理器中概念)只是软件操纵的一种手段,这只是狭义的软件而已。
其实说白了,它只是提供了一种手段,仅此而已,控制的方法很多,不只有处理器的指令。

廻憶裏菂餘溫 2022-09-25 11:16:22

原帖由 cjaizss 于 2009-12-29 12:09 发表

基于指令集的指令(处理器中概念)只是软件操纵的一种手段,这只是狭义的软件而已。
其实说白了,它只是提供了一种手段,仅此而已,控制的方法很多,不只有处理器的指令。

其实,如果你真的想了解,有机会写写硬件驱动就明白了,对于相同处理器来说,相同的一条操作会因为你硬件的设计不同而完全不同。
其实每到接口处(甚至IC内部模块间接口),起作用的只是接口的双方遵照同样的协议。整个计算系统其实全都是用协议搭起来的。

鱼忆七猫命九 2022-09-25 11:16:22

原帖由 cjaizss 于 2009-12-29 12:16 发表

其实,如果你真的想了解,有机会写写硬件驱动就明白了,对于相同处理器来说,相同的一条操作会因为你硬件的设计不同而完全不同。
其实每到接口处(甚至IC内部模块间接口),起作用的只是接口的双方遵照同样的 ...

都给讲到这个份上了,看来自己不明白只能看驱动的code了. 哈哈
可是现在基于linux操作系统的驱动,在书写方式上,个人感觉他把底层的实现都给隐藏了. 在c语言code里看到的只是一些设备逻辑,根本看不出"协议"的设计了. 让人有点不知所措....

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文