问题标签 [computer-architecture]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
690 浏览

algorithm - 什么是冗余与非冗余数字格式?

我无法理解这个 FPGA 电路中使用的算法。它处理冗余与非冗余数字格式。我已经看到了一些非冗余格式的数学(正式)定义,但我无法真正掌握它。

本文摘录描述了该算法:

图 3 显示了可扩展的蒙哥马利乘法器的框图。内核包含p w-bit PE,总共wp位单元。Z以进位保存冗余形式存储。如果 PE p在 PE1 完成Z ^(e-1) 之前完成Z ^0 ,则结果必须排队,直到 PE1 再次可用。[5] 中的设计以冗余形式对结果进行排队,每个条目需要2w位。对于较大的n,队列消耗大量区域,因此我们建议将Z转换为非冗余形式以节省一半的队列空间,如图 4 所示。在第一个循环中,Z初始化为0。当不需要排队时,直接绕过进位保存冗余Z'以避免进位传播加法器的延迟。非冗余Z结果也是系统的输出。

和图表: 图 3 是高级,图 4 是 FIFO,并通过使其使用非冗余格式进行了“改进”。

这是“改进的”PE 框图。这显示了“改进的”PE 框图——“改进的”与一些不相关的方面有关。
“改进的”PE 框图

我没有“未改进” FIFO 的图片,但我认为它只是一个普通的 FIFO。我不明白的是,FIFO 的 CPA 和 3 输入 MUX 是否以某种方式在格式之间转换?

了解冗余与非冗余格式(在具体示例中)是第一步,了解该电路如何实现它将是第 2 步。

0 投票
4 回答
207 浏览

c - 关于数字表示

如何找到我所在系统的数字表示?

0 投票
5 回答
236 浏览

cpu - 为什么不混合乱序、大规模并行?

似乎流行预测超标量无序 CPU 将走渡渡鸟的道路,并将被大量简单的标量有序内核所取代。这在实践中似乎并没有发生,因为即使并行化软件的问题明天就解决了,仍然有大量的遗留软件存在。此外,并行化软件不是一个小问题。

我知道 GPGPU 是一种混合模型,其中 CPU 是为单线程性能而设计的,而显卡是为并行性而设计的,但它是一个丑陋的模型。程序员需要显式地重写代码才能在显卡上运行,据我所知,有效地表达显卡的并行性要比有效地表达多核通用 CPU 困难得多。

混合模型有什么问题,每台 PC 都配备一个或两个“昂贵的”超标量无序内核和 32 或 64 个“廉价”内核,但与昂贵的内核具有相同的指令集,并且可能在同一块硅?操作系统会意识到这种不对称性,并会首先调度无序的核心并使用最高优先级的线程。这种优先级甚至可能通过 OS API 显式地暴露给程序员,但程序员不会被迫关心区别,除非他/她想控制调度的细节。

编辑:如果投票结束是因为这被认为与编程无关,这里有一个反驳:我认为它与编程有关,因为我想听听程序员对为什么这样的模型是一个好主意或坏主意以及他们是否会想对其进行编程。

0 投票
1 回答
104 浏览

architecture - 64 位应用程序和内存限制

有人可以向我解释一下 64 位应用程序、64 位操作系统和 64 位 CPU 如何组合在一起来确定某个应用程序可寻址多少内存?

例如,如果您在 64 位 CPU 和 32 位操作系统上运行 64 位应用程序,应用程序的可寻址内存会受到怎样的影响?

或者一个 64 位 CPU 和一个 64 位操作系统和一个 32 位应用程序呢?

在 32 位 CPU 上运行 64 位应用程序时会发生什么?

0 投票
2 回答
22356 浏览

verilog - 实现处理器(mips单周期)

我有一个迷你项目,在这个项目中我需要通过 Verilog 实现一个 MIPS 单周期处理器。在这里,我编写了 ALU 和 ALUControl 和 FileRegister,但是我在为此实现 Pc(程序计数器)时遇到了问题……我想要这个 Pc 支持分支和跳转。我需要支持分支的说明,但我不知道如何访问说明。请帮我实现 InstructionMemory 和 Pc。这是我的代码:

端模块

端模块

端模块

0 投票
2 回答
676 浏览

verilog - 我无法理解以下verilog代码

我无法理解这段代码末尾的两行

0 投票
2 回答
1407 浏览

binary - 64 位十进制如何存储在 32 位地址中?

我在 MIPS 上做一些编程,它有一堆 32 位寄存器,但我也知道你可以存储 64 位整数,这是如何工作的?整数占用两个寄存器吗?如果是这样,系统如何知道将两个寄存器组合成一长串二进制文件

0 投票
2 回答
6578 浏览

assembly - 突发模式定义

我正在阅读计算机组织,在内存章节中提到“SDRAMS 有几种操作模式,例如可以指定不同长度的突发模式。” 有人可以详细说明什么是突发模式吗?


我对此感到困惑的主要原因是,在 I/O 章节中,突发模式被定义为 DMA 可以直接访问主存储器以传输数据块的模式,但这个定义对于前面提到的没有意义在记忆一章中......谷歌也给出了一个稍微不同的定义=S


0 投票
4 回答
4089 浏览

assembly - 向量中断

向量中断和非向量中断有什么区别?

我认为所有中断都必须是向量中断...毕竟并非所有中断都有一个向量编号,因此不是一个具有特定 ISR [中断服务例程] 的向量

(ISR 地址将在页表中,位于 4 * 产生中断的设备中的向量 #;假设是 32 位地址架构)....

谢谢!

0 投票
2 回答
3018 浏览

mips - MIPS 中的微程序设计

我正在学习微编程,但对微指令实际上是什么感到困惑。我正在使用 MIPS 架构。我的问题如下

比如说我有 ADD 指令,这个微指令会是什么样子?add 指令有多少条微指令。网上有什么地方可以看到MIPS基本指令的微指令列表吗?

如何找出 ADD 微程序指令的位串?