不想做指令流水线技术使得指令可了,有什么好技术可以学学吗


· 专注长短期厨师西点西餐小吃職业培训

安徽新东方烹饪专修学院是经国家劳动部门批准成立的大型烹饪专业院校成立于1988年,是以培养国家烹调师、技师和烹饪管理人財为目的的餐饮教育基地是安徽省一所培养烹调师和烹饪管理人才的专业院校

初中高中高中或者毕业的话,成绩不理想如果不能进入┅个好的大学或者高中的话。我觉得你就可以选择一个西点培训学校现在比较好的技术,就是中餐、西餐、西点等西点类的技术将来肯定有前途。初中高中高中或者毕业的话成绩不理想。如果不能进入一个好的大学或者高中的话我觉得你就可以选择一个西点培训学校。现在比较好的技术就是中餐、西餐、西点等西点类的技术。将来肯定有前途

你对这个回答的评价是


· TA获得超过2.9万个赞

学汽车修理仳较好。先找一个汽车修理厂或店学徒下点功夫,学好各种汽车修理技术经营运作管理,将来自己从事汽车修理、装饰或汽配门市等經营做汽车买卖出租。。。不过学这行是比较累比较脏的要不怕苦不怕累,虚心好学持之以恒,才能有所成就其实,无论做什么行业都必须具备以上的基本素质才能有成功。

你对这个回答的评价是


· 超过18用户采纳过TA的回答

不论是学什么技术我们都很看重他嘚发展前景,假如学的技术过两年就要被淘汰掉我们也没必要去化金钱和时间学习。纵观现在时代的发展IT是一个很不错的行业,相信夶家也有了解从上世纪90年代起,计算机逐步的发展流行起来如今在我们生活中很多方面都能够体现,作为一个发展速度快前景光明嘚行业,学IT技术一定有不错的前景

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或許有别人想知道的答案。

}

数据总线DB()用于传送数据信息数据总线是双向三态形式的总线,即它既可以把 CPU 的数据传送到存储器或输入输出接口等其它部件也可以将其它部件的数据传送到 CPU。

地址总线AB(又称位址总线) 属于一种电脑总线 (一部分),是由 CPU 或有 DMA 能力的单元用来沟通这些单元想要存取(读取/写入)电脑内存元件/地方的实体位址。

地址总线AB是专门用来传送地址的由于地址只能从 CPU 传向外部存储器或I/O端口,所以地址总线总是单向三态的这与数据总线鈈同。地址总线的位数(宽度)决定了 CPU 可直接寻址的内存空间大小(The width of the address bus determines the amount of memory

机器字长是指 CPU 一次处理数据的宽度()我们通常所说的

机器字长主偠由运算器、寄存器决定,通常寄存器长度等于机器字长如32位处理器,每个寄存器能存储 32bit 数据加法器支持两个 32bit 数据进行相加。

地址总線可访问的字节(位数)通常等于机器字长

目前嵌入式处理器大都以 32 位为主,32 位处理器的地址总线通常都是32位可寻址范围是 4G byte,地址总線越宽可寻址范围越大。

通常数据总线的带宽都要高于机器字长32位处理器很多都采用 64bit、128bit 的数据带宽,这样可以一次读取更多的数据

語言主要包括以下要素:

1.词汇。一个词汇代表一个意象片段每个词汇与某事物一一对应。

2.语法包括格式、结构和规则。

3.语句词汇按照一定的语法规则有机组合形成语句。

4.语义亦即动机性,即维特根斯坦说的语言中训练的部分它包括词汇的表意和语句的含义,表达信息或操作命令

CPU 不认识汇编语言,更不认识 C/C++ 等高级语言它只认识机器语言()。计算机内部的数字逻辑电路只认识以高低电平或者开關通断状态信号来量化的二进制0和1因此机器语言都是基于二进制的编码序列。

在远古时代只能使用机器语言编程。当程序需要被运行時程序员需要将他写的程序写入到存储设备上,最原始的存储设备就是纸带即在纸带上打相应的孔(,perforated paper tape)每个孔代表一位(bit),穿孔(presence)表示1未穿孔(absence)表示0,这些孔序列被扫描识别为机器码位串并由译码器(扫描器)识别。计算机运算完毕需要人工翻译结果。

下圖为常用的5列孔和8列孔穿孔纸带():

下图为一段按照  打孔的  代码片段:

下图为 CNC 数控机床

参考阅读:《》《》《》《  》《》  

二进制机器碼太难记了可以想见打孔编程的工作是多么的枯燥和乏味。于是人们发明了汇编语言()使用人类语言的单词作为助记符(instruction mnemonics)与机器碼建立一一对应关系。

汇编器维护了这张映射表并在汇编阶段将汇编代码翻译成指令机器码。从大的方面讲汇编是相当简单的,它只昰使用助记符号替代对应的机器码元


Intel 机器指令集参考

8086 指令编码的一般格式如下:

以下为 8086 中具体的 ADD 指令编码示例:

ARM 机器指令集参考


MIPS 机器指令集参考

都属于3寄存器算术/逻辑运算指令组,域31-26为6位长的主操作码“op”add和and共享op域,都为0;域5-0为子操作码域用于区分add(32)和and(36)。25-21为第一个源操作数寄存器s的编码;20-16为第二个源操作数寄存器t的编码;15-11为目的操作数寄存器d的编码

下表列出了 MIPS32 中汇编指令 add/and 与机器码的对應关系。

0 0
0 0

在机器语言中指令就是一个语句。指令格式为“操作码域+操作数域”操作码域指明了指令的操作性质及功能,操作数域则给絀了操作数或操作数的地址操作码和操作数是机器可识别的词汇,包括“操作命令”、“内存地址”、“字节”、“寄存器”它们组匼在一起的机器指令体现语义。不同类型的操作命令和操作数具有不同的组合表现形式。

Architecture)是指CPU指令系统所能识别(翻译)执行的全部指令的集合处理器要完成计算任务,需要具备以下几种指令类型

运算由运算器单元(ALU)实现,指令包括算术运算指令、逻辑运算指令囷移位指令

算术运算指令实现加减乘除(+-*/)等基本的算术运算;逻辑运算指令实现与或非(&|~)等基本的逻辑运算;移位指令实现二进制仳特位(bit)的左右移(<<>>)运算。

除了做计算外CPU还要实现循环。循环是由跳转指令实现的跳回去执行就是循环。循环在一定条件下跳出否则就成死循环了,条件跳转指令能完成这个功能条件跳转指令在一定条件下实现跳转,它能实现分支功能跳转指令也称为控制指囹。控制由CPU控制器单元实现

运算和控制指令的操作数从哪里来的呢?操作数都放在存储器中在x86 IA中,运算指令的操作数既可以是寄存器也可以是存储器;而在其他 RISC IA(例如MIPS)中,运算指令的操作数只能是寄存器因此需要先使用加载指令(load)将存储器中的数据导入到寄存器中,运算完成后再用存储指令(store)将寄存器中的运算结果数据导出到存储器中。这类指令就是

有了这三类指令,CPU就能完成各种复杂嘚运算

一开始的处理器都是 CISC 架构,随着时间的演进有越来越多的指令集加入。采用复杂指令系统的计算机有着较强的处理高级语言的能力这对提高计算机的性能是有益的。当计算机的设计沿着这条道路发展时有些人没有随波逐流,他们回过头去看一看过去走过的道蕗开始怀疑这种传统的做法:IBM 公司设在纽约 Yorktown 的 JhomasI.Wason 研究中心于1975年组织力量研究指令系统的合理性问题。因为当时已感到日趋庞杂的指令系統不但不易实现,而且还可能降低系统性能

1979年以帕特逊教授为首的一批科学家也开始在美国加册大学伯克莱分校开展这一研究,结果表奣CISC 存在许多缺点。首先在这种体系架构中,各种指令的使用频率相差悬殊:一个典型程序的运算过程所使用的80%指令只占一个处理器指囹系统的20%剩余80%的指令则只占整个程序的20%。事实上最频繁使用的指令是这些最简单的指令于是帕特逊教授提出了精简指令集嘚理念,主张指令系统应当只包含那些使用频率很高的少量指令较为复杂的指令则利用常用的简单指令去组合。按照这个原则发展而成嘚计算机被称为精简指令集计算机(Reduced

设计理念上RISC 的设计重点在于降低由硬件执行指令的复杂度,因为软件比硬件容易提供更大的灵活性和更高的智能因此 RISC 设计对编译器有更高的要求;CISC 的设计则更侧重于硬件执行指令的功能,使 CISC 的指令变得很复杂总之 RISC 对编译器的要求高,CISC 强调硬件的复杂性CPU 的实现更复杂。CISC 提供了很多微码支持使得汇编程序的工作量减少,而 RISC 完成同样的操作则需要更多的指令

<1>指令集——RISC 处理器减少指令集的种类,只提供固定长度的简单指令大多都在四五个周期内完成,通常一个周期执行一条指令

<2>寄存器——RISC 的寄存器拥有更多的通用寄存器,寄存器操作较多例如 MIPS 提供了32个通用寄存器,ARM 提供了27个通用寄存器CISC 的寄存器都是用于特定目的的。

<3>内存訪问——RISC 处理器只处理寄存器中的数据运算指令的操作数只能是寄存器。这是因为访问存储器很耗时同时对外部存储器的读写会影响其寿命;CISC 能够在存储器中直接运行。对内存变量的直接访存不利于指令流水线技术使得指令可实现因此 RISC 没有实现可以操作内存变量的指囹。RISC 内存引用总是通过 load 指令将内存变量加载到寄存器再通过 store 指令将寄存器中的值写回到内存,大型寄存器堆(Register Files)使得这不会成为一个大問题

<4>简化的寻址方式——RISC 没有 CISC 那样复杂众多的寻址方式。例如 MIPS 只有一种数据寻址模式几乎所有的加载和存储的内存地址都是通过单个基址寄存器的值加上一个16位的有符号偏移量来选择。

<5>高效的指令流水线技术使得指令可特性——指令流水线技术使得指令可的本质就是 CPU 并荇运行只是并行运行不像FPGA中的那么直接,它只是把一条指令分成几个更小的执行单元;CISC 指令的执行需要调用一个微码明显没有 RISC 的指令吞吐量大。

固定的指令长度、大型寄存器堆和 load/store 结构可充分发挥指令流水线技术使得指令可特性在并行处理方面 RISC 明显优于 CISC,RISC 可同时执行多條指令它可将一条指令分割成若干个进程或线程,交由多个处理器同时执行由于 RISC 执行的是精简指令集,所以它的制造工艺简单且成本低廉

<6>子程序调用——在 CISC 中,程序调用返回时需要将上下文保存到堆栈中push/pop 指令需要访问内存操作;而 RISC 没有提供 push/pop 支持,将它们存放在寄存器中而且参数也是用寄存器传递。RISC 中断可视为特殊的子程序调用:CISC 发生中断时所有的寄存器内容都被压入堆栈中;而 RISC 对中断进行区分對待,分为轻量级重量级对于轻量级中断只保存需要保存的寄存器内容;对于重量级中断的处理如同常规中断。

<7>RISC的缺点——代码密度鈈高可执行文件体积较大,汇编代码可读性差代码密度不高是值得关注的问题:若不使用 cache,会需要更大的指令存储控件取指时也占鼡更大的内存带宽;若采用 cache,又会降低 cache 的命中率而从 CPU 的设计上来讲,由于 RISC 的核心代码要少很多使得其结构相应简化,因此在体积、造價、功耗、散热和价格上都具有优势

从以上的比较来看,RISC 与 CISC 各有千秋由于 RISC 具有更强的实用性,故应该是未来处理器的发展方向但事實上,当今时代 wintel 一统江湖且早期很多软件都是根据 CISC 设计的,单纯的 RISC 将无法兼容此外,现代 CISC 结构的 CPU 已经融合了很多 RISC 的成分其性能差距巳经越来越小。复杂指令可以提供更多的功能这是程序设计所需要的。例如 ARM 提供了:增强型DSP指令(E变种)和媒体功能扩展(SIMD变种)因此,CISC 与 RISC 的融合应该是未来的发展方向

处理器公司很多,品牌也很多而指令集则相对稳定,用指令集对处理器公司分类是比较常见的做法有5种指令集最为常见,它们构成了处理器领域的5朵金花

Intel x86 是经典的 CISC 体系结构,它是史上最赚钱的指令集几乎所有的个人计算机都使鼡 Intel x86 指令集的处理器。

英特尔的钟摆策略():在奇数年英特尔将会推出新的工艺;而在偶数年,英特尔则会推出新的架构简单的说,僦是奇数工艺年和偶数架构年的概念钟摆策略能够体现英特尔技术变化方向。当有英特尔钟摆往左摆的时候tick这个策略会更新工艺;往祐摆的时候,tock会更新处理器微架构

如果要问哪个指令集的处理器销量最大,很多人会认为是 Intel不过一家来自英国的公司让我们大跌眼镜,这家公司就是 ARM 公司

在智能手机领域,ARM(Acorn RISC Machine)独领风骚占据了手机市场90%以上的份额。当今手机上的应用处理器不管是高通还是TI的,东芝还是三星的在内部都采用了 ARM 内核(microprocessor)。

之后的处理器家族改称为 Cortex当今市场上的高阶智能手机普遍采用 Coretex-A 系列或 A 型变种。

如果要说最经典的 RISC 处理器那么非 MIPS 莫属,就连它的竞争对手也不得不承认它的优雅,它被作为处理器教科书的典范很多其他的处理器,都能看到它嘚身影

最早提出 RISC 思想的是 IBM 公司,

计算机使用的是 POWER 7 处理器。

由于 POWER 的高性能IBM 想到可以将 POWER 用于 PC 领域,因此 IBM 向 Apple 抛了橄榄枝Apple 当然求之不得。Apple ┅直都使用 Motorola 的处理器因此 Apple 又把 Motorola 拉下了水。这3家公司一拍即合富有传奇色彩的三大巨头,同时又是在 PC

Apple 公司的 Macintosh 过去十几年来一直采用的是 IBM 研发的  处理器但是苹果于2005年6月宣布终止与IBM和摩托罗拉长期合作关系,苹果CEO史蒂夫·乔布斯(Steve Jobs)指出,转换芯片架构是因为英特尔提供哽优越的产品蓝图

以上介绍的这些处理器,都是较通用的处理器还有一种较专业的处理器,它的名字叫 DSP(Digital Signal Processor数字信号处理器),专业莋信号处理运算的

这几年,全球的无线通信网络建设如火如荼视频网站、视频通信系统也如雨后春笋般涌现出来,在这些产品或服务嘚背后一个是无线通信技术,一个是音视频技术这二者的共同点在于:它们都需要大量的信号处理运算,而这正是DSP的强项

20世纪80年代初,Motorola 和 TI(德州仪器)都推出了自己的手机 DSP 芯片Motorola 要强于 TI,但由于 Motorola 的芯片只给自己的手机用诺基亚、爱立信等公司选择了 TI,从此成就了 TI

現在的 DSP 芯片主要由 TI、Freescale、LSI 等公司推出,TI DSP 一家独大占据绝大部分市场份额。TI 也是半导体领域的先驱之一第一块集成电路的发明人、诺贝尔獎得主 Jack Kilby 就来自于 TI。

指令的语义主要是完成一定的功能操作其操作对象就是操作数。在进行运算之前数据必须就位,那么操作数放在哪裏呢

CPU 内部有很多通用寄存器(General Purpose Register),这些寄存器用来存储指令的操作数它对程序员可见。例如x86有8个通用寄存器MIPS有32个寄存器。这一堆寄存器也被叫做寄存器堆(Register File)寄存器一般为 SRAM,可将其看做 CPU

在硬件实现上算术逻辑运算单元 ALU 直接访问通用寄存器进行计算。通用寄存器中嘚数据需要先读到ALU输入寄存器(ALU Input Register)中ALU运算结束后,数据会存储在ALU输出寄存器(ALU Output Register)中最后再送回通用寄存器中。

在MIPS中运算指令的操作數只能是寄存器,因此在执行运算指令之前调用数据传送指令load将数据从内存加载到通用寄存器中。在x86中一般使用 mov 指令进行数据传送

指囹的执行过程按时间顺序可分为以下几个步骤:

(1)CPU发出指令地址。将指令指针寄存器(IPInstruction Pointer)的内容——指令地址,经地址总线送入存储器的地址寄存器中

(2)从地址寄存器中读取指令。将读出的指令暂存于存储器的数据寄存器中

(3)将指令送往指令寄存器。将指令从數据寄存器中取出经数据总线送入控制器的指令寄存器中。

(4)指令译码指令寄存器中的操作码部分送指令译码器,经译码器分析产苼相应的操作控制信号送往各个执行部件。

(5)按指令操作码执行

(6)修改程序计数器的值,形成下一条要取指令的地址若执行的昰非转移指令,即顺序执行则指令指针寄存器的内容加1,形成下一条要取指令的地址指令指针寄存器也称为程序计数器(PC,Program Counter)

关于指令流水线技术使得指令可,生活中到处可见工厂的生产指令流水线技术使得指令可和食堂的打饭指令流水线技术使得指令可都是指令鋶水线技术使得指令可的经典范例。在《MIPS体系结构透视》中借用食堂打饭指令流水线技术使得指令可的例子很好的阐述了指令流水线技术使得指令可的概念

所谓指令流水线技术使得指令可(pipeline),就是将那些重复性的工作分解成几个串行的部分使得工作能在工人中间移动。每个熟练工人只需要依次将他们熟悉的那部分工作做好即可虽然每个顾客等待服务的总时间有所增加,但是却有四个顾客能同时接受垺务这样在午餐高峰期能够接待的顾客数量增加了三倍。

假如Evie的小卖部新增了一种炸鸡腿交由Bert负责派发,这样Bert在给顾客派发炸土豆时還得派发炸鸡腿此时,Bert这一环节相比以前耗时增加导致指令流水线技术使得指令可效率下降。于是Evie再请了一个朋友加入食物派发指令鋶水线技术使得指令可专门负责派发鸡腿。我们说Evie店的指令流水线技术使得指令可从四步(step)增加到了五步指令流水线技术使得指令鈳的级数(深度)增加了一级,相应增加了人力成本

如果将程序看成是内存中存储的一些指令的话,一个即将运行的程序看起来和排着隊等待接受服务的顾客没什么相似之处但是,在CPU看来情况就不一样了。CPU从内存中提取每条指令进行译码,找到所需要的操作数执荇相应操作,并存储运算产生的结果——然后又从头开始重复同样的工作这样等待执行的程序就是一个指令的序列,该队列中一次只有┅条指令经过CPU

由于每条指令要做不同的工作,因此在CPU内部已经配有各种不同的专用的大块逻辑电路(每一流水阶段都有独立的逻辑电路來处理)所以构造一个指令流水线技术使得指令可并没有使CPU复杂度增加多少,只是让CPU工作得更努力一些而已

采用指令流水线技术使得指令可技术后,并没有加速单条指令的执行每条指令的操作步骤一个也不能少,只是多条指令的不同操作步骤同时执行因而从总体上看加快了指令流速度,缩短了程序执行时间

为了进一步满足普通指令流水线技术使得指令可设计所不能适应的更高时钟频率的要求,高檔次处理器中的指令流水线技术使得指令可的深度(级数)在逐代增多当指令流水线技术使得指令可深度在5~6级以上时,通常称为超指令鋶水线技术使得指令可结构(Super Pipeline)显然,指令流水线技术使得指令可级数越多每级所花的时间越短,时钟周期就可以设计的越短指令速度越快,指令平均执行时间也就越短但是相应设计成本也会增加。

中所有指令的执行大概分为Fetch(取指)、Decode(译码)、Execute(执行)三个夶的步骤,每个大的步骤又可以细分为一些小的步骤实现了更深的指令流水线技术使得指令可。





ARM10 开始支持6级指令流水线技术使得指令可ARM11开始支持8级指令流水线技术使得指令可。

(1)MIPS的五级指令流水线技术使得指令可

MIPS体系架构依据指令流水线技术使得指令可结构设计将處理器的执行阶段划分为以下五个阶段:

  • <3> EX(ALU):Execute,执行(算术/逻辑运算)在一个时钟周期内,完成算术或逻辑操作注意,浮点算术运算囷整数乘除运算不能在一个时钟周期内完成
  • Access,内存数据读或者写在该阶段,指令可以从数据缓存(D-Cache)中读/写内存变量平均来说,大約四分之三的指令在这一阶段没有执行任何操作为每条指令分配这个阶段是为了保证同一时刻不会有两条指令都访问数据缓存。
  • <5> WB:Write Back写囙。操作完成后将计算结果从ALU输出寄存器写回到通用寄存器中。

只要CPU从缓存中获取数据那么执行每条MIPS指令就被分成五个流水阶段,并苴每个阶段占用固定的时间通常是只耗费一个处理器时钟周期。RD/WB操作只占用半个时钟周期故MIPS五段指令流水线技术使得指令可只占用四個时钟周期。

对于运算指令在MEM阶段空闲。对于load指令在EX阶段计算要访问的地址,在MEM阶段从内存中将数据读入到 MEM register(MEM和WB之间的指令流水线技術使得指令可寄存器)中在WB阶段,将MEM register的数据写回到Register File中对于store指令,在EX阶段计算要访问的地址在MEM阶段将寄存器中的数据写回到存储器中。

高效的指令流水线技术使得指令可操作要求每个阶段占用相同的时间高效的指令流水线技术使得指令可还依赖于高速缓存(Cache),可以將内存访问速度提高50倍左右当CPU需要数据时,首先在缓存中查找如果该数据在缓存中则命中,那么缓存很快就把数据返回给CPU由于无法猜测CPU将使用什么数据,故缓存仅存储最近一段时间内CPU从主内存中获取的数据副本如果缓存缺失(没有命中),则需要重填(Invalidate

x86的寄存器个數很少所以同样的程序编译给x86会比MIPS使用多得多的数据存取操作。当然x86使用堆栈来代替寄存器给这些额外存取使用,这些堆栈位置将是內存中使用非常频繁的区域对应高速缓存的使用效率非常高。

MIPS体系架构设计时采用了独立的指令缓存和数据缓存这样CPU就可以同时获取指令和读写内存变量。

(3)严格指令流水线技术使得指令可的限制

Computing复杂指令集)对指令集作了巧妙和有效的规定,从而使得指令流水线技术使得指令可可以高效和成功的实现所有的MIPS指令都经过严格的定义,以遵循同样的指令流水线技术使得指令可阶段顺序即使这些指囹在某个指令流水线技术使得指令可阶段什么也不做。于是最终结果是:只要CPU保持从缓存中命中(hit)数据就能在每个时钟周期开始一条指令。

指令流水线技术使得指令可的严格要求限制了指令的某些操作能力

首先,要求所有的指令一样长(刚好是一个机器字长32位)这樣的指令可以在固定时间被读取。定长指令的要求限制了操作的复杂程度比如,在指令中没有足够的位空间对真正复杂的寻址模式进行編码定长指令直接导致的一个问题就是,一个典型的程序在支持变长指令的x86体系架构上编译后其指令平均长度只有3个字节,在MIPS代码中則全部是4个字节从而占用了更多的内存空间。通常MIPS二进制文件要比680x0或80x86二进制文件大20%~30%

第二,MIPS中的指令操作必须符合指令流水线技术使得指令可特性指令操作只有在正确的指令流水线技术使得指令可阶段才能够执行,并且必须在一个时钟周期内执行完毕比如,寄存器写囙阶段只允许一个值存储到寄存器堆因此这些MIPS指令只能修改一个寄存器的值。出栈操作需要将两个值(栈中的数据以及递增的栈指针值)写回到寄存器中因此它不适合指令流水线技术使得指令可。所以MIPS没有提供对栈操作的硬件支持,没有x86那样的push/pop指令

第三,指令流水線技术使得指令可的设计规则没有实现可以操作内存变量的指令缓存或者内存的数据只有在指令流水线技术使得指令可的第四阶段才能夠获得。对于ALU而言这些数据来得太迟了。内存访问仅通过简单的load/store指令来将数据导入或导出寄存器

《MIPS体系结构透视》

}

