繁体   English   中英

我陷入了32位机器读写周期的简单作业中

[英]I am stuck at a simple homework on 32bit machine read write cycle

在32位计算机上对内存的读取或写入操作每个周期4字节,如果我有一个整数和一个长双精度变量,并分配了一些值,那么读/写它们需要多少个周期? 如果我在不同的平台和机器上使用这些变量,会有所不同吗? 谢谢。

找出整数 整型有多少个字节。 然后使用3的规则计算所需的时间。

在x86上,这样的32位大小是Integer 4个字节,long double实际上是16个字节(至少在某些arch的8个字节上是应该的,在其他12个字节上应该是),并且每个周期一次只能操作4个字节,因此整数需要1个周期,而长整数则需要4个周期(对于提到的其他大小,分别取3和2个周期)。 在具有SSE指令的64位计算机上,可以在一两个周期内执行16个字节。

关于此主题,这里有一个很好的问题: 在32位计算机上长距离实现最高评级的响应可以洞悉它们的存储方式和操作方式。

由于我不知道您要指的是什么体系结构,并且由于它只是家庭作业,因此我很想说要花两个mov指令来执行存储长整数的操作。 因此,两个周期。

整数= 4个字节,长整数= 10个字节,这意味着整数= 1个周期长整数= 2.5(3?)个周期。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM