《计算机组成原理第15讲流水线ppt课件》由会员分享,可在线阅读,更多相关《计算机组成原理第15讲流水线ppt课件(36页珍藏版)》请在金锄头文库上搜索。
1、计算机组成原理Principles of Computer Organization广义双语教学课程http:/211.64.192.109/skyclass25/青岛理工大学 校级精品课程http:/ 组合组合逻辑控制单元设计逻辑控制单元设计 用硬布线(组合逻辑)控制法设计一个简单模型机的控用硬布线(组合逻辑)控制法设计一个简单模型机的控制单元制单元CU(微操作信号产生电路)。微操作信号产生电路)。 假假设设该该模模型型机机有有8条条不不同同类类型型的的指指令令。包包括括:算算术术运运算算、逻逻辑辑运运算算、移移位位、数数据据传传送送、访访存存操操作作、转转移移等等。根根据据每每条条指指令令
2、的的功功能能和和时时序序,分分析析其其执执行行过过程程中中需需要要在在各各个个阶阶段段产产生生的全部微操作,导出产生这些微操作控制信号的逻辑。的全部微操作,导出产生这些微操作控制信号的逻辑。提示:需要决定指令周期包括哪几个机器周期,每个机器周期包括几拍,每拍包括几个时钟,以及时钟周期是多少nS。有些操作可能还需要规定是在时钟的上升沿或是在时钟的下降沿进行。第8周周末完成2第第6章章 中央处理器中央处理器Chapter 6 Central Processing UnitThe description of the basic operation of a CPU offered in the p
3、revious section describes the simplest form that a CPU can take. This type of CPU, usually referred to as subscalar, operates on and executes one instruction on one or two pieces of data at a time.Model of a subscalar CPU. (5)3This process gives rise to an inherent inefficiency in subscalar CPUs. Si
4、nce only one instruction is executed at a time, the entire CPU must wait for that instruction to complete before proceeding to the next instruction. This design, wherein the CPUs execution resources can operate on only one instruction at a time, can only possibly reach scalar performance (one instru
5、ction per clock). Model of a subscalar CPU. However, the performance is nearly always subscalar (less than one instruction per cycle).46.5 流水线工作原理流水线工作原理指令的解释指令的解释计算机的速度可以用每秒执行每秒执行的指令条数指令条数来表示。为了加快单条指令的解释过程可采用的方法有:选用更高速的器件选用更高速的器件减少解释过程所需拍数减少解释过程所需拍数使解释过程的各个动作并行执行使解释过程的各个动作并行执行指令的解释可以有三种指令的解释可以有三种控制
6、方式:顺序,重叠,流水。控制方式:顺序,重叠,流水。怎样加快一条指令的解释过程?怎样加快一条指令的解释过程?51顺序方式顺序方式 各条机器指令间顺序串行执行各条机器指令间顺序串行执行。一条指令执行完之后一条指令执行完之后,才取才取下条指令来执行下条指令来执行。指令内的各条微指令也是顺序串行执行的指令内的各条微指令也是顺序串行执行的。 例如,把解释一条机器指令分为:例如,把解释一条机器指令分为:取指,分析,执行,取指,分析,执行,3个个子过程。子过程。取指取指k分析分析k执行执行k取指取指k+1 分析k+1 执行k+1取指k+1取指k+2 顺序方式的优点是控制简单。顺序方式的优点是控制简单。缺点
7、是速度上不去,机器各部件的利用率不高。缺点是速度上不去,机器各部件的利用率不高。62重叠方式重叠方式 Overlap在解释解释第k条指令条指令的操作完成操作完成之前前,就可开始解释开始解释第k+1条指令条指令。例如例如,把解释一条机器指令分为把解释一条机器指令分为:取指取指,执行执行,两个子过程两个子过程。取指取指k执行执行k执行执行k+1取指取指k+1取指取指k+2执行执行k+2 重叠重叠解释不能加快一条指令的实现,但能加快相邻两条指解释不能加快一条指令的实现,但能加快相邻两条指令以至一段程序的解释。令以至一段程序的解释。 重叠方式把重叠方式把一条指令的解释过程分解成一条指令的解释过程分解成
8、“取指取指”,“执行执行”两个子过程两个子过程。若每个子过程需若每个子过程需t时间时间,一条指令需一条指令需2t时间完成时间完成。机器每隔机器每隔t时间完成时间完成一条指令的解释一条指令的解释。吞吐率提高一倍吞吐率提高一倍。t7取指k执行k执行k+1取指k+1取指k+2 执行k+2 取指k+3 执行k+3取指k执行k执行k+1取指k+1取指k+2 执行k+2取指k+3 执行k+3重叠方式与顺序方式的比较重叠方式与顺序方式的比较取指取指k执行执行k执行执行k+1取指取指k+1取指取指k+2执行执行k+2一次重叠理想情况实际情况?不同指令在各个阶段所需时间不同83流水方式流水方式 Pipelini
9、ng 将一个重复的时序过程分解成为多个将一个重复的时序过程分解成为多个子过程子过程Subprocess。每个每个子过程都可有效地在其专用功能段上与其它子过程同时执行。子过程都可有效地在其专用功能段上与其它子过程同时执行。取取 指指令令指令指令译码译码取操取操作数作数执行执行入口入口出口出口例如,例如,分成分成4个个功能段功能段Segment:One of the simplest methods used to accomplish increased parallelism is to begin the first steps of instruction fetching and dec
10、oding before the prior instruction finishes executing. This is the simplest form of a technique known as instruction pipelining, and is utilized in almost all modern general-purpose CPUs. 9取取 指指令令指令指令译码译码取操取操作数作数执行执行时空图时空图 Space-Time-Diagram111122223434343456565656789789789789空间空间(功能段功能段)取指取指分析分析取数取
11、数执行执行时间时间通过时间通过时间排空时间排空时间断流断流t0t1t2t3t4t5t6t7t8t9t10t11t12t13t14入口入口出口出口各功能段时间相等各功能段时间相等4个个功能段功能段Segment:10各功能段时间不等各功能段时间不等111122223333空间空间(功能段功能段)取指取指分析分析取数取数执行执行时间时间t0t1t2t3t4t5t6t7t8t9t10t11t12t13t144444气泡气泡时空图时空图 Space-Time-DiagramBubbleIn computing, a pipeline is a set of data processing elemen
12、ts connected in series, so that the output of one element is the input of the next one. The elements of a pipeline are often executed in parallel or in time-sliced fashion.11流水线的主要技术指标有流水线的主要技术指标有:吞吐率吞吐率,加速比加速比,效率效率,等等。 吞吐率吞吐率 Throughput Rate最大吞吐率:最大吞吐率:如果各功能段时间各功能段时间都相等相等,ti=t0 TPmax=1/t0 如果各功能段时间不
13、相等各功能段时间不相等,TPmax=1/max(ti) 取决于最慢最慢的段段。当流水线在连续流动达到稳定状态后的吞吐率。当流水线在连续流动达到稳定状态后的吞吐率。 单位时间内流水线所能处理的任务数(或指令数),或流单位时间内流水线所能处理的任务数(或指令数),或流水线能输出的结果的数量。水线能输出的结果的数量。12 加速比加速比 Speedup Ratiom段流水线的速度与等效的非流水线的速度之比。段流水线的速度与等效的非流水线的速度之比。若各段时间相等若各段时间相等完成完成n个任务的时间:个任务的时间:T流水= mt0 + (n-1)t0T非流水= nmt0加速比:加速比:13 加速比 Sp
14、eedup Ratiom段流水线的速度与等效的非流水线的速度之比。若各段时间不等若各段时间不等加速比:加速比:tj是最慢的一是最慢的一段时间段时间14 效率效率 Efficiency设设各段时间相等,每段各段时间相等,每段效率效率ei相等相等, e0 = e1 = = em :整个流水线的效率整个流水线的效率若各段时间不等若各段时间不等,则各段的效率也不等则各段的效率也不等,整个流水线的效率整个流水线的效率e0 = nt0/T = n/(m+(n-1)流水线上的设备利用率就是效率。流水线上的设备利用率就是效率。流水线上的各段有流水线上的各段有“通过时间通过时间”和和“排空时间排空时间”,并非都
15、是满负荷工作。并非都是满负荷工作。15In the best case scenario, this pipeline can sustain a completion rate of one instruction per cycle.Pipelining allows more than one instruction to be executed at any given time by breaking down the execution pathway into discrete stages. This separation can be compared to an assem
16、bly line, in which an instruction is made more complete at each stage until it exits the execution pipeline and is retired.Basic five-stage pipeline.Instruction level parallelism16流水技术的特点流水技术的特点 流水线可分成若干个互有联系的流水线可分成若干个互有联系的子过程,分别由专用功子过程,分别由专用功能段实现。能段实现。 实现子过程的功能段所需时间尽可能相等,避免因不等实现子过程的功能段所需时间尽可能相等,避免因
17、不等而产生处理的瓶颈,形成流水线的断流。而产生处理的瓶颈,形成流水线的断流。 形成形成流水处理需要一段准备时间,称为流水处理需要一段准备时间,称为“通过时间通过时间”。此后,流水过程才能稳定。此后,流水过程才能稳定。 指令流发生不是顺序执行时,会使流水过程中断。再形指令流发生不是顺序执行时,会使流水过程中断。再形成流水过程需成流水过程需“通过时间通过时间”。要提高效率,不应常。要提高效率,不应常断流。断流。 流水线技术适用于大量重复的程序过程。只有在输入端流水线技术适用于大量重复的程序过程。只有在输入端能连续地提供任务,流水线效率才能充分发挥。能连续地提供任务,流水线效率才能充分发挥。17流水
18、线结构流水线结构 指令流水线指令流水线 Instruction Pipeline要要求求指指令令部部件件每每个个节节拍拍输输出出一一条条指指令令给给执执行行部部件件。指指令令流流水水过程要分成更多的子过程。过程要分成更多的子过程。 在指令流水过程中要不断访存,所需时间不确定,难以在指令流水过程中要不断访存,所需时间不确定,难以用统一的时钟控制各段工作。用统一的时钟控制各段工作。取指令部件指令译码部件地址形成部件取操作数部件回写结果部件修改指令指针部件操作执行部件18流水线结构流水线结构 运算操作流水线运算操作流水线 Arithmetic Pipelining按照指令的要求,选择合适的算法,把运
19、算过程分成多个子按照指令的要求,选择合适的算法,把运算过程分成多个子过程。使各个子过程的时间尽量相等。过程。使各个子过程的时间尽量相等。各段与一个统一的时钟同步。各段与一个统一的时钟同步。在各段间增加锁存器。在各段间增加锁存器。对阶功能部件锁 存 器尾数加部件锁 存 器规格化部件锁 存 器19流水线要解决的技术问题流水线要解决的技术问题要实现重叠和流水,还要解决要实现重叠和流水,还要解决:访存冲突,相关,等问题访存冲突,相关,等问题。1访存冲突访存冲突 Resource Conflicts在同一时间段,在同一时间段,“分析分析k”在形成操作数有效地址后要访存取在形成操作数有效地址后要访存取操作
20、数,而操作数,而“取指取指k+1”也需访存取指令。也需访存取指令。取指取指k分析分析k执行执行k取指取指k+1分析分析k+1执行执行k+1取指取指k+1取指取指k+1分析分析k+2执行执行k+2取指取指k+220解决访存冲突的方法:解决访存冲突的方法: 采用采用“哈佛结构哈佛结构”。指令和操作数分别存放在。指令和操作数分别存放在2个独立编址且个独立编址且可同时访问的存储器内。可同时访问的存储器内。 采用多体交叉存储器。使第采用多体交叉存储器。使第k条指令的操作数与第条指令的操作数与第k+1条指令条指令不在同一个存储体内。不在同一个存储体内。 设置指令缓冲寄存器组。把若干条指令预先从主存取到指缓
21、。设置指令缓冲寄存器组。把若干条指令预先从主存取到指缓。取指令部件从指缓取指令,执行部件从主存取操作数,互相不干取指令部件从指缓取指令,执行部件从主存取操作数,互相不干扰。只要指缓不满,就自动从主存预取指令。扰。只要指缓不满,就自动从主存预取指令。取指取指k分析分析k执行执行k取指取指k+1分析分析k+1执行执行k+1取指取指k+1取指取指k+1分析分析k+2执行执行k+2取指取指k+2212流水线相关处理流水线相关处理 造成流水线断流的原因,除了编译形成的目标程序不能发造成流水线断流的原因,除了编译形成的目标程序不能发挥流水结构的作用,或存储系统供应不上为连续流动所需的指挥流水结构的作用,或
22、存储系统供应不上为连续流动所需的指令和操作数外,就是由于出现了相关、转移和中断等问题。令和操作数外,就是由于出现了相关、转移和中断等问题。 转移和中断等现象与它们之后的指令有关联,从而不能同时转移和中断等现象与它们之后的指令有关联,从而不能同时解释,称为全局性相关解释,称为全局性相关 Global Dependency。 与主存操作数或者通用寄存器的读写等关联的,称为局部性与主存操作数或者通用寄存器的读写等关联的,称为局部性相关相关 Local Dependency。22 数相关数相关 Data Dependency 如果第如果第k+1条指令的操作数地址条指令的操作数地址M正好是第正好是第k条
23、指令存放运条指令存放运算结果的地址(主存单元或寄存器),称为算结果的地址(主存单元或寄存器),称为“先写后读先写后读”相关。相关。取指取指k分析分析k执行执行k取指取指k+1分析分析k+1执行执行k+1取指取指k+1取指取指k+1分析分析k+2执行执行k+2取指取指k+2M写读 由于由于“分析分析k+1”与与“执行执行k”重叠,在分析第重叠,在分析第k+1条指令时从条指令时从M单元取出的内容是单元取出的内容是“执行执行k”写数之前的内容,因而出错。写数之前的内容,因而出错。可用可用“相关专用通路相关专用通路”解决。解决。执行部件执行部件分析部件分析部件23 转移相关转移相关 Branch De
24、pendency条件转移指令是在实际执行完后条件转移指令是在实际执行完后,才可能确定是否发生转移才可能确定是否发生转移。 处理的方法有:转移预测处理的方法有:转移预测Branch Prediction,预取转移目标预取转移目标Pre-fetch Branch Target,转移目标缓冲转移目标缓冲BTB,循环缓冲循环缓冲Loop Buffer,多重流水多重流水Multiple Streams等。等。取指取指k分析分析k执行执行k取指取指k+1分析分析k+1执行执行k+1取指取指k+1取指取指k+1分析分析k+2执行执行k+2取指取指k+2JP取指取指k+1分析分析k+3执行执行k+3取指取指k
25、+3 对于无条件转移指令,可以采用对于无条件转移指令,可以采用“延迟转移延迟转移Delayed Branch”的方法。的方法。24 中断处理中断处理 从中断第从中断第i条指令,到把中断服务程序由主存调入指缓并开条指令,到把中断服务程序由主存调入指缓并开始在流水线中流动,其断流时间很长。始在流水线中流动,其断流时间很长。关键是如何处理好断点现场及中断后的恢复问题。关键是如何处理好断点现场及中断后的恢复问题。早期用早期用“不精确断点不精确断点”法法。已经进入流水线的指令都执行完已经进入流水线的指令都执行完。现在用现在用“精确断点精确断点”法。需要保存大量的断点信息。法。需要保存大量的断点信息。取指
26、取指k分析分析k执行执行k取指取指k+1 分析分析k+1 执行执行k+1取指取指k+1取指取指k+1 分析分析k+2 执行执行k+2取指取指k+2中断请求中断请求中断响应中断响应25流水技术的发展流水技术的发展Super scalarSuper Pipeline26 控制器控制一条指令运行的过程是依次执行一系列微操作控制器控制一条指令运行的过程是依次执行一系列微操作的过程。微操作严格按照一定的时序进行。不同指令对应的微的过程。微操作严格按照一定的时序进行。不同指令对应的微操作数及其繁简程度不同,每条指令和每个微操作所需的执行操作数及其繁简程度不同,每条指令和每个微操作所需的执行时间也不同。时间
27、也不同。 控制器的控制方式是指形成控制不同微操作序列的时序控控制器的控制方式是指形成控制不同微操作序列的时序控制信号的方法。常用的时序控制方式有:同步控制方式、异步制信号的方法。常用的时序控制方式有:同步控制方式、异步控制方式和联合控制方式。控制方式和联合控制方式。6.4.5 控制器的控制方式控制器的控制方式 Control Mode27(1) 同步控制方式同步控制方式 Synchronous Control Mode 同步控制方式是由基准时标控制微操作序列,每个微操作出同步控制方式是由基准时标控制微操作序列,每个微操作出现的时间与统一的基准时标保持一致。现的时间与统一的基准时标保持一致。 在
28、程序运行时,任何指令的执行或指令中每个微操作的执行在程序运行时,任何指令的执行或指令中每个微操作的执行都受事先确定的时序信号所控制。每个时序信号的结束就标志着都受事先确定的时序信号所控制。每个时序信号的结束就标志着一个微操作或一条指令已经完成。随即开始执行后续的微操作,一个微操作或一条指令已经完成。随即开始执行后续的微操作,或自动转向下一条指令的运行。或自动转向下一条指令的运行。 在同步控制方式下,一条机器指令由确定的机器周期组成,在同步控制方式下,一条机器指令由确定的机器周期组成,每个机器周期又分成若干个节拍。在频率固定的脉冲作用下形成每个机器周期又分成若干个节拍。在频率固定的脉冲作用下形成
29、这些节拍和周期。在任何情况下,一条指令的执行所需的机器周这些节拍和周期。在任何情况下,一条指令的执行所需的机器周期和节拍数都是不变的。期和节拍数都是不变的。 同步控制方式有三种方案:中央控制,局部控制,中央控制同步控制方式有三种方案:中央控制,局部控制,中央控制和局部控制相结合。和局部控制相结合。281中央控制中央控制中央控制采用完全统一的机器周期执行各种不同的指令。中央控制采用完全统一的机器周期执行各种不同的指令。指令的功能不同,所需的微操作也不同。指令的功能不同,所需的微操作也不同。 以最繁的需时最多的指令为标准来确定机器周期的节拍数以最繁的需时最多的指令为标准来确定机器周期的节拍数和时间
30、间隔。对于那些比较简单的微操作将造成时间浪费和时间间隔。对于那些比较简单的微操作将造成时间浪费。 优点是控制器的逻辑相对简单,时间便于控制。但要求所有优点是控制器的逻辑相对简单,时间便于控制。但要求所有的指令都以相同方式进行处理,效率和性能上存在不足。的指令都以相同方式进行处理,效率和性能上存在不足。 如果要提高效率,就必须让所有指令的处理时间都相同或相如果要提高效率,就必须让所有指令的处理时间都相同或相近,因而限制了采用某些功能复杂、处理时间长的指令。近,因而限制了采用某些功能复杂、处理时间长的指令。 反之,若采用了功能复杂、处理时间长的指令,控制器处理反之,若采用了功能复杂、处理时间长的指
31、令,控制器处理指令的时序要加长,那些功能简单的指令就存在时间浪费、处理指令的时序要加长,那些功能简单的指令就存在时间浪费、处理效率不高等问题。效率不高等问题。292局部控制局部控制 局部控制采用不同节拍的机器周期,以解决微操作执行时局部控制采用不同节拍的机器周期,以解决微操作执行时间不统一的问题。给操作较繁的微操作安排节拍数多的机器周间不统一的问题。给操作较繁的微操作安排节拍数多的机器周期,较简单的微操作安排在较短的机器周期内。期,较简单的微操作安排在较短的机器周期内。 每条指令都有独立的处理方式或时序分配方式。指令周期每条指令都有独立的处理方式或时序分配方式。指令周期取决于所需的微操作序列长
32、度。取决于所需的微操作序列长度。优点是处理效率高。但控制器逻辑复杂。优点是处理效率高。但控制器逻辑复杂。303中央控制和局部控制相结合中央控制和局部控制相结合 大多数指令的执行过程中包含的微操作个数及指令的执行大多数指令的执行过程中包含的微操作个数及指令的执行时间比较接近或相等,可以将这样的指令作为标准建立统一的时间比较接近或相等,可以将这样的指令作为标准建立统一的时序节拍,称为中央节拍,由中央控制器发出。时序节拍,称为中央节拍,由中央控制器发出。 少数指令执行过程中包含的微操作个数较多,指令的执行少数指令执行过程中包含的微操作个数较多,指令的执行时间比较长,需要增加节拍。就在中央节拍中间插入
33、局部节拍,时间比较长,需要增加节拍。就在中央节拍中间插入局部节拍,来完成相应的操作。来完成相应的操作。例如,例如,乘除法指令乘除法指令313中央控制和局部控制相结合中央控制和局部控制相结合 少数指令执行过程中包含的微操作个数较多,指令的执行时间比较长,需要增加节拍。就在中央节拍中间插入局部节拍,来完成相应的操作。例如, 执行乘除法指令时,由一组中央节拍完成取指令操作。然执行乘除法指令时,由一组中央节拍完成取指令操作。然后,暂停中央节拍,启动局部节拍,完成后,暂停中央节拍,启动局部节拍,完成N次加法和移位操作。次加法和移位操作。再结束局部节拍,转回中央节拍,继续执行指令的操作。再结束局部节拍,转
34、回中央节拍,继续执行指令的操作。J1 J2 J3 J4Jn-1 JnM1 M2 M3 M4M1 M2 M3 M4插入插入局部节拍的宽度与中央节拍的宽度相等。局部节拍的宽度与中央节拍的宽度相等。中央节拍局部节拍32(2) 异步控制方式异步控制方式 Asynchronous Control Mode 不用统一的基准时标信号,而由专用的应答线路控制微操不用统一的基准时标信号,而由专用的应答线路控制微操作的时序。前一个微操作的作的时序。前一个微操作的“终了终了”信号可命令后一个微操作信号可命令后一个微操作启动。微操作序列没有固定的周期节拍和严格的时钟同步。启动。微操作序列没有固定的周期节拍和严格的时钟
35、同步。 系统各个部件之间没有统一的时钟,每条指令、每个微操系统各个部件之间没有统一的时钟,每条指令、每个微操作需要多少时间就占用多少时间。微操作信号的宽度是由对应作需要多少时间就占用多少时间。微操作信号的宽度是由对应微操作的需要来确定,几乎没有时间的浪费。微操作的需要来确定,几乎没有时间的浪费。 当控制器发出进行某一微操作控制信号后,等待执行部件当控制器发出进行某一微操作控制信号后,等待执行部件在完成该微操作后发回的在完成该微操作后发回的“回答回答”信号,作为本次微操作的结信号,作为本次微操作的结束信号,再开始新的操作。束信号,再开始新的操作。 异步控制方式的缺点是:设计比较复杂,器件多,控制
36、方异步控制方式的缺点是:设计比较复杂,器件多,控制方式比较复杂,系统调试难度大,工作可靠性不易保证。式比较复杂,系统调试难度大,工作可靠性不易保证。AB33(3) 联合控制方式联合控制方式 将同步控制方式和异步控制方式结合起来,指令的微操作将同步控制方式和异步控制方式结合起来,指令的微操作序列既有同步控制的,又有异步控制的。序列既有同步控制的,又有异步控制的。 CPU内部的数据加工、内部数据传送指令的微操作序列的执内部的数据加工、内部数据传送指令的微操作序列的执行时间比较接近,采用同步控制。其中某些执行时间较长的指令行时间比较接近,采用同步控制。其中某些执行时间较长的指令采用中央控制和局部控制
37、相结合的方式。采用中央控制和局部控制相结合的方式。 I/O操作指令,由于操作指令,由于I/O设备的工作速度与设备的工作速度与CPU的速度难以的速度难以匹配,时间难以确定,采用异步控制。以执行部件送回的应答信匹配,时间难以确定,采用异步控制。以执行部件送回的应答信号作为本次微操作的结束。号作为本次微操作的结束。 CPU与主存储器之间的数据传送操作,需要的时间很长,采与主存储器之间的数据传送操作,需要的时间很长,采用异步控制。用异步控制。34(4) 人工控制人工控制 为了调试系统和软件开发的需要,计算机的控制台、面板或为了调试系统和软件开发的需要,计算机的控制台、面板或内部电路板上需设置一些开关、
38、按钮,以进行人工控制。如内部电路板上需设置一些开关、按钮,以进行人工控制。如 Reset使计算机处于初始状态。使计算机处于初始状态。 连续或单步转换开关。连续或单步转换开关。 符合停机符合停机35HomeworkAn instruction pipeline is a technique used in the design of computers and other digital electronic devices to increase their instruction throughput (the number of instructions that can be execu
39、ted in a unit of time).6 - 8, 9, 14, The fundamental idea is to split the processing of a computer instruction into a series of independent steps, with storage at the end of each step. This allows the computers control circuitry to issue instructions at the processing rate of the slowest step, which is much faster than the time needed to perform all steps at once. Many designs include pipelines as long as 7, 10 and even 20 stages (like in the Intel Pentium 4). 36