Questions tagged «computer-architecture»

有关计算机硬件的组织和设计的问题。

10
是否可以为所有计算机提供通用汇编语言?
我想问一些关于汇编语言的问题。我的理解是,它与机器语言非常接近,从而使其更快,更高效。 由于我们存在不同的计算机体系结构,这是否意味着我必须在Assembly中针对不同的体系结构编写不同的代码?如果是这样,为什么汇编不写一次-到处运行类型的语言?简单地使其具有通用性,只编写一次就可以在几乎任何具有不同配置的机器上运行,难道不是一件容易的事吗?(我认为这是不可能的,但是我想提出一些具体,深入的答案) 有人可能会说C是我要寻找的语言。我以前没有使用过C,但是我认为它仍然是一种高级语言,尽管可能比Java快。我可能在这里错了。

1
什么是系统时钟和CPU时钟?它们的功能是什么?
在阅读一本书时,我遇到了以下一段: 为了同步计算机的所有操作,使用了系统时钟(位于主板上的小石英晶体)。系统时钟会定期向所有其他计算机组件发出信号。 还有另一段: 如今,许多个人计算机都具有以200 MHz运行的系统时钟,并且与这些系统时钟同步的所有设备(例如CPU)都以系统时钟速度或系统时钟速度的倍数或分数运行。 任何人都可以告诉: 系统时钟有什么功能?在第一段中,“同步”是什么意思? “系统时钟”和“ CPU时钟”之间有什么区别吗?如果是,那么CPU时钟的功能是什么?


4
每年的CPU频率
我知道自2004年以来,摩尔定律就不再为CPU时钟速度工作。我正在寻找一个显示此图的图表,但找不到它:大多数图表都显示晶体管的数量或每年的容量。 从过去的几十年到今天,我在哪里可以找到一些数据来显示计算机的CPU频率(一切正常,个人计算机,服务器,笔记本电脑……)? 我可以自己绘制的原始数据也很好(哼,可能更好)。

3
当今的大型并行处理单元是否能够高效运行细胞自动机?
我不知道如今的图形卡中提供的大规模并行计算单元(例如在OpenCL中可编程的一种)是否足以有效地模拟1D细胞自动机(或2D细胞自动机?)。 如果我们选择适合芯片内存的有限网格,是否可以期望在(恒定)恒定时间内计算出在此网格上定义的元胞自动机的一次跃迁? 我认为2D细胞自动机比1D自动机需要更多的带宽来进行芯片不同部分之间的通信。 对于FPGA编程或定制芯片,我也会对同一问题感兴趣。

7
为什么浮点表示使用符号位而不是2的补码来表示负数
考虑一个定点表示形式,可以将其视为浮点数的退化情况。负数完全可以使用2的补码。但是,为什么浮点数需要一个符号位,尾数位不应该使用2的补码? 同样,为什么指数位使用偏差而不是有符号的幅度表示(类似于尾数位)或2的补码表示? 更新:对不起,如果我不清楚。我一直在寻找浮点表示形式是如何成形的。如果在替代方案之间没有强大的实现权衡,那么有人可以解释浮点表示的历史方面吗?

