【问题标题】:Architecture and microarchitecture架构和微架构
【发布时间】:2016-05-14 01:26:32
【问题描述】:

谁能大致解释一下处理器架构和微架构之间的区别以及它们之间的关系?

一个应该与它的功能部分有关,但另一个我看不到

【问题讨论】:

    标签: system cpu cpu-architecture micro-architecture


    【解决方案1】:

    正式意义上的架构是独立于时间和其他实现细节的公开呈现的接口。微架构包括某些实现细节,通常高于晶体管和工艺技术。例如,ARMv7-A 是一种架构,而 ARM Cortex-A15 是实现 ARMv7-A 的微架构。完全相同的微架构的不同实现将提供周期相同的时序(不包括内核-外部时序因素并假设同步设计),但在周期时间、能源效率和面积上可能有所不同,具体取决于所使用的工艺技术、使用的设备库、等等

    架构有时不那么正式或更通用地用于指定微架构(例如,“Haswell 架构”)。架构也可以在硬件接口的上下文中使用(例如,引脚架构是指提供跨一系列部件的兼容性的引脚布局)。

    在某些情况下,尽管官方文档允许变化,但微架构细节最终会被视为架构。例如,缓存块分配指令(如 Power 的 DCBA)可能被定义为提供未定义的位模式,但初始实现可能始终在缓存命中时保留位模式,并始终在未命中时插入全零块。 (通过此指令提供对随机数生成器的访问将与体系结构一致。)软件可能会因依赖此实现细节而牺牲理想的可移植性。 (如果足够多的重要软件以这种方式是不可移植的,那么架构定义可能会被扩展以将其定义为有保证的行为。)

    架构(以及不太常见的微架构)可用于描述更通用的接口定义分组(正式微架构的)。例如,x86 被称为架构,尽管它代表了多种软件接口,这些接口大多是兼容的,尤其是在保留早期定义的接口特性方面。架构族有时用于指代这种更广泛的接口共享。

    作为参考,Gene Amdahl 等人使用了架构。在“IBM System/360 架构”(1964 年,PDF)中:“架构一词在这里用于描述程序员所看到的系统属性,即概念结构和功能行为,不同于数据流和控制的组织、逻辑设计和物理实现。”

    【讨论】:

    • 更准确地说,我认为“架构”一词本身就含糊不清,既可以指计算机架构,也可以指指令集架构 (ISA)。 ISA 被定义为计算机系统的编程模型(关于如何执行代码以及如何使用各种功能和配置的规范)。计算机体系结构是 ISA 和微体系结构的组合。微架构是描述如何使用图表和/或高级系统设计语言执行代码的功能规范。这包括缓存的确切组织,
    • 核心数量、每个核心中的管道和寄存器文件、将所有这些连接在一起的网络,以及所有涉及的协议、算法和形式语言。例如,Intel Haswell 可以引用特定的 x86 ISA,一个可以执行由该 ISA 编写的程序的微架构系列,或者一个 ISA 相同但微架构不同的计算机架构系列。在最低级别是指定电气特性、所有电线和元件的布局的实现,
    • 热控制、时钟频率、时序和工艺技术。这些定义在某种程度上与维基百科的定义一致。
    • 糟糕,只是一个更正。 ISA 是......如何表达要执行的代码的规范......
    猜你喜欢
    • 1970-01-01
    • 2019-11-03
    • 2016-08-11
    • 2015-12-26
    • 1970-01-01
    • 1970-01-01
    • 2016-11-23
    • 2018-03-29
    相关资源
    最近更新 更多