Questions tagged «computer-architecture»

计算机体系结构既指计算机外部接口(指令集)的设计,也指计算机内部实现(微体系结构)的设计。这些设计决策的目标是在满足其余约束的同时优化速度,功率效率,尺寸或成本。

12
我们如何确保计算机永远不会意外地将0乘以1?
我已经在Shocken / Nisan的《计算系统的元素》中读过一些有关数字计算机构造的信息。但是这本书没有提到计算机中某些电气方面的信息,例如:经常说0和1由电压表示,如果电压在[0,0.9)区间内,则它是0。在区间[0.9,1.5)中,则为1(电压可能会有所不同,我仅举一个例子)。 但是我从来没有读过能使电压保持“良好状态”的方式,即由于计算机内部的电气波动[1],所以永远不会将0意外地变成1。也许电压可能非常接近0.9,那么如何避免电压超过阈值呢? [1]:假设它存在。

8
为什么到处都使用数字串行传输?SATA,PCIe,USB
在查看SATA,PCIe,USB,SD UHS-II时,令我惊讶的是它们都是相同的:使用差分对(通常为8b / 10b编码)传输的数字串行比特流,但链路/协议层有所不同。 为什么这样?为什么这成为标准? 为什么没有广泛的系统通信协议大量采用一些高级调制方法来获得更好的符号率?我想念什么吗?这不是“串行与并行”的问题,而是“数字信号与调制模拟”的问题

5
CPU如何在每个周期内交付多个指令?
Wikipedia的第二页说明说,i7 3630QM在3.2 GHz的频率下可提供约110,000 MIPS。会是(110 / 3.2条指令)/ 4核=每核每个周期〜8.6条指令吗?一个内核如何在每个周期内交付多个指令? 据我了解,流水线每个时钟只能传送一个结果。 这些是我的想法: 内部频率实际上高于3.2 GHz CPU的某些部分是异步的,就像我这样谦虚的人无法理解 每个核心有多个并发管道 流水线可以提供比每个时钟更多的结果,指令可以跳过流水线阶段,并且有多个预取器可以跟上 我想念一些东西


5
缓存怎么能这么快?
这是缓存基准的屏幕截图: 在基准测试中,L1缓存的读取速度约为186 GB / s,延迟约为3-4个时钟周期。这样的速度怎么达到? 在这里考虑内存:理论上的最大速度为665 MHz(内存频率)x 2(双倍数据速率)x 64位(总线宽度),大约为10.6 GB / s,接近于9.6 GB / s的基准值。 。 但是,使用L1高速缓存,即使我们可以在处理器的最大频率(3 GHz)的每个周期读取数据,我们也需要大约496条数据线来实现这样的吞吐量,这听起来是不现实的。这也适用于其他缓存。 我想念什么?我们如何根据其参数计算缓存的吞吐量?


6
为什么英特尔的Haswell芯片允许FP乘法速度是加法运算速度的两倍?
我正在阅读有关堆栈溢出的一个非常有趣的问题: 整数乘法是否真的以与现代CPU上加法相同的速度完成? 评论之一说: “在Haswell上,FP乘法吞吐量是FP add的两倍,这是毫无价值的。这是因为端口0和1都可以用于乘法,但是只有端口1可以用于加法。也就是说,您可以使用融合作弊-相加,因为两个端口都可以。” 为什么它们允许相加的次数是加法的两倍?

6
为什么开放式硬件如此稀有?[关闭]
我试图理解为什么开放硬件要比软件难得多。我尝试过在线浏览,但找不到令人满意的解释。 我知道,硬件要保持专有性要容易得多,而对逆向工程则要困难得多(不可能)(就IC而言,而不是PCB),但是为什么这样做会阻碍开放的硬件计划呢? 它是制造成本吗?是否缺乏有关硬件设计的共享知识?是否涉及复杂性? 随着FPGA的出现,使硬件的设计变得如此容易(尽管它们本身也是专有的),我希望开放式硬件的发展速度将比以前快得多。 很抱歉,如果问错地方了,但这已经困扰了我大约一年,让我希望我选择了计算机科学而不是计算机工程。

7
为什么计算机系统中的数字0不是0V?
我正在上计算机系统设计课程,我的教授告诉我们,在数字系统中,用于表示数字0和数字1的常规电压多年来已经发生了变化。 显然,回到80年代,5 V被用作“高”电压,而1 V被用作“低”电压。如今,“高”为0.75 V,“低”为0.23 V左右。他补充说,在不久的将来,我们可能会转向使用0.4 V表示高,0.05 V表示低的系统。 他认为这些值越来越小,因此我们可以减少功耗。如果是这样,为什么我们要麻烦地将“低”设置为任何正电压呢?我们为什么不将其设置为真正的0 V(我想是电源线中性点)电压?

4
ARM到底卖给供应商什么?
假设: 计算机体系结构:描述处理器的不同模块之间如何交互。 使用vhdl文件定义计算机体系结构 计算机组织:描述处理器模块在硅片上的物理布局。 使用一组光掩膜(以及在每个步骤中使用的制造过程,例如化学制品)定义计算机组织 因此,计算机组织要求将制造工艺考虑在内。 ARM不在制造业务中,因此它不出售光罩。 我的问题: ARM到底向卖方出售什么产品(例如,飞思卡尔)? 对于SoC(片上系统)(例如:iMx6),哪一部分是ARM,哪一部分是飞思卡尔?谁整合了?

