【发布时间】:2016-05-14 01:26:32
【问题描述】:
谁能大致解释一下处理器架构和微架构之间的区别以及它们之间的关系?
一个应该与它的功能部分有关,但另一个我看不到
【问题讨论】:
标签: system cpu cpu-architecture micro-architecture
谁能大致解释一下处理器架构和微架构之间的区别以及它们之间的关系?
一个应该与它的功能部分有关,但另一个我看不到
【问题讨论】:
标签: system cpu cpu-architecture micro-architecture
正式意义上的架构是独立于时间和其他实现细节的公开呈现的接口。微架构包括某些实现细节,通常高于晶体管和工艺技术。例如,ARMv7-A 是一种架构,而 ARM Cortex-A15 是实现 ARMv7-A 的微架构。完全相同的微架构的不同实现将提供周期相同的时序(不包括内核-外部时序因素并假设同步设计),但在周期时间、能源效率和面积上可能有所不同,具体取决于所使用的工艺技术、使用的设备库、等等
架构有时不那么正式或更通用地用于指定微架构(例如,“Haswell 架构”)。架构也可以在硬件接口的上下文中使用(例如,引脚架构是指提供跨一系列部件的兼容性的引脚布局)。
在某些情况下,尽管官方文档允许变化,但微架构细节最终会被视为架构。例如,缓存块分配指令(如 Power 的 DCBA)可能被定义为提供未定义的位模式,但初始实现可能始终在缓存命中时保留位模式,并始终在未命中时插入全零块。 (通过此指令提供对随机数生成器的访问将与体系结构一致。)软件可能会因依赖此实现细节而牺牲理想的可移植性。 (如果足够多的重要软件以这种方式是不可移植的,那么架构定义可能会被扩展以将其定义为有保证的行为。)
架构(以及不太常见的微架构)可用于描述更通用的接口定义分组(正式微架构的)。例如,x86 被称为架构,尽管它代表了多种软件接口,这些接口大多是兼容的,尤其是在保留早期定义的接口特性方面。架构族有时用于指代这种更广泛的接口共享。
作为参考,Gene Amdahl 等人使用了架构。在“IBM System/360 架构”(1964 年,PDF)中:“架构一词在这里用于描述程序员所看到的系统属性,即概念结构和功能行为,不同于数据流和控制的组织、逻辑设计和物理实现。”
【讨论】: