标签: processor

编译器及其他

我想回顾并更多地了解编译器、处理器和内存如何在我的程序上运行。我也对所有这一切所依赖的物理学感兴趣。任何好的参考资料或书籍将不胜感激......

memory compiler-construction physics processor

0
推荐指数
1
解决办法
945
查看次数

处理器利用率

出于好奇......在多线程环境中,CPU的利用率是否超过100%?

processor utilization

0
推荐指数
1
解决办法
228
查看次数

0
推荐指数
1
解决办法
742
查看次数

是否有更适合CISC或RISC的算法或编程风格?

似乎两者都是出于各种原因使用,ARM用于功耗,x86用于扩展功能.

我仍然很好奇,因为我的计算机科学文化有点空洞,像x86(或其前辈)这样的CISC芯片的真正目的是什么.

如果他们使用RISC,我们的计算机会更好吗(例如,如果微软将其内核和工具链移植到RISC,如MIPS或ARM)?或者作为一项任务完成任务是不可能的?

我正在阅读CISC的目的是能够接近更高级别的语言,我觉得这很奇怪.英特尔和微软之间是否有交易专注于x86?

algorithm x86 arm processor mips

0
推荐指数
1
解决办法
152
查看次数

为什么 W3WP 的处理器时间百分比高于整个处理器的处理器时间百分比?

我在其中一台生产服务器机器上运行 perfmon。我的目标是监控处理器负载。

这是结果:http : //img443.imageshack.us/img443/3765/lf6.gif

您能否告诉我为什么进程 W3WP 的“% Processor Time”高于单个处理器的所有其他“% Processor Time”和“% Processor Time”总数?
有什么建议吗?

load perfmon processor w3wp cpu-usage

0
推荐指数
1
解决办法
3295
查看次数

第3代vs第4代

我一直在寻找第3代和第4代处理器之间的区别.任何人都能告诉我第四代处理器的优点是什么.

1.6GHz的第四代处理器是否优于第三代2.4GHz?

谢谢

processor intel

0
推荐指数
1
解决办法
3万
查看次数

扩展页表的用途是什么?

我们可以使用C程序显示页表地址吗?页表和扩展页表有什么区别?

c cpu operating-system processor computer-architecture

0
推荐指数
1
解决办法
4118
查看次数

从程序员的角度来看,"新"处理器中的"新"是什么

我最近对理解低级计算很感兴趣.据我所知,今天广泛使用的计算机遵循x86/x86-64架构.

据我所知,架构,更具体地说,指令集架构(ISA)是程序员能够向CPU发出的指令集.

第一个问题,ISA是不断发展还是保持不变?

我认为它不断发展(意味着新指令不断被添加/先前的指令被修改?)但是旧的处理器如何能够执行用新指令编写的代码?(它不知道新的指令,但应该能够执行代码,因为它具有x86架构).编译器是处理这个东西还是处理器?基本上,相同的指令集如何能够在所有处理器上运行,无论是旧的还是新的?

最后,除了微体系结构,这不是程序员的关注(如果我错了,请纠正我),程序员在处理新处理器时会看到哪些变化?由于微体系结构的变化,旧的指令可能因为有效的实现而快速运行.但是,是否引入了新的指令以允许以前无法完成的操作?或者之前可以用一堆指令做什么,但现在可以通过硬件的变化来完成一个?新的寄存器?还要别的吗?

它是否完成了 - 如果处理器支持这个新的强大指令以加快执行速度,那么使用新指令,否则回退到较慢的旧指令.如果是,谁实现了这个if - else子句?编译器?如果不是,那会发生什么?

x86 x86-64 processor cpu-architecture micro-architecture

0
推荐指数
1
解决办法
79
查看次数

如何克服“警告:instruction_reg 的端口 8(目标)需要 8 位,结果为 1。” 在verilog中?

我的任务是使用 verilog 实现带有数据存储器的处理器。指令是硬编码的(32 位指令)。我已完成数据存储器的插入。对于加载和存储指令,但是当编译时我得到 - “警告:instruction_reg 的端口 8(目标)需要 8 位,得到 1。”

这是指令集架构的 verilog 代码

<pre><code>
//ALU created

module ALU(out,DATA1,DATA2,Select); //module for ALU
input [7:0]DATA1,DATA2;//8 bit data inputs
    input [2:0] Select;//three bit selection 
    output [7:0]out;//8 bit data output
    reg out;//outputt register
    always@(DATA1,DATA2,Select)
    begin
        case(Select)
            3'b000: out=DATA1;//forward
            3'b001: out=DATA1+DATA2;//add
            3'b010: out=DATA1 & DATA2;//and
            3'b011: out=DATA1| DATA2; //or

        endcase
    end

endmodule
//here no need of its test bench

//registerFile created in part2
module Register(clk,busy_wait,INaddr,IN,OUT1addr,OUT1,OUT2addr,OUT2);
    input clk;
 input [2:0] INaddr;
 input [7:0] IN;
 input …
Run Code Online (Sandbox Code Playgroud)

warnings verilog processor cpu-registers iverilog

0
推荐指数
1
解决办法
2231
查看次数

我们为什么要使用Java虚拟机?

我试图围绕 Java 虚拟机以及它为什么使用字节码。我知道它被问了很多次,但不知何故我最终无法做出正确的假设,所以我研究了很多东西并决定解释我认为它是如何工作的以及它是否正确。

我知道在 C++ 中,编译器在特定(架构 + 操作系统)上编译源代码。因此,(x86 + Windows)的 C++ 编译版本不会在任何其他架构或操作系统上运行。

我的假设

Java 编译器在将源代码编译为字节码时,并不根据体系结构或操作系统进行编译。如果在 Windows 或 Mac 上编译,源代码将始终编译为相同的字节码。假设我们编译了,现在将字节码发送到另一台计算机(x86 + windows)。为了让那台计算机运行这个字节码,它需要 JVM。现在,JVM 知道它在什么架构 + 操作系统上运行。(x86 + 窗户)。因此,JVM 会将字节码编译为 x86 + Windows,并生成现在可以由实际计算机运行的机器码。

因此,即使我们使用 Java 虚拟机,我们仍然在我们的操作系统上而不是在虚拟机上运行实际的机器代码。虚拟机只是帮助我们将字节码转换为机器码。

这意味着在使用 Java 时,我们唯一需要担心的是安装 JVM,仅此而已。

我一直认为虚拟机只是一台计算机本身,它可以在自己的隔离位置运行代码,但是对于 JVM,我认为这是不正确的,因为我认为 JVM 生成的机器代码仍然必须是在我们拥有的实际操作系统上运行。

你认为我的假设正确吗?

c++ java assembly processor virtual-machine

0
推荐指数
2
解决办法
311
查看次数