【问题标题】:How many and what size cycles will be needed to perform longword transferred to the CPU执行长字传输到 CPU 需要多少个和什么大小的周期
【发布时间】:2018-09-27 15:57:32
【问题描述】:

任务是针对架构 ColdFire 处理器 MCF5271:

我不明白执行到 CPU 的长字传输或字传输需要多少个和多大的周期。我正在阅读图表,但看不到连接是什么?任何 cmets 都非常感谢。我附上了 2 个带有答案的示例。

DATA BUS SIZE

【问题讨论】:

  • 所以CPU是68000?因为68000只有16位数据总线,但是从图片上看数据总线是32位宽的。
  • x86 我的错误@HadiBrais
  • 哪个 x86 处理器?我们首先要了解地址和数据总线是什么样的。
  • MCF5271 @HadiBrais
  • MCF5271 不是 x86 处理器,而是 ColdFire 处理器。

标签: cpu cpu-architecture processor cpu-cycles coldfire


【解决方案1】:

MCF5271 manual 在第 17 章讨论了处理器的外部接口。处理器通过 32 位外部数据总线实现了一个字节可寻址的地址空间。 D[31:0]信号代表数据总线,A[23:0]信号代表地址总线,BS[3:0](低电平有效)信号代表字节使能信号。即使数据总线是 32 位宽,与之相连的内存模块也可以是 32 位、16 位或 8 位宽。这称为内存端口大小。该章的图 17-2 显示了所有这些信号是如何相互关联的。

同一章节的表 17-2 显示了支持的传输大小(由称为 TSIZ[1:0] 的信号指定)。

A[0] 和 A1 地址信号指定传输的对齐方式。内存对齐在同一章的 17.7 节中定义。

因为操作数可以驻留在任何字节边界,不像 操作码,它们被允许错位。一个字节操作数是 在任何地址正确对齐,一个字操作数在一个错位 奇地址,并且长字在地址未对齐 四的倍数。虽然 MCF5271 不强制对齐 数据操作数的限制(包括程序计数器 (PC) 相对数据寻址) ,需要额外的总线周期 未对齐的操作数。

将所有这些信息放在一起,我们可以轻松确定通过大小为 1 的内存端口将 1 字节、2 字节、4 字节数据传输到任何内存位置(对齐或未对齐)需要多少个周期-byte、2 字节或 4 字节。

让我们考虑一下您附加的图片中的示例。如何通过 32 位内存端口在地址 0x0000003 存储长字?关注端口大小为 32 位的行。我们有 A[1:0] = 11。所以首先必须执行单字节传输,BS[3:0] = 1110。其他三个字节需要传输到位置 0x0000004 (A[1:0] = 00)、0x0000005 (A[1:0] = 01) 和 0x0000006 (A[1:0] = 10)。这可以使用三个单字节传输(需要三个周期)或使用一个两个字节传输后跟一个单字节传输(需要两个周期)来完成。

【讨论】:

    猜你喜欢
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 2016-11-12
    • 2010-10-16
    • 1970-01-01
    • 2019-12-01
    • 2012-10-27
    • 2015-10-08
    相关资源
    最近更新 更多