软考之路--小桥流水人家

        流水线,从小编生活了二十年的生活经历来看,流水线可以这样理解,从生活中的工厂入手,流水线上每个工人所作的工作都不同,但却是相连的,上面的工人做完了他的事就直接丢给下面的工人,而后一直这样传下去,直到这条流水线结束。 做流水线要眼疾手快,不然你手中的还没做完,上面又丢些下来,到时你就手忙脚乱,全线也就乱套了,总的来说生活中的流水线就是一种工业上的生产方式,指每一个生产单位只专注处理某一个片段的工作,以提高工作效率及产量。流水线,在我们的计算机中也有类似的概念,小编理解中的流水线,和计算机世界中的流水线有哪些不一样的地方呢?计算机中的流水线有着怎样神奇的一面?这篇博文,小编主要和大家来学习一下流水线的相关知识,小编会循着下面这张图的脉络,一一介绍,首先,我们来看一下整体的有关流水线知识点的框架。

        

       接下来,小编就沿着上图的痕迹,对流水线进行一一解剖,有不同意见的小伙伴欢迎讨论交流。
       概念

       流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。概念我们说那么多,我们现在深入去理解,光有概念都是一些比较抽象的东西,我们看图,一共有三个步骤:

        

        然后我们来看一下一般情况下我们的指令是一条一条的来处理,第一条指令处理完,再处理第二条,再处理第三条,这种顺序来处理机器里边的设备的利用情况是怎样的呢?我们来看这图:

          

        若我们每个指令的执行时间是1ms,如下图:

        

        那么三条指令执行完需要9ms的时间,我们还可以看得出来的是:取值这个设备只有在1ms,4ms,7ms的时候工作,第一条指令只有三分之一的时间进行工作,别的时间就空闲了,对于这样子中间就产生了很多设备的空闲。所以我们引入了流水线。用流水线所用的时间:

        

        取值设备只要完成第一条指令的取值,就立即进入第二条指令的取值,第二条指令完成之后,就马上执行第三条;分析这个操作也是一样,我们看的出来,在5ms的时间就完成了。当然我们也能观察的出,单个指令的运行时间都是3ms。所以流水线对单条指令的执行是无效的。流水线除了指令流水线,还有一种就是运算操作流水线,运算操作流水线就是计算机在执行各种运算操作时也可以应用流水线来提高运算速度,这是操作都是分阶段运行的,所以我们用流水线来提高运算速度。

       流水线指令运行时间的计算

       

       小试牛刀

       我们光看公式就几个变量,不好理解,我们来看例题:

       例题1

       

       很简单的一道题目,我们看的出来,很容易我们就计算的出来:(2+2+1)+(100-1)*2=203

       我们接下来看一个图,来深刻的理解一下:

       

       从这个图中我们假设:取值5ns,分析 2ns,执行 5ns;那么我们执行完一条指令应该是: 

       

       若分析在取值之后执行的话,只需要7ns就能完成分析阶段,那么执行完成只需要12ns,而不需要15ns。我们为什么说分析能在取值之后马上执行呢?我们再来看一下这个执行步骤: 

       

       第一条指令的取值完成之后,这两条线就去掉了,就是说阻碍I2和C1发展的线就断了,他们就能运行:

       

       我们很清楚的看到分析就和下一条指令的取值就能进行了,接下来,我们来看一道有点儿奇怪的题:

       例题2

       

      我们要是按照之前的那个公式,能很快的算出来:周期=100ns(时间最长的),然后得到第一条指令的结果是:60ns+100ns+50ns+70ns=280ns。然后完成这段程序需:280+(20-1)*100=2180。我们按照这个公式来算,一点问题都没有。但是我们看一下答案:

        

       但是当我们的选项里边没有这个答案,我们应该怎么办?想想,我们没有错,我们是按照公式来的,肯定错不了。但是有时候我们为了得分,所以我们必须要向另一种方向转变,就是我们的周期是100ns,那么我们都按照周期来算,那么我们第一条指令的完成时间就是:4*100=400,然后完成100条指令的时间就是:100*4+(20-1)*100=2300。那么这个题目我们就能拿分了。

        小编寄语:该博文,小编主要从三个方面对流水线的相关知识点进行简单的回顾和总结,第一,简单的介绍了一下流水线的概念,第二,指令运行时间的计算,第三,巩固理论知识,讲解了两个例题。初次接触流水线,小编的理解也不是很深,有不同意见的小伙伴欢迎讨论交流, 软考准备的日子即将接近尾声,在十月的末尾,十一月的指尖绽放,谢谢博客陪我走过
2014年的两个备考之月,进京赶考倒计时,小伙伴加油!

        

    

时间: 2024-10-07 03:40:45

软考之路--小桥流水人家的相关文章

软考之路--数据结构之线性表

        数据就是数值,也就是我们通过观察.实验或计算得出的结果.数据有很多种,最简单的就是数字.数据也可以是文字.图像.声音等.数据可以用于科学研究.设计.查证等.结构,组成整体的各部分的搭配和安排,两者完美结合在一起,我们这样需要重新认识她,对她重新审视与定义:数据结构是程序设计的重要理论和技术基础,她所讨论的内容和技术,对从事软件项目的开发有重要作用,通过学习数据结构,我们学会从问题出发,分析和研究计算机加工的数据的特性,以便为应用所设计的数据悬着适当的逻辑结构.存储结构及其相应的操

