微机原理及接口技术论文.docx

上传人:b****7 文档编号:10414208 上传时间:2023-02-11 格式:DOCX 页数:17 大小:28.24KB
下载 相关 举报
微机原理及接口技术论文.docx_第1页
第1页 / 共17页
微机原理及接口技术论文.docx_第2页
第2页 / 共17页
微机原理及接口技术论文.docx_第3页
第3页 / 共17页
微机原理及接口技术论文.docx_第4页
第4页 / 共17页
微机原理及接口技术论文.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

微机原理及接口技术论文.docx

《微机原理及接口技术论文.docx》由会员分享,可在线阅读,更多相关《微机原理及接口技术论文.docx(17页珍藏版)》请在冰豆网上搜索。

微机原理及接口技术论文.docx

微机原理及接口技术论文

微机原理与接口技术

根据微处理器的最新开展(超线程技术、双核技术,从Intel系列微处理器整体着眼,又落实到最根本、最常用的8086处理器,介绍了微机系统原理、Intel系列微处理器构造、8086指令系统和汇编语言程序设计、主存储器及与CPU的接口、输入输出、中断以及常用的微机接口电路和数模(D/A转换与模数(A/D转换接口。

超线程技术(HT即超线程技术

超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。

1效能提升

一般很多人都会认为,采用超线程技术,就能使得系统效能大幅提升,但是事实真是如此么?

不要忘了我们前面说到的超线程技术实现的必要条件,这可是超线程技术发挥应有效能的前提条件。

除了操作系统支持之外,还必须要软件的支持。

从这点我们就可以看出,就软件现状来说,支持双处理器技术的软件毕竟还在少数。

对于大多数软件来说,由于设计的原理不同,还并不能从超线程技术上得到直接的好处。

因为超线程技术是在线程级别上并行处理命令,按线程动态分配处理器等资源。

该技术的核心理念是“并行度(Parallelism〞,也就是提高命令执行的并行度、提高每个时钟的效率。

这就需要软件在设计上线程化,提高并行处理的能力。

而PC上的应用程序几乎没有为此作出相应的优化,采用超线程技术并不能获得效能的大幅提升。

上面说的只是软件支持的现状,操作系统在这个方面那么没有太大的问题,毕竟Windows的某些版本、Linux都是支持多处理器的操作系统。

并且随着Intel支持超线程技术的处理器面世之后,凭借Intel处理器的号召力,必然会引起应用程序设计上的改变,必然会有更多的支持并行线程处理的软件面世,届时,当然是支持超线程处理器大显身手的时候了。

那时候,普通用户才能够从超线程技术中得到最直接的好处。

2必然性

提升CPU性能需要。

尽管提高CPU的时钟频率和增加缓存容量后确实可以改善CPU性能,但这样的CPU性能提高在技术上存在较大的难度。

实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。

如果CPU不能正常读取数据(总线/内存的瓶颈,其执行单元利用率会明显下降。

另外就是大多数执行线程缺乏ILP(Instruction-LevelParallelism,多种指令同时执行支持。

这些都造成了CPU的性能没有得到全部的发挥。

因此,Intel那么采用另一个思路去提高CPU的性能,让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓“超线程(Hyper-Threading,简称“HT〞〞技术。

超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多参加一个LogicalCPUPointer(逻辑处理单元。

因此新一代的P4(奔腾4HT的面积比以往的P4增大了5%。

而其余局部如ALU(整数运算单元、FPU(浮点运算单元、L2Cache(二级缓存那么保持不变,这些局部是被分享的。

虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源。

当两个线程都同时需要某一个资源时,其中一个要暂时停顿,

并让出资源,直到这些资源闲置后才能继续。

因此超线程的性能并不等于两颗CPU的性能。

英特尔P4超线程有两个运行模式,SingleTaskMode(单任务模式及MultiTaskMode(多任务模式,当程序不支持Multi-Processing(多处理器作业时,系统会停顿其中一个逻辑CPU的运行,把资源集中于单个逻辑CPU中,让单线程程序不会因其中一个逻辑CPU闲置而减低性能,但由于被停顿运行的逻辑CPU还是会等待工作,占用一定的资源,因此Hyper-ThreadingCPU运行SingleTaskMode程序模式时,有可能达不到不带超线程功能的CPU性能,但性能差距不会太大。

也就是说,当运行单线程运用软件时,超线程技术甚至会降低系统性能,尤其在多线程操作系统运行单线程软件时容易出现此问题。

需要注意的是,含有超线程技术的CPU需要芯片组、软件支持,才能比拟理想的发挥该项技术的优势。

操作系统如:

MicrosoftWindowsXP、MicrosoftWindows2003,Linuxkernel2.4.x以后的版本也支持超线程技术。

支持超线程技术的芯片组包括如:

Intel芯片组:

845、845D和845GL是不支持支持超线程技术的;845E芯片组自身是支持超线程技术的,但许多主板都需要升级BIOS才能支持;在845E之后推出的所有芯片组都支持支持超线程技术,例如845PE/GE/GV以及所有的865/875系列以及915/925系列芯片组都支持超线程技术。

ⅥA芯片组:

P4X266、P4X266A、P4M266、P4X266E和P4X333是不支持支持超线程技术的,在P4X400之后推出的所有芯片组都支持支持超线程技术,例如P4X400、P4X533、PT800、PT880、PM800和PM880都支持超线程技术。

SIS芯片组:

SIS645、SIS645DX、SIS650、SIS651和早期SIS648是不支持支持超线程技术的;后期的SIS648、SIS655、SIS648FX、SIS661FX、SIS655FX、SIS655TX、SIS649和SIS656那么都支持超线程技术。

ULI芯片组:

M1683和M1685都支持超线程技术。

ATI芯片组:

ATI在Intel平台所推出的所有芯片组都支持超线程技术,包括Radeon9100IGP、Radeon9100ProIGP和RX330。

nVidia芯片组:

即将推出的nForce5系列芯片组都支持超线程技术。

3工作原理

在处理多个线程的过程中,多线程处理器内部的每个逻辑处理器均可以单独对中断做出响应,当第一个逻辑处理器跟踪一个软件线程时,第二个逻辑处理器也开场对另外一个软件线程进展跟踪和处理了。

另外,为了防止CPU处理资源冲突,负责处理第二个线程的那个逻辑处理器,其使用的是仅是运行第一个线程时被暂时闲置的处理单元。

例如:

当一个逻辑处理器在执行浮点运算(使用处理器的浮点运算单元时,另一个逻辑处理器可以执行加法运算(使用处理器的整数运算单元。

这样做,无疑大大提高了处理器内部处理单元的利用率和相应的数据、指令处吞吐能力。

对于Prescott处理器,发热量大也主要是因为它。

4前提条件

需要CPU支持正式支持超线程技术的CPU有Pentium43.06GHz、2.40C、2.60C、2.80C、3.0GHz、3.2GHz以及Prescott核心的Pentium4处理器,还有局部型号的Xeon。

2009年,Intel新一代顶级处理器Corei7也支持超线程技术,超线程技术令Corei7可以

由四核模拟出八核。

主板芯片组支持

正式支持超线程技术的主板芯片组的主要型号包括Intel的875P,E7205,850E,865PE/G/P,845PE/GE/GV,845G(B-stepping,845E。

875P,E7205,865PE/G/P,845PE/GE/GV芯片组均可正常支持超线程技术的使用,而早前的845E以及850E芯片组只要升级BIOS就可以解决支持的问题;2009年,与Corei7相配的X58芯片组也支持超线程技术。

SIS方面有SiS645DX(B版、SiS648(B版、SIS655、SIS658、SIS648FX;

威盛方面有P4X400A、P4X600、P4X800。

主板BIOS支持主板厂商必须在BIOS中支持超线程才行。

操作系统支持微软的操作系统中WindowsXP专业版,WindowsVista,Windows7,Windowsserver2003,WindowsServer2008支持此功能,而在Windows2000上实现对超线程支持的方案已经取消了。

另外,系统核心代号高于2.4.x的Linux系统也支持超线程技术。

应用软件支持一般来说,只要能够支持多处理器的软件均可支持超线程技术,但是实际上这样的软件并不多,而且偏向于图形、视频处理等专业软件方面,游戏软件极少有支持的。

应用软件有Office2000、OfficeXP等。

另外Linuxkernel2.4.x以后的版本也支持超线程技术。

小结

超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,从而兼容多线程操作系统和软件,提高处理器的性能。

操作系统或者应用软件的多线程可以同时运行于一个HTT处理器上,两个逻辑处理器共享一组处理器执行单元,并行完成加、乘、负载等操作。

这样就可以使得运行性能提高30%,这是因为在同一时间里,应用程序可以使用芯片的不同局部。

虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进展操作。

而“超线程〞技术可以使芯片同时进展多线程处理,使芯片性能得到提升。

5优缺点

HT技术优点

⒈超线程技术的优势在于同时进展多任务批处理工作,尽管支持超线程技术的软件不多,也只有少数的软件可以享受到由超线程技术带来的性能提升,但是这符合今后软件等技术的开展方向,今后更多的软件将受益于超线程技术。

⒉从目前来看,局部客户发可以觉察在运行某些特定软件时,超线程技术让系统有了30%的性能提升,为超线程技术优化的软件都能够享受到超线程技术的好处。

⒊客户同时运行两个以上的软件软件时候,将可以明显的感受到这两个软件的性能都得到提升相比关闭超线程技术的情况下都有很大的提升,超线程技术的效率优势只有在多任务操作时候才能得到发挥。

⒋另外支持超线程技术的WindowsXP操作系统,其中的很多系统软件都已经针对超线程技术优化过,因此在使用Windows操作系统的时候可以很好的享受到超线程技术带来好处。

HT技术缺点

⒈因为超线程技术是对多任务处理有优势,因此当运行单线程运用软件时,超线程技术将会降低系统性能,尤其在多线程操作系统运行单线程软件时将容易出现此问题(这也是在WindowsXP中运行显卡的测试软件时候,得分下降了一点。

⒉在翻开超线程支持后,如果处理器以双处理器模式工作,那么处理器内部缓存就会被划分成几区域,互相共享内部资源。

对于不支持多处理器工作的软件在双处理器上运行时出错的概率要比单处理器上高很多。

⒊因为很多工作站软件为Windows2000操作系统进展过优化,但是采用Windows2000这样的操作系统的工作站无法完全利用超线程技术的优势,也带来不了高的工作效率。

通过上面的解答,我们应该知道了超线程技术确实实对系统性能提升有好处,但是这仅对多任务处理的时候有优势,在进展单各任务处理的时候,优势表现不出来,而且因为翻开超线程,处理器内部缓存就会被划分成几区域,互相共享内部资源,造成单个的子系统性能下降。

个人认为,用户在进展单任务操作时候,没有必要翻开超线程,只有多任务操作时候可以适时翻开超线程,享受超线程技术带来的好处。

6超线程起源

超线程(HT是Intel在奔腾™和现在流行的酷睿™i3i7系列具有的一项功能,这项技术能显著提高计算机在多任务并行时的处理能力。

但大多数人所使用的CPU并不具备这个功能。

超线程技术最早出现于奔腾4系列的xeon效劳器处理器上

双核技术

双核简单来说就是2个核心,核心(core又称为内核,是CPU最重要的组成局部。

CPU中心那块隆起的芯片就是核心,是由单晶硅以一定的生产工艺制造出来的,CPU所有的计算、承受/存储命令、处理数据都由核心执行。

各种CPU核心都具有固定的逻辑构造,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元都会有科学的布局。

从双核技术本身来看,到底什么是双内核?

毫无疑问双内核应该具备两个物理上的运算内核,而这两个内核的设计应用方式却大有文章可作。

据现有的资料显示,AMDOpteron处理器从一开场设计时就考虑到了添加第二个内核,两个CPU内核使用一样的系统请求接口SRI、HyperTransport技术和内存控制器,兼容90纳米单内核处理器所使用的940引脚接口。

而英特尔的双核心却仅仅是使用两个完整的CPU封装在一起,连接到同一个前端总线上。

可以说,AMD的解决方案是真正的“双核〞,而英特尔的解决方案那么是“双芯〞。

可以设想,这样的两个核心必然会产生总线争抢,影响性能。

不仅如此,还对于未来更多核心的集成埋下了隐患,因为会加剧处理器争用前端总线带宽,成为提升系统性能的瓶颈,而这是由架构决定的。

因此可以说,AMD的技术架构为实现双核和多核奠定了坚实的根底。

AMD直连架构(也就是通过超传输技术让CPU内核直接跟外部I/O相连,不通过前端总线和集成内存控制器技术,使得每个内核都有自己的高速缓存可资遣用,都有自己的专用车道直通I/O,没有资源争抢的问题,实现双核和多核更容易。

而Intel是多个核心共享二级缓存、共同使用前端总线的,当内核增多,核心的处理能力增强时,肯定要遇到堵的问题。

简而言之,双核处理器就是基于单个半导体的一个处理器上拥有两个一样功能的处理器核心。

换句话说,将两个物理处理器核心整合入一个核中。

企业IT管理者们也一直坚持寻求增进性能而不用提高实际硬件覆盖区的方法。

多核处理器解决方案针对这些需求,提供更强的性能而不需要增大能量或实际空间。

双核心处理器技术的引入是提高处理器性能的有效方法。

因为处理器实际性能是处理器在每个时钟周期内所能处理器指令数的总量,因此增加一个内核,处理器每个时钟周期内可执行的单元数将增加一倍。

在这里我们必须强调一点的是,如果你想让系统到达最大性能,你必须充分利用两个内核中的所有可执行单元:

即让所有执行单元都有活可干!

8086处理器

Intel8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。

不久,Intel8088就推出了,拥有一个外部的8位数据总线,允许廉价的芯片用途。

它是以8080和8085的设计为根底,拥有类似的存放器组,但是数据总线扩大为16位。

总线界面单元(BusInterfaceUnit透过6字节预存(prefecth的队列(queue位指令给执行单元(ExecutionUnit,所以取指令和执行是同步的,8086CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位二进制信息。

1简介

Intel8086拥有四个16位的通用存放器,也能够当作八个8位存放器来存取,以及四个16位索引存放器(包含了堆栈指标。

资料存放器通常由指令隐含地使用,针对暂存值需要复杂的存放器配置。

它提供64K8位元的输出输入(或32K16位元,以及固定的向量中断。

大局部的指令只能够存取一个内存位址,所以其中一个操作数必须是一个存放器。

运算结果会储存在操作数中的一个存放器。

Intel8086有四个内存区段(segment存放器,可以从索引存放器来设定。

区段存放器可以让CPU利用特殊的方式存取1MB内存。

8086把段地址左移4位然后把它加上偏移地址。

大局部的人都认为这是一个很不好的设计,因为这样的结果是会让各分段有重叠。

尽管这样对组合语言而言大局部被承受(也甚至有用,可以完全地控制分段,,使在编程中使用指针(如C编程语言变得困难。

它导致指针的高效率表示变得困难,且有可能产生两个指向同一个地方的指针拥有不同的地址。

更坏的是,这种方式产生要让内存扩大到大于1MB的困难。

而8086的寻址方式改变让内存扩大较有效率。

8086处理器的时钟频率介于4.77MHz(在原先的IBMPC频率和10MHz之间。

8086没有包含浮点指令局部(FPU,但是可以通过外接数学辅助处理器来增强浮点计算能力。

Intel8087是标准版本。

2微处理器

i8086处理器

8086是Intel系列的16位微处理器,芯片上有4万个晶体管,采用NMOS工艺制造,用单一的+5V电源,时钟频率为4.77MHz~10MHz。

8086有16根数据线和20根地址线,它既能处理16位数据,也能处理8位数据。

可寻址的内存空间为1MB。

在取得IBM个人电脑部门敲定的重要销售合约之后,Intel8088处理器不仅成为了IBM个人电脑的大脑,而且还让IBM个人电脑成为新款畅销产品。

为此,Intel8088处理器的成功,也将英特尔进入“财富杂志500大企业排行榜〞,?

财富?

杂志将英特尔评为“70年代最成功的企业〞之一。

Intel8088晶体管数目约为2.9万颗。

1978年英特尔公司生产的8086是第一个16位的微处理器。

很快Zilog公司和摩托罗拉公司也宣布方案生产Z8000和68000。

这就是第三代微处理器的起点。

8086微处理器最高主频速度为8MHz,具有16位数据通道,内存寻址能力为1MB。

同时,英特尔还生产出与之相配合的数学协处理器i8087,这两种芯片使用相互兼容的指令集,但intel8087指令集中增加了一些专门用于对数、指数和三角函数等数学计算的指令。

人们将这些指令集统一称之为x86指令集。

虽然以后英特尔又陆续生产出第二代、第三代等更先进和更快的新型CPU,但都仍然兼容原来的x86指令,而且英特尔在后续CPU的命名上沿用

了原先的x86序列,直到后来因商标注册问题,才放弃了继续用阿拉伯数字命名。

1979年,英特尔公司又开发出了8088。

8086和8088在芯片内部均采用16位数据传输,所以都称为16位微处理器,但8086每周期能传送或接收16位数据,而8088每周期只能传输8位。

因为最初的大局部设备和芯片是8位的,而8088的外部8位的数据传送、接收能与这些设备相兼容。

8088采用40针的DIP封装,工作频率为6.66MHz、7.16MHz或8MHz,微处理器集成了大约29000个晶体管。

8086和8088问世后不久,英特尔公司就开场对他们进展改良。

他们将更多功能集成在芯片上,这样就诞生了80186和80188。

这两款微处理器内部均以16位工作,在外部输入输出上80186采用16位,而80188和8088一样是采用8位工作。

1981年,IBM公司将8088芯片用于其研制的PC机中,从而开创了全新的微机时代。

也正是从8088开场,个人电脑(PC的概念开场在全世界X围内开展起来。

从8088应用到IBMPC机上开场,个人电脑真正走进了人们的工作和生活之中,它也标志着一个新时代的开场

3构造

总线接口单元(BIUbusinterfaceunit

总线接口单元BIU[1]

总线接口部件由以下各局部组成:

⑴4个段地址存放器:

CS(codesegment——16位的代码段存放器;

DS(datasegment——16位的数据段存放器;

ES(extrasegment——16位的扩展段存放器;

SS(stacksegment——16位的堆栈段存放器;

⑵16位的指令指针存放器IP;

⑶20位的地址加法器;

⑷6字节的指令队列缓冲器。

执行单元

执行部件由以下几个局部组成:

⑴8个通用存放器:

即AX、BX、CX、DX,BP,SP,SI,DI;

其中,4个数据存放器:

AX、BX、CX、DX;

2个地址指针存放器:

BP(basepointer,SP(stackpointer;

2个变址存放器:

SI(sourceindex,DI(destinationindex[2];

⑵标志存放器FR(flagsregister;

⑶算术逻辑单元ALU(arithmeticlogicunit。

EU负责全部指令的执行,同时向BIU输出数据(操作结果,并对存放器和标志存放器进展管理。

在ALU中进展16位运算,数据传送和处理均在EU控制下执行。

[3]

BIU和EU的管理

⑴BIU和EU可以并行工作,提高CPU效率。

BIU监视着指令队列。

当指令队列中有2个空字节时,就自动把指令取到队列中。

⑵EU执行指令时,从指令队列头部取指令,然后执行。

如需访问存储器,那么EU向BIU发出请求,由BIU访问存储器。

⑶在执行转移、调用、返回指令时,需改变队列中的指令,要等新指令装入队列中后,EU才继续执行指令。

4引脚

概念

在学习8086CPU的引脚信号前,必须弄清CPU最小模式和最大模式的概念。

所谓最小模式,

就是在系统中只有一个8086微处理器,所有的总线控制信号都直接由8086CPU产生,因此,系统中的总线控制电路被减到最少。

最大模式是相对最小模式而言的。

在最大模式系统中,总是包含两个或多个微处理器,其中一个主处理器就是8086,其他的处理器称为协处理器,它们是协助主处理器工作的。

如数学运算协处理器8087,输入/输出协处理器8089。

8086CPU到底工作在最大模式还是最小模式,完全由硬件决定。

当CPU处于不同工作模式时,其局部引脚的功能是不同的。

实际分析下Intel系列CPU的流水线构造与性能

流水线技术早在Intel的X86芯片中均得到了实现。

流水线的使用使CPU的性能得到了很大的提升,而Pentium系列CPU产品更是一个高级的超标量处理器。

当然CPU流水线性能是有限制,影响CPU流水线性能的因素有:

1、多个任务在同一时间周期内争用同一个流水段

例如,假设在指令流水线中,如果数据和指令是放在同一个储存器中,并且访问接口也只有一个,那么,两条指令就会争用储存器;在一些算数流水线中,有些运算会同时访问一个运算部件。

2、数据依赖

比方,A运算必须得到B运算的结果,但是,B运算还没有开场,A运算动作就必须等待,直到A运算完成,两次运算不能同时执行。

3、条件转移的影响

如果第一条指令是一个条件转移指令,那么系统就会不清楚下面应该执行那一条指令。

这时就必须等第一条指令的判断结果出来才能执行第二条指令。

条件转移所造成的流水线停顿甚至比相关还要严重的多。

越是长的流水线,相关和转移两大问题也越严重,所以,流水线并不是越长越好,超标量也不是越多越好,找到一个速度与效率的平衡点才是最重要的。

为了解决这些影响流水线性能的因素和提高CPU性能,Intel公司采取了一系列技术手段。

在PentiumIII的时候主要采用的技术

1.采用超标量双流水线构造

超标量流水线设计是Pentium微处理器技术的核心。

所谓超标量就是处理器内部含有多个执行单元来完成多条指令的同时执行。

Pentium有两条分别称为U和V的指令流水线,各自有独立的算术逻辑单元ALU及高速缓存构造。

这种双流水线并行作业的方式,使得Pentium在每个时钟周期内可同时执行两条指令。

此外,还有一个执行单元,保证同时完成一条浮点运算指令。

在PentiumIII时采用3条独立的12级超标量流水线。

2.分支预测技术

为了减少由于转移导致流水线的效率损失,Pentium采用分支预测技术来动态预测指令的目标地址,从而节省了CPU的执行时间。

通常在用户程序中包含不少的条件转移指令,在流水线计算机中,这些转移指令由于产生分支可能使予取和予译码指令作废。

Pentium内部有两个予取指令缓冲队列,在执行条件转移指令前,一个以顺序方式予取指令,另一个以转移方式予取指令,后者也称作分支目标缓冲器BTB(BranchTargetBuffer,这是一个小的cache,它基

于转移指令,尤其是循环转移的固有特点,可以认为在大多数情况下,当一条转移指令被再次执行时,其成功与否及转移目标与上次一样。

据此可构造动态的分支目标预测硬件。

BTB是一种效果较好的硬件机制,统计说明BTB的容量较大时(如超过256项预测准确率可达90%。

通过这

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1