computer-architecture

    0热度

    2回答

    我知道了一个进程在内存中的结构如下: (图片来自操作系统的概念,第82页) 但是,我也不清楚是什么决定一个过程看起来像这样。如果你看看非标准的操作系统/体系结构,我猜想进程可能(而且确实?)看起来不同。 这个结构是由OS决定的吗?由程序的编译器?由计算机体系结构?这些的组合?

    -2热度

    1回答

    我想了解在进程终止时执行有关物理内存释放的操作的性质。 假设该进程的页表是一个在Linux上实现的多级树结构。 我目前的理解是操作系统需要解除分配映射到页表项(PTE)存在的虚拟地址的任何子集的每个物理页面帧。这可以通过针对具有其有效位集的PTE遍历多级树PT结构&而发生,与PTE对应的物理帧描述符被添加到空闲列表(其在Buddy分配过程中使用) 。 我的问题是:页面表的遍历实际上是这样做的吗?另

    0热度

    1回答

    8086微处理器是否遵循任何分支预测策略?如果是,那么它是什么?我GOOGLE了很多,但没有找到我的问题的答案。

    10热度

    1回答

    在硬件辅助虚拟化出现之前,有些指令由于各种原因而无法虚拟化。有人可以解释一下这些说明是什么以及为什么他们不能被虚拟化?

    1热度

    1回答

    我只学会了公式 所有访问=指令访问+数据存取 读=指令访问+负载 写=指令访问+店 我认为我不完全理解'指令访问'和'数据访问'之间的区别 最奇怪的是,为什么'读'包括德'指示访问'。 有人可以解释这个吗? :' - (

    2热度

    1回答

    当启用分页时,某些硬件负责将虚拟内存地址转换为物理地址。已知的翻译通常保存在某种缓存中,即翻译缓存(TLB)。 假设缓存地址转换的内存访问,是否比没有启用分页直接访问内存慢? 我很想知道该翻译的开销,即使它被缓存了,因为对该缓存的访问可能也需要一些(尽管很短)的时间。还是那个时间计划作为时钟周期的一部分? (要清楚,我的问题不是缺页故障或TLB的高速缓存未命中)

    0热度

    2回答

    我写了一个C程序,并使用someProgram.c保存并编译到我的64位机器上。生成了“someProgram.out”文件。我将someProgram.out发送给朋友,但没有在他的机器上执行。它报告“无法执行二进制文件”错误,当他试图在他的虚拟机中安装的Ubuntu 14.04上运行它。 如何编写代码,以便它可以在不同体系结构的计算机上运行,​​也可以在虚拟机上运行,​​而无需在所有计算机上编

    -1热度

    3回答

    我们可以在单处理器系统上应用并行性的概念吗?比方说,如果我们有两个进程A & B,它们是彼此独立的,它们是否可以同时被关心(执行),如果是的话如何?你能否就后续的执行周期进行解释。

    2热度

    2回答

    我想知道一个乱序超标量处理器(让我们假设一个Intel i7处理器)的每个周期的提取指令数量是否不变,或者它可能会根据缓存未命中率或分支未命中预测数量给定的代码/程序? 如果不是恒定的,该如何解释它背后的原因?据我所知,在现代多核处理器中,解码器单元总是试图解决依赖关系,并尝试用独立指令填充管道气泡。因此,对于任何给定的工作负载,提取的指令数量不应总是相同(大约)?

    0热度

    1回答

    如何将16K x 32 SRAM转换为64K x 8 SRAM? 16K x 32 RAM模块是一个单元,不能在内部进行更改,能够进行地址解码,具有三态输出,以及读/写/芯片使能。也只有电路的存储器读取必须被执行。