阅读日记:computer organization and design——RISC-V——chapter1——计算机如何抽象起来的(二)

1.6 Communicating with Other Computers:

computer networks:网络将整个计算机连接起来,允许计算机用户通过包括通信来扩展计算能力。

资源共享:网络上的计算机可以共享I/O设备,而不是每台计算机都有自己的I/O设备。

非本地访问:通过远距离连接计算机.代价是随着沟通和信息传播的距离。

局域网:local area network (LAN)一种网络,用于在地理上受限的区域(通常在一栋建筑物内)传输数据。如以太网:它可以长达一公里,每秒传输高达40G比特。它的长度和速度使得以太网在连接同一楼层的计算机时非常有用;因此,它是一个通常被称为局域网的例子。局域网是与交换机互连,交换机还可以提供路由服务和安全性。

广域网:wide area network (WAN)跨越大陆,是支持网络的因特网的骨干网。它们通常基于光纤,从电信公司租赁。

科普:20世纪70年代,很少有人能收到电子邮件,互联网和网络不存在,物理邮寄磁带是在两个地点之间传输大量数据的主要方式。局域网几乎不存在,现有的少数广域网容量有限,接入受限。随着网络技术的改进,它变得相当便宜,并且具有更高的容量。例如,大约30年前发展起来的第一个标准化局域网技术是以太网的一个版本,其最大容量(也称为带宽)为每秒1000万比特,通常由几十台(如果不是一百台)计算机共享。今天,局域网技术提供每秒1到40G的容量,通常最多由少数计算机共享。光通信技术使广域网的容量有了类似的增长,从几十万位到千兆位,从数百台连接到全球网络的计算机到数百万台连接的计算机。在过去的30年中,网络部署的急剧增加和容量的增加使得网络技术成为信息革命的核心。在过去的十年里,网络的另一项创新正在重塑计算机的通信方式。无线技术的普及,使后PC时代成为可能。在存储器和微处理器中使用同样的低成本半导体技术(CMOS)制造无线电的能力使得价格有了显著的提高,从而导致部署的爆炸性增长。无线技术与有线网络有很大的不同,因为邻近地区的所有用户都共享无线电波。

1.8Technologies for Building Processors and Memory:

硅晶锭
一种由直径在8到12英寸之间、长约12到24英寸的硅晶体组成的棒。
晶圆
硅片从硅锭中切出的不超过0.1英寸厚的薄片,用来制造芯片

缺陷
晶圆或图案步骤中的一种微观缺陷,可导致含有该缺陷的模具失效。
die:
从晶圆上切下的单个矩形截面,更非正式地称为晶片

数十个图形化步骤可能导致晶圆的该区域出现故障。这些缺陷,正如人们所说的,使得制造一个完美的晶圆几乎不可能。处理缺陷的最简单方法是在一个晶圆上放置许多独立的元件。然后,图案化的晶圆被切碎或切成小块,形成这些组件,称为模具,更非正式地称为芯片。

 

300毫米(12英寸)晶圆上的模具数量

100%产率为280,每20.7×10.5mm。几个

该模具采用32纳米技术,这意味着最小的特征尺寸约为32纳米,尽管它们通常比实际特征尺寸稍小,实际特征尺寸指的是“绘制”的晶体管尺寸与最终制造的尺寸。

产量:好的模具占晶圆上模具总数的百分比。

集成电路的成本随着芯片尺寸的增加而迅速上升,这是由于较低的成品率和适合于晶圆的芯片数量较少。

为了降低成本,使用下一代工艺缩小了一个大的模具,因为它对晶体管和电线都使用较小的尺寸。这提高了成品率和每个晶圆的模具数量。

一旦发现了好的die,它们通过键合过程加上封装的输入/输出管脚。这些包装好的零件在最后一次进行测试,因为包装过程中可能会出现错误,然后将它们运送给客户。

1.9性能

评估计算机的性能可能是很有挑战性的。现代软件系统的规模和复杂性,加上硬件设计人员采用的各种性能改进技术,使得性能评估变得更加困难

如果你在两台不同的台式机上运行一个程序,你会说速度越快的是首先完成任务的台式机。

如果您运行的数据中心有多个服务器运行由许多用户提交的作业,您会说速度更快的计算机是一天内完成最多92个作业的计算机。

作为个人计算机用户,您是对缩短响应时间感兴趣的任务的开始和完成之间的时间(也称为执行时间)。

数据中心管理者通常关心增加吞吐量或带宽在给定时间内完成的总工作量。

