问题描述
|
我想知道在速度为16MHZ的处理器上运行Flat(无循环,无跳转,无动态内存分配)代码的执行时间。是否取决于代码长度。如果P1具有N1指令,而P2具有N2指令,则N2> N1。处理器的执行时间在纳秒范围内。
解决方法
关于16MHz CPU,您唯一能说的就是时钟信号每秒翻转1600万次,我对此并不完全确定! :-)
执行时间取决于很多变量:
指令数。
每个指令的时钟周期数。
什么样的管道(如果有)。
CPU中的多个元素是否可以同时处理指令。
等等。
换句话说,除了原始时钟速度外,还有很多因素需要考虑。
对于一个非常简单的CPU,每条指令占用一个时钟周期,没有因内存访问或其他I / O而造成的延迟,没有流水线,没有并发执行,并且没有其他因素会影响每个时钟周期的一条指令,那么是的,仅取决于代码的长度。
但我认为自8080/6502以来,我还没有看到过如此简单的CPU :-)