支持实时多任务操作;很强的存儲区保护功能;可扩展的处理器结构;很低功耗

面向特定应用;高效率、高性能、低功耗、低成本;软件固化高可靠性代码;本身不具備开发能力

2.1.1 冯?诺依曼体系特征

1.由运算器、控制器、存储器、输入设备和输出设备五大部分组成;

2.数据和程序以二进制代码形式无区别存放;

3.控制器根据存放在存储器中的程序来工作(串行执行,指令驱动)总线结构

1 总线是计算机中各类公共信号线的集合,是计算机系统中各部分联络的规范通道

2 传统意义观点,组成微机系统的各部分通过地址总线AB、数据总线DB和控制总线CB联系在一起

数据总钱DB(Data Bus)用来传输數据信息,是双向总线CPU既可通过DB从内存或输入设备读入数据,又可通过DB将内部数据送至内存或输出设备

地址总线AB(A ddress Bus)用于传送CPU发出的哋址信息,是单向总线目的是指明与CPU交换信息的内存单元或I/O设备。

控制总线CB(Control Bus)用来传送控制信号、时序信号和状态信息等其中有的昰CPU向内存和外设发出的信息,有的则是内存或外设向CPU 发出的信息可见,C B中每一根线的方向是一定的、单向的但作为一个整体则是双向嘚,所以在各种结构框图中凡涉及到控制总线CB,均以双向线表示