因此,在大多数情况下,我们需要不同的性能指标和不同的应用程序集来对个人移动设备进行基准测试

 

 

衡量性能:时间是衡量计算机性能的标准:在最短时间内完成相同工作量的计算机是最快的。

响应时间也称为执行时间。计算机完成一项任务所需的总时间,包括磁盘访问、内存访问、I/O活动、操作系统开销、CPU执行时间等。

吞吐量:也称为带宽。另一个衡量性能的指标,是单位时间内完成的任务数。

减少响应时间几乎总是提高吞吐量,如果某情况下的处理需求大于与吞吐量,系统可能会强制请求排队。在这种情况下,增加吞吐量也可以提高响应时间,因为它可以减少等待时间。

CPU执行时间,或者简单地说CPU时间,它识别了这个区别,是CPU为这个任务花费的计算时间,不包括等待的时间

用户所经历的响应时间将是程序的运行时间,而不是CPU时间。

 

考虑执行时间的一种方法是,它等于执行的指令数乘以每条指令的平均时间。

(每个指令的时钟周期,这是平均值)*(每条指令执行所需的时钟周期数,通常缩写为CPI)

这些公式特别有用,因为它们分离了影响性能的三个关键因素。如果我们知道设计方案对这三个参数的影响,我们可以使用这些公式来比较两个不同的实现或评估设计方案。

我们可以通过运行程序来测量CPU的执行时间,时钟周期时间通常作为计算机文档的一部分发布。可以使用分析执行的软件工具或使用体系结构的模拟器来测量指令计数。或者,我们可以使用硬件计数器包括在大多数处理器中,以记录度量,包括执行的指令数、平均CPI,以及性能损失。

指令计数取决于体系结构,而不是具体的实现,因此我们可以在不知道实现的所有细节的情况下测量指令计数。然而

CPI取决于计算机中各种各样的设计细节,包括内存系统和处理器结构以及在应用程序中执行的指令类型的混合。因此,CPI因应用程序以及具有相同指令集的实现而异。

程序的性能取决于算法、语言、编译器、体系结构和实际硬件。下表总结了这些组件如何影响CPU性能方程中的factors:

1)算法 CPI ,IC 可能通过支持速度较慢或较快的指令来影响CPI。例如,算法使用更多的除法,它将倾向于具有更高的CPI。

2)编程语言  CPI,IC 当然会影响指令计数,因为语言中的语句被转换成处理器指令,处理器指令决定指令计数。还可能因为其特性而影响CPI;例如,对数据抽象(例如Java)支持很强的语言将需要间接调用,而间接调用将使用更高的CPI指令。

3)编译器:CPI,IC 编译器的效率影响每条指令的指令计数和平均周期,因为编译器决定了源语言指令到计算机指令的转换。编译器的角色可能非常复杂,并以各种方式影响CPI。

4)指令集体系结构:影响CPU性能的所有三个方面,因为它影响功能所需的指令、每条指令的周期成本以及处理器的总体时钟速率。

尽管您可能期望最小CPI为1.0,但正如我们将在第4章中106看到的,一些处理器在每个时钟周期获取并执行多条指令。为了反映这种方法,一些设计人员将CPI转换为IPC或每个时钟周期的指令。如果处理器平均每时钟周期执行两条指令,然后它的IPC为2,因此CPI为0.5。

 

1.10Power Wall
几十年来,时钟频率和功率都迅速增加,最近趋于平稳。它们共同成长的原因是相互关联,而它们最近放缓的原因是,我们已经遇到了冷却商用微处理器的实际功率限制。,电力限制了我们的冷却能力

对于CMOS,后PC时代真正有价值的资源是能源。能量消耗的主要来源是所谓的动态能量,也就是说,晶体管将状态从0切换到1或从0切换到1时所消耗的能量。

动态能量取决于每个晶体管的电容负载和施加的电压:

这个方程是在逻辑转换过程中脉冲的能量属于0→1→0或1→0→1。单个跃迁的能量是这个一半

每个晶体管所需的功率只是跃迁能量和跃迁频率的乘积:

每个晶体管的电容负载是连接到一个输出(称为扇出)的晶体管数量和决定导线和晶体管电容的技术的函数。

例如:关键词:电容负载,调整电压——频率降低15%:

现在的问题是进一步降低电压 ,似乎使晶体管太漏了,就像不能完全关闭的水龙头。即使在今天,服务器芯片中大约40%的功耗是由于泄漏造成的。

