找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1534|回复: 7
收起左侧

8051单片机当时为什么设计成12T,外部晶振和内部需要频率相同不更符合常理嘛?

[复制链接]
ID:1043747 发表于 2022-11-23 16:01 来自手机 | 显示全部楼层 |阅读模式
谢谢大家
回复

使用道具 举报

ID:824490 发表于 2022-11-23 16:11 | 显示全部楼层
算时间好算啊~~12T的单片机,用12M的晶体,大部分的指令运行是1us,用11.0592M则是串口通信的波特率0误差,你的明白?
回复

使用道具 举报

ID:1043747 发表于 2022-11-23 19:29 来自手机 | 显示全部楼层
名字不是重点 发表于 2022-11-23 16:11
算时间好算啊~~12T的单片机,用12M的晶体,大部分的指令运行是1us,用11.0592M则是串口通信的波特率0误差, ...

我的意思是当时intel设计时,选1T不就完了,指令1us可以用1M晶振啊,何必选12T!
回复

使用道具 举报

ID:624769 发表于 2022-11-24 00:27 | 显示全部楼层
censv 发表于 2022-11-23 19:29
我的意思是当时intel设计时,选1T不就完了,指令1us可以用1M晶振啊,何必选12T!

为了让大部分指令在一个时间周期完成,所以需要 12T, 即表面上看 经过了一个机器周期,内部实际上走了好几步,同时也为了内部外部同步化,内部IO操作后,下一个周期外部IO状态已经改变,这些目的。
你可以参考  STC的 Y3系列,升级的1T之后,没几个指令是1周期可以完成的, 大部分都是 2,3,4,5 周期
代码需要耗费时间难算的要命。带来的问题还有 IO动作和 指令不同步。这个不同步问题,直到STC的Y6系列都没有解决,造成IO=1 之后不加两个NOP都读不到正确的外部值。
回复

使用道具 举报

ID:879348 发表于 2022-11-24 08:44 | 显示全部楼层
架构问题,当时能想出这玩意已经不简单了,不会考虑后来的问题
回复

使用道具 举报

ID:688692 发表于 2022-11-24 09:12 | 显示全部楼层
你得去搞一下CPU的原理了,取指令,译码,数据存取,IO操作这些,不需要时间的吗。现在1T能1条指令是因为多流水线,相当于软件上多线程的概念才实现的。
回复

使用道具 举报

ID:1034262 发表于 2022-11-24 09:36 | 显示全部楼层
那么,1970年第一个CPU为什么是1位而不是32位?
手机刚开始出来为什么不是智能手机?
1980年代的电脑CPU为什么是80186、80286而不是现在的多核即GHz的?
1930年代的飞机为什么不直接生产喷气的?

51内核、6502内核、Z80内核,从无到有。。。。
像我们这些60、70年代出生的老电工,在80、90年代能弄到一片8031,那是多么困难的事。
回复

使用道具 举报

ID:1043747 发表于 2022-11-24 14:23 来自手机 | 显示全部楼层
188610329 发表于 2022-11-24 00:27
为了让大部分指令在一个时间周期完成,所以需要 12T, 即表面上看 经过了一个机器周期,内部实际上走了好 ...

多谢解惑,你是个天使
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表