软考之路--像树一样活着

        俞敏洪说:我们每一个人,都应该像树一样的成长,即使我们现在什么都不是,但是只要你有树的种子,即使你被踩到泥土中间,你依然能够吸收泥土的养分,自己成长起来.当你长成参天大树以后,遥远的地方,人们就能看到你:走近你,你能给人一片绿色.活着是美丽的风景,死了依然是栋梁之才,活着死了都有用.这就是我们每一个同学做人的标准和成长的标准,开头小编先罗嗦一下,给各位小伙伴来一段心灵鸡汤,今天我们的知识点就从树开始说起.         树,原指木本植物之总名,主要由根.干.枝.叶.花.果组成.

软考之路--计算机背后的故事

        文法:1.法制:法规. 2.文章的作法. 3.语法.语言的结构方式.包括词的构成和变化﹐词组和句子的组织.文法即文章的书写法规,一般用来指以文字.词语.短句.句子的编排而组成的完整语句和文章的合理性组织.这个是我们小时候接触过的关于文法的概念,那个时候的文法总是会和主语,宾语,谓语等联系在一起.         二十年过去了,今天她再次出现在我面前,还是一样的眼神,藏在记忆深处的"文法"跟眼前的这个"她"有什么不一样呢?在计算机科学中,文法是编译原理

软考之路--用文字记录这个美丽的进程

        进程,百度百科对她这样进行阐述,进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动.它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元.,在小编的理解世界中,进程就是一段程序的执行过程,就好比中午要去食堂吃饭,从十一教走到中快食堂的路上的这个过程,就是进程,纯属小编的个人傻傻的理解,有不同想法的小伙伴欢迎讨论交流,这篇博文,小编主要来讲解一下进程的相关知识,如下图所示,小编会根据下图的框架,进行一一讲解,用文字记录这个美丽的

软考之路--开始的开始,我们都是孩子

        为了软考,奋力一搏,没钱.没人脉.没背景,在人人自危的竞争中,要靠自己的真实力,这次考试我们积极备考,不打无准备之战,软考的目的,不仅仅是为了软考通过这么简单,在软考的背后还隐藏着一个古老的秘密,那就是为了学习知识,在个人重构,机房合作,牛腩新闻发布系统等学习中,小伙伴们有没有这样的疑问,出现了很多问题,解决了,但是具体的原理自己并不是很理解,这个时候,软考来了,驾着五彩的云霞,翩翩来到你眼前,解决我们计算机体系知识不全的问题.在面临自考,等级考,软考,计算机学习,英语学习等犹如

软考之路--从生活着手,看PV如何操作

       PV操作,是软考当中一个很重要的考点,一听到这个名词,顿时赶脚高大上有么有,在软考的历年试题中,也不乏PV操作的身影,老师也对PV操作进行了一次讲课,那时年少,听得稀里糊涂,也不是很理解,在小编的理解当中,PV操作与信号量的处理相关,P表示通过的意思,V表示释放的意思.做过几套软考试题,看过软考视频,对PV操作有了一点傻傻的理解,PV操作属于操作系统方面的知识,在前面的博文中,小编介绍过进程和存储,这篇博文,小编主要和大家来学习一下PV操作的相关知识,小编会循着下面这张图的脉络,一

软考之路--你存在我深深的脑海里

        小时候,总是期待着过年,过年可以吃到好多好吃的,暴露了小编的本质,哈哈,最让我期待的,就是压岁钱了,七大姑八大姨这个给一个红包,那个给一个红包,爸爸又会以同样的方式给她们的孩子,我们孩子从中得到的是纯利润,然后,恨不得连睡觉都紧紧握住自己的存钱筒,想着,要去买什么好吃的呢,在小编的理解中,把压岁钱存在一起,堆积起来的过程,就是存储,在我们的计算机中,官方定义如下存储就是根据不同的应用环境通过采取合理.安全.有效的方式将数据保存到某些介质上并能保证有效的访问,总的来讲可以包含两个方

软考之路--最后的最后,我们都是天使

       随着光棍节的到来,准备已久的软考也终于尘埃落定,在双十一的日子里迎来她新的开始,这次进京赶考最大的感觉就是晕车,小编晕车,去火车站的时候,做的公交车,小编就拿一个橘子皮左闻一下,右闻一下,不知情的小伙伴会不会赶脚,我要吃了她nie,到了火车站,我们开始安静的等候,坐上向往已久的温柔的Y516,或许她的温柔我不懂,因为晕车,也难免招架不住,晕晕乎乎下了车,开始倒地铁,小编是个路痴,加上晕车,要不是跟着大部队,早丢了,咳咳咳.第二天是个大晴天,帝都的太阳透过云层,把温暖散在十期的孩子身

软考之路--J2SE,从HelloWorld到传世代码

         "Hello World"程序指的是只在计算机屏幕上输出"Hello, World!"(意为"世界,你好!")这行字符串的计算机程序.hello world作为所有编程语言的起始阶段,占据着无法改变的地位,所有中/英/法/德/美--版本的编程教材中,hello world总是作为第一个TEST记录于书本之中,所有的编程第一步就在于此了!经典之中的经典!hello world!         备战软考掐指一算已经有半个月的时间了