转自:http://www.lighterra.com/papers/modernmicroprocessors/
by Jason Robert Carey Patterson, last updated Aug 2012 (orig Feb 2001)
WARNING: This article is meant to be informal and fun!
Okay, so you're a CS graduate and you did a hardware/assembly course as part of your degree, but perhaps that was a few years ago now and you haven't really kept up with the details of processor designs since then.
In particular, you might not be aware of some key topics that developed rapidly in recent times...
pipelining (superscalar, OoO, VLIW, branch prediction, predication)
multi-core & simultaneous multithreading (SMT, hyper-threading)
SIMD vector instructions (MMX/SSE/AVX, AltiVec)
caches and the memory hierarchy
Fear not! This article will get you up to speed fast. In no time you'll be discussing the finer points of in-order vs out-of-order, hyper-threading, multi-core and cache organization like a pro.
But be prepared – this article is brief and to-the-point. It pulls no punches and the pace is pretty fierce (really). Let's get into it...
More Than Just Megahertz
The first issue that must be cleared up is the difference between clock speed and a processor's performance. They are not the same thing. Look at the results for processors of a few years ago (the late 1990s)...
SPECint95 SPECfp95
195 MHz MIPS R10000 11.0 17.0
400 MHz Alpha 21164 12.3 17.2
300 MHz UltraSPARC 12.1 15.5
300 MHz Pentium-II 11.6 8.8
300 MHz PowerPC G3 14.8 11.4
135 MHz POWER2 6.2 17.6
A 200 MHz MIPS R10000, a 300 MHz UltraSPARC and a 400 MHz Alpha 21164 were all about the same speed at running most programs, yet they differed by a factor of two in clock speed. A 300 MHz Pentium-II was also about the same speed for many things, yet it was about half that speed for floating-point code such as scientific number crunching. A PowerPC G3 at that same 300 MHz was somewhat faster than the others for normal integer code, but still far slower than the top 3 for floating-point. At the other extreme, an IBM POWER2 processor at just 135 MHz matched the 400 MHz Alpha 21164 in floating-point speed, yet was only half as fast for normal integer programs.
How can this be?
[b]Obviously, there's more to it than just clock speed – it's all about how much work gets done in each clock cycle[/b]. Which leads to...
(除了CPU的频率之外,最重要的是CPU在一个时钟周期做了多少工作,而不仅仅是CPU的频率有多高。)
Pipelining & Instruction-Level Parallelism
Instructions are executed one after the other inside the processor, right? Well, that makes it easy to understand, but that's not really what happens. In fact, that hasn't happened since the middle of the 1980s. Instead,
several instructions are all partially executing at the same time.
Consider how an instruction is executed – first it is fetched, then decoded, then executed by the appropriate functional unit, and finally the result is written into place. With this scheme, a simple processor might take 4 cycles per instruction (CPI = 4)...
分享到:
相关推荐
### 现代微处理器——90分钟指南 #### 概述 《现代微处理器——90分钟指南》是一份快速、简明且充满趣味性的介绍文档,旨在帮助读者了解现代处理器微架构的主要设计方面。这份文档非常适合那些对处理器设计有所...
6/17/13 Modern Microprocessors - A 90 Minute Guide!www.lighterra.com/papers/modernmicroprocessors/ 1/21Table of ContentsModern Microprocessors A 90 Minute Guide!Today's robots are very ...
标题《The Intel Microprocessors》第八版由Barry B. Brey编写,这本权威性著作涵盖了Intel微处理器的发展历程,包括8086/8088、80186/80188、80286、80386、80486、Pentium系列以及具有64位扩展的Core2等处理器的...
Focusing on the revolutionary change taking place in industry today--the switch from uniprocessor to multicore microprocessors--this classic textbook has a modern and up-to-date focus on parallelism ...
微处理器和嵌入式系统是计算机科学和技术领域中的核心组成部分,它们在当今的科技世界中发挥着至关重要的作用。这个项目专注于基于x86架构的RAM测试仪的开发,这通常是一个涉及汇编语言编程的任务,因为x86处理器与...
微处理器和接口此仓库包含ECE F241微处理器的所有实验室课程工作以及BITS Pilani的接口。 该代码以汇编语言(缩写为asm)编写。使用名为emu8086的应用程序将代码模拟并转换为可执行的机器代码。
Fast Bit Gather, Bit Scatter and Bit Permutation Instructions for Commodity MicroprocessorsYedidya Hilewitz & Ruby B. LeeReceived: 10 January 2007 /Revised: 25 February 2008 /Accepted: 12 April 2008 /...
Soft real-time requirements are those that state a time deadline—but breaching the deadline would not render the system useless.Hard real-time requirements are those that state a time deadline—and ...
- **AT90S2313/ATmega2313实验板**:基于AT90S2313/ATmega2313微控制器的实验板。 - **商业编程板**:为AVR家族的处理器提供编程服务的现成商业板。 - **STK200**:STK200是AVR系列的一个实验开发板。 - **STK500...
The textbook covers a diverse range of materials -- from motors to microprocessors -- providing a wide range of analog and digital systems. The individual troubleshooting guides given in the ...
Focusing on the revolutionary change taking place in industry today - the switch from uniprocessor to multicore microprocessors - this classic textbook has a modern and up-to-date focus on ...
They may generate stable frequencies, recover a signal from a noisy communication channel, or distribute clock timing pulses in digital logic designs such as microprocessors. Since a single ...
3. "Modern Microprocessors: A 90-Minute Guide!" by James Morle 4. Intel和AMD的官方技术文档,如Intel的Architecture, Software Developer's Manual和AMD的Opteron Processor Family Developer's Guide 通过...
The Intel Microprocessors, 8th Edition
本文档提供了关于英特尔微处理器系列的详细信息,包含了从8086/8088到Core 2系列微处理器的发展历程以及它们的架构、编程和接口。这些微处理器构成了现代计算机硬件的核心部分,影响着个人电脑和服务器的发展。...
3. "Modern Microprocessors: A 90-Minute Guide!" by James L.摩尔 了解双核CPU的技术细节有助于系统设计师、软件开发者和计算机爱好者更好地优化系统配置,提升硬件性能。在实际应用中,选择合适的双核CPU需结合...
《8088与8086微型处理器:编程、接口、软件、硬件与应用》第四版解决方案手册,由Walter A. Triebel和Avtar Singh编写,是一部全面覆盖了8088和8086微型处理器及其后续版本如80286、80386、80486以及Pentium系列...
### 模拟接口与嵌入式微处理器 #### 核心知识点概述 《模拟接口与嵌入式微处理器》一书由斯图尔特·鲍尔编写,详细介绍了如何将模拟信号与嵌入式系统进行有效连接。本书分为三个主要章节,分别探讨了系统设计、...
### 高性能微处理器未来演化的关键知识点 #### 演讲概述 演讲者Norm Jouppi在2006年9月27日的演讲《高性能微处理器的未来发展》中,围绕高性能微处理器的发展趋势进行了深入探讨。该演讲主要分为以下几个部分: ...