5
为什么相对简单的设备(例如微控制器)比CPU慢得多?
给定相同数量的管线级和相同的制造节点(例如65 nm)和相同的电压,简单的设备应该比复杂的设备运行得更快。同样,将多个流水线级合并为一个流级不应比级数慢很多。 现在以使用五年的CPU为例,它以2.8 GHz的频率运行14个流水线级。假设一个合并阶段;那会减慢到200 MHz以下 现在增加电压并减少每个字的位数;实际上会加快速度。 这就是为什么我不理解为什么许多当前制造的微控制器(例如AVL)以惊人的速度运行(例如5 V时为20 MHz)的原因,尽管几年前制造的复杂得多的CPU能够运行150倍或10倍以上的速度如果将所有流水线级合为一个,电压为1.2 V-ish。根据最粗略的计算,即使使用边界过时技术制造的微控制器,在其提供的电压的四分之一处,其运行速度也应至少快10倍。 因此产生了一个问题:微控制器时钟速率降低的原因是什么?


4
为什么CPU通常仅连接到一条总线?
我在这里找到了主板架构: 这似乎是主板的典型布局。编辑:嗯,显然它不再那么典型了。 为什么CPU 仅连接1条总线?前端总线看起来像是一个主要瓶颈。将2或3条总线直接送入CPU会更好吗? 我想象一条总线用于RAM,一条总线用于图形卡,另一条总线用于某种形式的到硬盘驱动器,usb端口以及其他所有设备的桥接。之所以将其拆分,是因为硬盘驱动器的数据速率与内存相比要慢一些。 这样做很难吗?我看不出会有多少成本,因为现有的图表已经拥有不少于7辆巴士。实际上,通过使用更多的直达巴士,我们可以减少巴士的总数,甚至可以减少其中一座桥。 那么这有什么问题吗?某处是否有主要劣势?我唯一想到的可能是CPU和内核的复杂性更高,这使我认为这种瓶颈总线体系结构是在事情不那么复杂的旧时代完成的,而设计在标准化方面保持不变。 编辑:我忘了提到看门狗监视器。我知道我已经在一些图中看到了。据推测,瓶颈总线将使看门狗更容易监视所有内容。可能与这有关吗?

6
在入门计算机体系结构中,使用FPGA优于TTL有何优势?
我在人文学院教授一门也是唯一的计算机体系结构课程。计算机科学专业和辅修课程是必修课。我们没有计算机工程,电气工程和其他硬件课程,等等。我的主要目标是让学生从头到尾地了解计算机的工作方式,我相信他们可以通过硬件实验室和其他方面学习得最好。不只是通过教科书(计算机组织与设计轩尼诗和帕特森的作品)。我的第二个目标是激发他们对计算机体系结构的兴趣并增加他们对计算机科学的兴趣。尽管要激励他们学习更多的计算机体系结构,但直接为工业做准备并不是一个目标。这些学生通常没有任何建造任何东西或参加大学水平的实验室课程的经验。通常,每学期有10-15名学生参加该课程。 自1998年以来,我一直以与1980年代末在麻省理工学院教授计算机体系结构和数字电子学的方式相似的方式教授该课程:在有源面包板上使用DIP TTL芯片。在第一次硬件实验室作业中,学生将构建一个完整的加法器。他们大约在学期的一半,开始用8位指令集构建一台简单的计算机。为了减少布线,我为他们提供了带有某些电子设备的PCB(两个D触发器,两个连接在一起以充当8位ALU的4位LS 181 ALU和一个三态缓冲器)。在这些实验的第一个实验中,他们得出两种指令格式的(非常简单的)控制信号并构建电路,在开关上输入指令并从灯中读取结果。在第二个实验中,他们添加了一个程序计数器(2个LS163)和一个EPROM(我最初的问题是关于,在切换到如何教授入门架构之前)。在最后的实验中,他们添加了条件分支指令。尽管学生花费大量时间进行布线和调试,但我认为这是进行大量学习的地方,并且学生真正拥有成就感。 但是,该论坛上的人们一直在告诉我,我应该切换到以前从未使用过的FPGA。我是软件工程师,而不是计算机工程师,现在已经放学了一段时间,但是我有能力学习。我将无法获得很多钱(也许几千美元)来替换我们现有的数字培训师。我们确实有一个逻辑分析仪。 考虑到我的目标和限制,您是否会建议EEs继续使用当前的基于FPGA的方法?如果是后者,您能给我一些指导自己学习的资料的指针吗? 根据要求,这是课程提纲和实验作业的链接。 另外:是的,它也是一门数字逻辑课程。当我上大学时,要求学生分别学习计算机体系结构和数字逻辑中的每一个学期,然后将它们合并为一个学期。当然,那是关于过去的陈述,而不是关于未来的陈述。

2
CPU如何动态更改其时钟频率?
我的Intel CPU根据使用情况更改时钟速度,但是它如何决定以什么时钟速度运行?时钟速度是由OS软件使用算法确定的还是基于硬件的?是否取决于中断次数?缓存周转率?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.