为了解决电源问题,设计师们已经安装了一些大型设备来增加散热,他们关闭了在给定的时钟周期内不使用的芯片。尽管有许多更昂贵的方法来冷却芯片,从而将其功率提高到,比如说,300瓦,但这些技术对于个人电脑甚至服务器来说通常都太昂贵了,更不用说个人移动设备了。“电脑设计师撞上电源墙”,我们需要一条新的前进道路——不同于他们头30年设计微处理器的道路。

尽管动态能量是主要的能量来源,在CMOS中,静态能量消耗是由于即使晶体管关断时也会产生泄漏电流。在服务器中,泄漏通常占能源消耗的40%。因此,增加晶体管的数量增加了功耗,即使晶体管总是关闭的。各种设计技术和技术革新正在被用来控制漏电,但很难进一步降低电压。

电源对集成电路来说是一个挑战,原因有二。首先,必须将电源引入芯片,并将其分布在芯片周围;现代微处理器使用数百个管脚作为电源和接地!类似地,多个级别的芯片互连仅用于向部分芯片的电源和接地分配。第二,能量作为热量散失,必须被移除。服务器芯片可以燃烧100瓦以上,冷却芯片和周围系统是仓库级计算机的主要开支
 

The Sea Change: The Switch from Uniprocessors to Multiprocessors从单处理器到多处理器的转变

功率限制迫使微处理器的设计发生了巨大的变化

从2006年起,所有台式机和服务器公司都在为每个芯片提供多个处理器的微处理器,而不是继续减少在单处理器上运行的一个程序的响应时间,在这种情况下,收益往往更多地体现在吞吐量上,而不是响应时间上。

为了减少字处理器和微处理器之间的混淆,公司称处理器为“核心”,这样的微处理器通常被称为多核微处理器。因此,“四核”微处理器是一种包含四个处理器或四个内核的芯片。

在过去,程序员可以依靠硬件、体系结构和编译器的创新,每18个月将程序的性能提高一倍,而不必更改一行代码。今天,为了让程序员在响应时间上得到显著的改进,他们需要重写程序以利用多个处理器。

此外,为了获得在新微处理器上运行更快的历史性好处,程序员将不得不随着cores数量的增加继续提高代码的性能。为了加强软件和硬件系统如何协同工作,本书中使用了一个特殊的部分,硬件/软件接口,第一个部分出现在下面:

1、硬件/软件接口并行性一直是计算性能的关键,但它往往是隐藏的。第4章将解释流水线,一种通过重叠执行指令。这种优化是指令级并行的一个例子,在这种情况下,硬件的并行性被抽象出来,这样程序员和编译器就可以把硬件看作是按顺序执行的指令。

整个it行业都在押注自己的未来,程序员最终将成功地转向显式并行编程。

为什么程序员很难写出明确的并行程序?

第一个原因是并行编程是按定义的性能编程,这增加了编程的难度。程序不仅需要正确,解决一个重要的问题,并为调用它的人或其他程序提供一个有用的接口;程序也必须很快。否则,如果不需要性能,只需编写一个顺序程序。

第二个原因是,对于并行硬件来说,fast意味着程序员必须划分一个应用程序,以便每个处理器在同一时间有大致相同的任务量,并且调度和协调的开销不会浪费并行的潜在性能优势。

作为一个类比,假设任务是写一篇新闻报道,八个从事同一篇报道的记者可能写一篇报道快八倍。要达到这种增长速度,就需要把任务分解,让每个记者同时有事情要做。因此,我们必须安排子任务。如果出了什么问题,只有一个记者比其他七个记者花的时间长,那么拥有八个作家的好处就会减少。因此,我们必须均匀地平衡负载以获得所需的加速。另一个危险是,如果记者们不得不花大量时间互相交谈来撰写他们的文章。如果故事的一部分,比如结论,在其他部分都完成之前不能写出来,你也会落空。因此,必须小心用于减少通信和同步开销。

 

真正的东西:对英特尔进行基准测试

在第一个“真正的东西”部分中,我们将以英特尔酷睿i7为例,介绍集成电路是如何制造的,以及性能和功率是如何测量的。

基准形成一个工作负载,用户希望它能够预测实际工作负载的性能。正如我们上面提到的,为了加快普通案件的审理速度,你

首先需要准确地知道哪种情况是常见的,所以基准在计算机体系结构中起着至关重要的作用。

工作量:在计算机上运行的一组程序,它要么是由用户运行的应用程序的实际集合,要么是由实际程序构造的,以近似于这种混合。典型的工作负载指定程序和相对频率。

 

 

 


 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值