架构和微架构 [英] Architecture and microarchitecture

查看:56
本文介绍了架构和微架构的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Can someone explain me broadly the difference between a processor’s architecture and its microarchitecture as well as the relation between them?

一个应该与其功能部分有关,但另一个我没有看到

One should be related to its functioning parts but the other I do not see

推荐答案

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

Architecture in a formal sense is the publicly presented interface independent of timing and other implementation details. Microarchitecture includes certain implementation details, usually above the level transistors and process technology. For example, ARMv7-A is an architecture while ARM Cortex-A15 is a microarchitecture implementing ARMv7-A. Different implementations of exactly the same microarchitecture will provide cycle-identical timing (excluding core-external timing factors and assuming a synchronous design) but can differ in cycle time, energy efficiency, and area depending on the process technology used, the device libraries used, etc.

架构有时不太正式或更一般地用于指定微架构(例如,Haswell 架构").架构还可用于硬件接口的上下文中(例如,引脚架构是指提供跨一系列部件的兼容性的引脚布局).

Architecture is sometimes used less formally or more generically to specify microarchitecture (e.g., "Haswell architecture"). Architecture can also be used in the context of hardware interfaces (e.g., pin architecture refers to a pin layout that provides compatibility across a range of parts).

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

In some cases, a microarchitectural detail ends up being treated as architectural despite official documentation allowing variation. For example, a cache block allocating instruction (like Power's DCBA) might be defined to give an undefined bit pattern, but initial implementations might always preserve the bit pattern on a cache hit and always insert an all-zero block on a miss. (Providing access to a random number generator through this instruction would be consistent with the architecture.) Software might sacrifice ideal portability by relying on this implementation detail. (If enough important software is non-portable in this manner, the architectural definition might be extended to define that as guaranteed behavior.)

体系结构(以及较少使用的微体系结构)可用于描述(正式微体系结构的)接口定义的更一般分组.例如,x86 被称为架构,尽管它代表了大多数兼容的各种软件接口,特别是在保留早期定义的接口功能方面.架构系列有时用于指代这种更广泛的接口共享.

Architecture (and less often microarchitecture) can be used to describe a more general grouping of interface definitions (of formal microarchitectures). For example, x86 is called an architecture even though it represents a variety of software interfaces which are mostly compatible, especially in retaining earlier defined interface features. Architecture family is sometimes used to refer to this broader interface sharing.

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

For reference, architecture was used by Gene Amdahl et al. in "Architecture of the IBM System/360" (1964, PDF): "The term architecture is used here to describe the attributes of a system as seen by the programmer, i.e., the conceptual structure and functional behavior, as distinct from the organization of the data flow and controls, the logical design, and the physical implementation."

这篇关于架构和微架构的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