我使用的嵌入式RISC处理器。有一个基本的东西我有一个问题搞清楚。

在CPU手册中明确指出,指令ld r1, [p1](在C:R1 = * P1)需要一个周期。寄存器r1的大小是32位。然而,存储器总线是只有16位宽。那么如何才能获取所有数据在一个周期?

有帮助吗?

解决方案

在时钟时间被假设全宽零等待状态存储器。它需要为核心来执行指令的时间是一个时钟周期。

有一段时间,当每个指令采取了不同数量的时钟周期。内存是比较快的,然后过,平时零等待状态。有管道之前的时间,以及在那里你只好烧时钟周期取,然后时钟周期解码,然后一个时钟周期指令执行,再加上额外的时钟周期变长的指令,如果该指令有一个内存操作额外的时钟周期。

今天时钟速度都高,芯片不动产是相对便宜,所以一个时钟周期增加或乘法是常态,因为是管道和高速缓存。处理器时钟速度不再对性能的决定性因素。内存比较昂贵,速度慢。所以高速缓存(配置,数量和尺寸),总线大小,存储器速度,圆周速度确定的系统的整体性能。通常提高处理器时钟速度而不是存储器或外围设备将显示最小如果任何性能增益,在某些场合也可以使它更慢。

内存大小和等待状态不在参考手册时钟执行规范的一部分,他们正在谈论什么只有核心本身的成本你的时钟每个指令的单位。如果它是一个哈佛体系结构,其中所述指令和数据总线是分离的,则一个时钟是可能的存储器周期。如果不是在此之前的指令的取指发生在至少在现有的时钟周期,所以在时钟循环的开始的指令准备好,解码,和在所述端部的一个时钟期间执行(读存储器周期)发生一个时钟周期的读取的结果被锁存到寄存器中。如果指令和数据总线是共享的,那么你可能会说,它仍然完成在一个时钟周期,但你没有得到取出下一条指令所以有点失速的存在,他们可能会欺骗和调用一个时钟周期。

其他提示

我的理解是:说一些指令需要一个周期的时候,它是不是该指令将在一个周期内完成。 我们应该在指令管线假设你的CPU有5级管路,该指令将需要5个周期,如果它依次exectued。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top