2

有人可以大致解释一下处理器架构与其微架构之间的区别以及它们之间的关系吗?

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

4

1 回答 1

4

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

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

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

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

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

于 2016-02-04T17:12:40.643 回答