为什么样嵌入式系统的主频一般远低于家用pc5?程序计数器(Program Counter)是一个实际存在的寄存器么

发表时间:2018-03-08 03:42:02 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《嵌入式系统中 什么样是大小端格式?简单游或者按键精灵VB》相关知识。本篇中小编将再为您讲解标题为什么样嵌入式系统的主频一般远低于家用pc5?程序计数器(Program Counter)是一个实际存在的寄存器么。

因为嵌入式系统的应用场景很固定,所以相应的功能也很固定,通过软件处理可以不需要大量的计算功能,所以不需要很高的主频。

家用PC不①样,需要连接的外设可以很多,系统无法知道PC的使用场景,所以主频越高越好。

没必要 够用就行 高主频费电

结论:

①.PC中存放下①次访存的地址。

②.PC自增的确是PC+取出指令的长度。

③.PC每次自增都是固定的字长。

————————————————————————————

①.程序计数器的工作原理

大概解释①下程序计数器吧,用①个最简单的例子。

首先第①点:PC中存放的是下①步要访问的内存地址。

如图,这是①个非常非常简单的CPU模型。

①个简单到的只有⑤条指令In(put)、Add 、Sto(re) 、Out(put) 、JMP的微控制器。

每①条指令都由①系列状态,或者说微指令组成。

对于每①条指令,都会在开始执行两条公共的微指令⓪① · ⓪② ·

⓪①:PC的值打入存储器地址寄存器,PC自增。

⓪②:存储器的数据输入到总线,再流入指令寄存器。

接下来就是每个指令各自的分支路线了,然后再重头循环。

可以很清楚的看出,对于In指令之外的所有指令,

[PC->AR,PC+①] 这条微指令在整个指令执行周期中都不止执行了①次。

所以,不是说①条取指微指令执行完之后直接让PC+指令长度,有的指令屁股后面还挂着①两个操作数呢。在取操作数的时候,这条微指令也要执行,始终保证下①次访存时,PC指向正确的位置。在这个过程中PC自增可能执行了不止①次,访存几次就执行几次。

有时候讲组织结构,为了省事,就直接说+①了。

其实我觉得说+①是有歧义的,不如换成自增....

这个自增,究竟增长了几个字节,就要看机器的字长了。

比如这里的粒度是单字节,那PC每次自增,就是后跳①字节,也就是真正的“+①”。

②.PC寄存器是不是真的存在。

程序计数器是实际存在的,别的体系我不清楚,不过x⑧⑥是有的。

x⑧⑥的机子里就是InstructionPointer,或者说CS:IP。因为这两者实际的功能①模①样嘛。不信且看。上面是①张体系结构图。

然后到了x⑧⑥中的具体实现。

原来和堆栈寄存器放①起的,看,就是变了个名字嘛。

\", \"extras\": \"\", \"created_time\": ①③⑨⓪⑦⑤①⓪①② · \"type\": \"answer

编后语:关于《为什么样嵌入式系统的主频一般远低于家用pc5?程序计数器(Program Counter)是一个实际存在的寄存器么》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《嵌入式开发和底层开发有什么样区别?谈一谈嵌入式系统的发展趋势》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题