指令译码(根据指令要求产生对应控制电平)和确定操作时序;

时钟周期——计算机系统中最小计时单位,由系统时钟确定

指令周期——执行一条指令的时间包括取指令+译码+执行

工作周期——指令执行分成几個阶段,每个阶段的时间

内存单元与地址:每个内存单元存放一个字节的二进制信息内存单元的总数目叫内存容量;计算机中每个内存單元有惟一的地址,CPU通过地址对指定单元的数据进行访问(读/写);

内存容量的大小由CPU的寻址空间决定寻址空间=2n。

2.2 对冯·诺依曼体系的改进

CPU指令集:指令类型、格式、寻址方式RISC或CISC策略

存储器系统:分级实现系统需求(寄存器、高速缓存、主存、辅存);运算器+控制器+寄存器=CPU

总线结构;并行处理技术

寻址方式丰富,指令类型多;指令功能强开发难度低;译码复杂、效率低;规整性不好,不利于流水作業

指令系统简化格式简单;功能单一,复杂功能需组合完成;译码、执行效率高;有利于流水作业

内核结构冯.诺依曼哈弗

指令系统不等長指令集指令功能强等长精简指令集,效率高

难点实现复杂性编译器复杂性

微处理器体系微码指令流水线技术使得指令可

典型用途通用計算机专用、嵌入式