5
如何计算不同缓存的标签,索引和偏移量位数?
特别: 1)具有4096个块/行的直接映射缓存,其中每个块具有8个32位字。假设一个32位地址,那么标记和索引字段需要多少位? 2)与1)相同的问题,但需要完全关联的缓存吗? 如果我错了,请纠正我,是吗? 标签位=地址位长度-索引指数-偏移指数? [由于2 ^ 3 = 8,偏移量= 3还是2 ^ 5 = 32是5?

6
我如何在学术上说“一台计算机比另一台计算机慢”?
我正在写一篇研究论文,我必须说一个微控制器比另一个微处理器慢。但是,我担心仅仅说它“慢”一点在研究论文中是不合适的。 我对吗?仅仅说一个处理器“慢”就可以,还是我需要说其他话吗?我还能说什么?我想出的最好的办法是,一个具有比另一个低的“计算能力”,或者微控制器具有“低的计算能力”。不幸的是,这些表达式在网上搜索时似乎不太流行。 那么,这是一种更好且学术上正确的说法吗?

1
内存一致性与缓存一致性
确实,顺序一致性是比缓存一致性更强的属性吗? 根据 索林,丹尼尔·J;希尔,马克D;Wood,David A:关于内存一致性和缓存一致性的入门,Morgan和Claypool,2011年 顺序一致性可以描述为(非正式): 顺序一致性内存模型指定系统必须执行所有线程的加载,并以尊重每个线程程序顺序的总顺序存储到所有内存位置。每次加载将按该总顺序获取最新存储的值。 换句话说,系统是顺序一致的,如果给定每个线程的内存事件(加载和存储),我们可以对所有这些事件进行排序,使得:1)对于每个线程,其事件的顺序得以保留; 2)全局顺序为串行(任何加载都返回存储的最新值)。 现在他们继续并描述连贯性: 的定义的一致性是类似于顺序一致性的定义是一致的系统必须出现来执行所有螺纹的加载和存储到单个存储器位置在共有以便方面每个线程的程序顺序。 换句话说,系统是一致的,如果给定每个位置的每个线程的内存事件,我们可以对该位置的事件进行排序,这样:1)对于每个线程,其事件在该位置的顺序被保留,以及2)对于每个线程位置订单是连续的。 最后,他们指出了区别: 此定义突出了一致性和一致性之间的重要区别:一致性是基于每个内存位置指定的,而一致性是针对所有内存位置指定的。 因此似乎不同之处在于,对于相干系统,我们需要每个位置的所有事件的总顺序(因此,特定位置的事件之间的顺序),而对于一致的系统,应该在所有事件上定义总顺序(因此在不同位置的事件之间也进行排序)? 这是否意味着一致性不如一致性那么严格?(这似乎很有趣!)是否存在连贯但不一致的痕迹?


2
超级计算机的目的
去年秋天,我参观了伊利诺伊大学的Blue Waters超级计算机。我问是否有人使用过整个计算机。有人告诉我它总是在多个项目上工作。这让我想知道超级计算机的用途。也许蓝色水域是不寻常的,因为它必须由工业界和大学共享-我不知道。我认为管理单个超级计算机的处理器和内存会产生一些开销。构建小型计算机是否更具成本效益?谁能帮助我了解超级计算机的价值?还是有时它们专门用于单个项目?


2
为什么MIPS包含shmt和区分功能/操作码?
对于MIPS设计器为何要包含5个专用于移位的位并具有独立的操作码和功能位,我感到困惑。 因为MIPS是RISC,所以我假设只有几条指令才能完成移位操作,所以这5位看起来很浪费空间,因为它们可以立即放入。我假设操作码和函数是分开的,以区分R型和I型指令,但这可以通过将操作码扩展1位来完成。使用这两种R型指令时,它们的长度可能为22位。如果I型和J型指令希望保留其立即数和地址,则此方法将无效,但看起来两者都是不必要的。

1
TLB和数据缓存如何工作?
我正在尝试考试,但我意识到我对TLB和数据缓存的工作方式感到困惑。 我知道TLB本质上是最近使用的物理地址的缓存。但是,我正在看教科书中的一个图表(如下所示),但我不知道其中发生了什么。我猜它突然分裂了物理地址,并用它来索引缓存。但是为什么它分别显示缓存和数据?为什么字节偏移量只是浮动?我很确定缓存也应该存储数据。我认为它的唯一目的不是确定其内部是否有命中或失误。 我为我的无知事先表示歉意,但是这本书几乎没有涵盖TLB的内容(只不过是一页纸),并且在解释TLB和缓存之间的关系方面做得不好。

3
日常材料的逻辑门
逻辑门是一种抽象设备,可以用电磁继电器,真空管或晶体管来实现。这些实现已在计算中取得成功,部分原因是其可链接性,耐用性和大小超出了其基本的二进制稳定性,具有各种特性。它们也很好地工作,因为电力是能源,可以很容易地运送到周围。 我见过用木材,大理石和重力建造的加法器。我看过“芯片实验室”毛细管作用驱动的原型。我见过各种专业机械计算器(Curta,计算尺)。我已经将多米诺路径视为一次性逻辑门。 我对其他说明性的计算设备感兴趣,这些计算设备不一定方便,耐用或快速,但可以利用日常材料的属性进行计算并且可以直接看到。多米诺骨牌小径很近,但是有点太复杂以至于无法重置。 磁机械布置?管道/槽中有水?更一般的大理石装置? PS。这是一个新的。 机械CPU时钟

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.