RISC的特点及设计思想

RISC机的设计应当遵循以下五个原则:

①指令条数少格式简单,易于译码;

②提供足够的寄存器只尣许load和store指令访问内存;

③指令由硬件直接执行,在单个周期内完成;

⑤强调优化编译器的作用;

指令流水线技术使得指令可技术是一种将烸条指令分解为多步骤并让各步操作重叠进行,从而

实现几条指令并行处理的技术

乱序指令流水线技术使得指令可——指令乱序执行,减少冲突

数据依赖:由于指令执行时间不等第二条指令要等待上一条指令的

结果;重新调度执行顺序

控制依赖:若上一条指令是分支指令,则当前取指及后续操作无效

需要根据分支地址重取指令;分支预测与推测执行

资源冲突:硬件资源有限,后续操作只能等待前序指令运算结束后进

行;改变资源设计使其能被同时访问;超标量指令流水线技术使得指令可

速度由快到慢;容量由大到小;

寄存器组→高速缓存Cache→系统主存储器→次级存储器;

命中率与数据访问局部性(locality)

加载一个地址的数据之后,继续加载它附近的数据 (空间局域性)

在加载一個地址的数据之后短时间内重新加载这块数据 (时间局域

虚拟存储技术:将低层存储器映像到高层存储器——利用次级存储器扩展物

计算機系统中由内存管理单元(MMU)实现:逻辑地址←→物理地址

物理地址—与物理内存对应的地址

逻辑地址—程序运行中对存储单元地址的描述,与物理地址没有直接

虚拟地址—所有存储空间(包括虚拟内存)的地址描述

同构多核:内核相同、地位对等(IntelAMD)

异构多核:内核不哃、地位不对等(“主”+“协” Cell)

2.4 计算机系统性能描述

字长计算机处理的数据宽度

存储容量计算机支持的存储单元深度

处理速度单位时间操莋的指令数

CPI:指令执行平均周期数

处理器功能:指令译码、执行;算数和逻辑运算;与存储器和外设交换数据;

提供系统所需控制;中断處理

微处理器包含数据通路和控制器,共同完成指令执行和操作控制功能;

控制器设计:时序控制部件:脉冲源+分频逻辑;用以产生各种系统所

需的、满足时序要求的时钟信号

随机逻辑体系:由硬件逻辑实现指令集结构优化指令结构,以减小硬件逻

可通过简化指令减少所使用的门电路总数从而减少制造费用

指令集结构与硬件逻辑方程之间存在着密切联系,设计过程复杂

重用性差,设计成果很少能再利鼡到以后的新CPU设计中

适用于较简单的指令集结构。

微码体系:指令集与硬件逻辑设计分离;指令由若干微指令组成每条指令

对应一组微指令(微码),对指令的译码从硬件逻辑设计变成设计微指令(软

控制器设计分为随机逻辑控制器和微码控制器其设计思路很大不同。精简

指令集简化归一适应指令流水线技术使得指令可技术;复杂指令集功能强,代码紧凑;

采用指令流水线技术使得指令可技术单条指令延时有所增加但由于并行执行,吞吐量大大提高;

指令是处理器执行所需的命令指令包括操作码和操作数,寻址方式是指令

系统嘚重要内容RISC寻址方式相对单一。

指令(常量) 寄存器(提供寄存器编号)

主存或虚存(提供地址) I/O设备(提供接口地址)

指令类型:1数据传送数据从源复淛到目的

2算数逻辑运算基本算数运算和比特位操作

3控制转移改变指令执行顺序

指令格式(三部分):将要执行的操作;源、目的操作数存放的位置

(R-M-I/O)(数据类型);立即数或位移量(其它附加信息)

寻址方式:寻找操作数的来源的方式称为寻址方式

1操作数由指令直接给絀:立即数寻址

2 操作数存放在寄存器中:寄存器寻址

3操作数存放在存储器中:存储器寻址。指令中给出操作数所在

1 存储器直接寻址——直接给出操作数存储地址

2 寄存器间接寻址——寄存器内容代表操作数存储地址

3 存储器间接寻址——存储器内容代表操作数存储地址

4 位移量寻址——寄存器内容+位移量代表操作数存储地

5 指数寻址——基址寄存器+指数寄存器之和代表操作数

6 自增和自减寻址——堆栈指针表示栈顶地址

7 比例尺寻址——基址寄存器+指数寄存器+位移量=操作

同步设计、优化指令集设计不影响硬件

逻辑硬布线速度快,缺乏

灵活性;适用于简單指令集

需微码控制逻辑开销大;灵活

好,适应复杂类型指令减少指

}

我要回帖

更多关于 流水线 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信