计算机系统的设计规则,性能评测

控制流程的三种实现方式:

全硬件,软硬结合,全软件

1:逻辑上是等价的

2:硬件实现“速度快,成本高,灵活性差,占用内存少

3:软件实现,速度慢,复制费用低,灵活性好,占用内存多,容易设计,可改性强,

适应性强,设计周期短

理论上,由两种极端实现方法

1:全硬件机器:操作系统,高级语言,应用等

2:硬件只有1位加法和分支操作,其他都用软件

软硬件实现的优缺点

软硬件取舍的基本原则:

很高的性能价格比

计算机性能评测:

计算机性能是指计算机的工作速度,是程序执行时间的倒数

计算机的性能不仅仅与计算机系统结构有关,而且与算法,程序有关。

性能评价的优点:

1:改进计算机结构设计,提高计算机性能

2:促进软硬件结合,合理划分功能

3:优化”结构-算法-应用“,实现最佳组合

4:了解各类计算机适宜的应用领域,提高使用效率

性能评测的分级:

1:机器级性能评测

CPU,存储器的基本性能指标,并行计算机的计算与通信开销,机器的成本,性能价格比等

2:算法级性能评测

并行算法的可扩放性

3:程序级性能测试

基准测试程序

计算机系统的性能评价

1:时钟频率

2:指令执行速度

3:平均速度

4:核心程序法

5:峰值速度

一:时钟频率

时钟频率(处理机主频)只能用于同一类型,同一配置的处理机相对比较。

实际运算速度还与cache,内存,IO,被执行的程序等有关

二:指令执行速度

一种经典的表示运算速度的方法MIPS(million instrcutions per seconds),GIPS,TIPS

使用该方法有一些缺点:

1:不同指令的执行速度差别很大

2:指令使用频度差别很大

3:有相当多的非功能性指令

计算机系统的评测:

1:性能指标体现在时间和空间

2:峰值性能:在理想情况下计算机系统可获得的最高理论性能值,他不能反应出系统的实际性能。

3:实际性能(持续性能):只是峰值性能的5%-30%

CPU性能公式:

CPU的性能取决于三个要素:

1:时钟频率f(或时钟周期t)

2:每条指令所花的时钟周期数CPI

3:指令条数IC

一个程序所花的CPU时间(T)可以用两种方式来表示:

CPU时间(T)=CPU时钟周期数(CPIxIC)*时钟周期长

核心程序法

定点测试程序和浮点测试程序

评测方法:

1:采用实际的应用程序的测试

2:采用核心程序测试

3:合成测试程序

4:综合基准测试程序

计算机系统的定量设计原理

1:哈夫曼压缩原理

2:Amdahl定律

3:程序访问的局部性规律

哈夫曼压缩原理:

尽可能加速高概率时间远比加速处理概率很低的事件对性能提高要显著

只加速使用频率很高的部件,这是计算机设计中最重要也最广泛采用的设计准则。使经常性

事件的处理速度加快能明显提高整个系统的性能。

Amdahl定律:

系统对某一部件采用某种更快执行方式所能获得的系统性能改进程序,取决于这种执行方式

被使用的频率,或所占执行时间的比例。

程序访问的局部性规律

局部性分为时间上的局部性和空间上的局部性。

1:时间局部性:程序中近期被访问的信息项很可能马上将被再次访问

2:空间局部性:指那些在访问地址上相临近的信息项很可能会被一起访问

存储器体系的构成就是以访问的局部性原理为基础的。

软件的可移植性是指软件不用修改或只需少量加工就可由一台机器搬到另外一台机器上运行。

向上(下)兼容:指按照某一档机器编制的软件,不加修改就能运行于比他高(低)档的机器上向前(后)兼容:在按某一时期投入到市场的该型号机器上编制的软件,不加修改就能运行与在他之前(之后)投入市场的机器上。

面向目标代码的编译:

一种机器的目标代码重新编译成另一种机器的目标代码。

两种方法:

1:动态代码编译

2:静态重编译

采用统一高级语言,模拟,仿真,虚拟计算机和面向目标代码的编译都是提高程序兼容性的方法,

现在我们比较这五种方法:

方法一:采用统一高级语言是努力的目标,但是不能解决已有目标代码的兼容。

方法二:目前最有效的方法,但是限制了计算机系统结构的发展

方法三:仿真的速度低,芯片设计负担重

方法四:采用虚拟计算机比方法三稍好,但是依然不能完全解决已有目标代码的兼容问题。

方法五:目标代码的静态重编译是最有效的方法,但是实现难度大

微处理器发展的途径

1:指令级并行

2:显式并行计算

3:线程级并行

4:单片多处理器

并行性的概念:

只要在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工作,他们在时间上能互相重叠。

同时性:两个或多个事件在同一时刻发生

并发性:两个或多个事件在同一时间间隔内发生

并行性开发的途径

1:时间重叠

在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠的使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。

2:资源重复

在并行性概念上引入空间因素,通过重复设置硬件资源来提高可靠性和性能。

3:资源共享

是利用软件的方法让多个用户按一定时间顺序轮流使用同一资源,以提高其利用率,这样也可以提高整个系统的性能

并行处理计算机的结构:

1:流水线计算机(时间重叠)

2:阵列计算机(资源重复)

3:多处理机系统(资源共享)

4:数据流计算机

流水线计算机,阵列计算机和多处理机计算机比较

流水线计算机:主要通过时间重叠,让多个部件在时间上交错重叠的并行执行运算和处理,以实现时间上的并行

阵列处理机:主要通过资源重复,设置大量算数逻辑单元,在同一控制部件作用下同时运算和处理,以实现空间上的并行性

多处理机系统:主要通过资源共享,让共享输入/输出子系统,数据库资源及共享或不共享贮存的一组处理机在同一的操作系统全盘控制下,实现软件和硬件各级上相互作用,达到时间和空间上的异步并行

多级系统指的是多处理机系统和多计算机系统。

多处理机系统:是有多台处理机组成的单一计算机系统,各个处理机都有自己的控制部件,可带自己的局部存储器, 能执行各自的程序

多计算机系统:是有多台计算机组成的系统,各个自算计分别在逻辑上独立操作系统的控制下运行,计算机之间可以不通信,即使通信也只是经过通道或通信线路以文件或数据集的形式进行,实现多个作业的并行、

多机系统的耦合度:

为了反映多机系统中各机器之间物理连接的紧密程度和交叉作用能力的强弱。

最低耦合系统:各种脱机系统

松散耦合系统:如果多台计算机通过通道或通信线路实现互连,共享某些磁带,磁盘等外围设备,以较低

频带在文件和数据集一级相互作用。间接耦合系统

紧密耦合系统:如果多台机器之间通过总线或高速开关互连,共享主存,并有较高的信息传送速度,可以实现

数据集一级,任务级,作业级的并行。直接耦合系统

1:并行向量处理机(PVP)

结构特点:具有少量的高性能专门设计的VP,定制高宽带网络:共享存储器,大量的向量寄存器而没有高速缓冲

典型结构:

2:分布共享存储多处理机(DSM)

结构特点:MIMD-DM,CC-NUMA;单地址空间的应用界面,DIR用以支持分布高速缓存一致性。定制互连网络

典型结构:

3:机群系统:cluster

结构特点:MIMD-DM自治系统,每个节点是一个独立的计算机,互连网络使用标准低成本商用网络;节点可以是工作站活PC,带有存储器,具有完整的OS。是近代最流行的并行分布式系统。

典型结构:

访存模型

多处理机(单地址空间共享存储器)

UMA:uniform memory access

NUMA:nonuniform memory access

多计算机(多地址空间非共享存储器)

NORMA:no-remote memory access

1:均匀存储器存取

所有的处理器均匀共享物理存储器,这里的均匀共享是指所有的处理器具有相同的存储器存取时间。所有的处理器可自带私有的告诉缓存,外围设备也可以一定形式的共享。各个处理机之间的通信是通过共享存储器的共享变量实现的。

这一类多处理机由于对资源的高度共享,常称为紧耦合系统。

2:非均匀存储器访问(NUMA)

?非均匀存储访问(NUMA—Nonuniform Memory Access)

–被共享的存储器在物理上是分布在所有的处理其中的,其所有本地存储器的集合就组成了全局地址空间

–处理器访问存储器的时间是不一样的:访问本地存储器(LM)较快,而访问外地的存储器较慢(此即是非均匀存储访问名称的由来)

–每台处理器可带私有高速缓存,且外设也可以某种形式共享

3:非远程存储访问(NORMA)

非远程存储访问(NORMA — No-Remote Memory Access)

所有存储器都是私有的,仅能由其处理器所访问

绝大都数都不支持远程存储器的访问

指令流:是指机器执行的指令序列

数据流:是指指令流调用的数据序列,包括输入数据和中间结果

多倍性:是指在系统性能瓶颈部件上处于同一执行阶段的指令或数据的最大可能个数

Michael J,Flynn分类

· SISD 单指令流单数据流

· 传统的单处理机属于SISD计算机

· SIMD 单指令流多数据流

· 并行处理机是SIMD计算机的典型代表

· 我国的YH-I型是此类计算机型

· MISD 多指令流单数据流

· 实际上不存在,但也有学者认为存在

· MIMD 多指令流多数据流

· 包括了大多数多处理机及多计算机系统

· 我国的YH-II型计算机是这种类型的计算机

SISD:典型的单处理机

SIMD:

种类:并行处理机,阵列处理机,向量处理机,相联处理机,超标量处理机,超流水线处理机

多个PU按一定方式互连,在同一个CU控制下,对各自的数据完成同一条指令规定的操作,从CU看指令顺序执行,从PU看数据并行执行

Von Neumann机结构的主要特征

· 存储器是字长固定的、顺序线性编址的一维结构,每一个地址是唯一定义的

· 按地址访问、单元位数固定、运算速度与访存次数有关

· 由指令形式的低级语言驱动,指令=操作码+地址码

· 操作数的类型由操作码决定

· 指令在存储器中是按其执行顺序存储,程序分支由转移指令实现

· 存储器内指令和数据同等看待

· 二进制编码、运算

· 以运算器为中心,I/O与存储器之间数据通过运算器,运算器、存储器、

I/O设备的操作及之间的联系,由控制器控制

时间: 2024-12-11 15:46:45

计算机系统的设计规则,性能评测的相关文章

MySQL 优化、设计规则浅谈

当数据量大,数据库相应慢时都会针对数据库进行优化.这时都是要针对具体情况,具体业务需求进行优化的. 但是有些步骤和规则应该适合各种情况的.这里综合网上找的资料简单分析一下. 第一优化你的sql和索引: 第二加缓存,memcached,redis: 第三以上都做了后,还是慢,就做主从复制或主主复制,读写分离,可以在应用层做,效率高,也可以用三方工具,第三方工具推荐360的atlas,其它的要么效率不高,要么没人维护: 第四如果以上都做了还是慢,不要想着去做切分,mysql自带分区表,先试试这个,对

数据库设计与性能优化

转自:http://blog.51cto.com/jimshu/1250066 一.数据库设计与性能优化--概述 jimshu关注2人评论5892人阅读2013-07-16 08:02:14 前言 我1998年第一次接触SQL Server 6.5 for Windows NT 4.0,当时的感觉就认为SQL Server只是一个功能强大的Excel文件.现在回想起来,当年抱着这样一种态度,我开发的那些应用程序应该是非常幼稚的,其性能可想而知.记得那时候随便查询一笔记录就要花费十几秒,已是司空见

<转>Android App性能评测分析-流畅度篇

1.前言 在手机App竞争越来越激烈的今天,Android App的各项性能特别是流畅度不如IOS,安卓基于java虚拟机运行,触控响应的延迟和卡顿比IOS系统严重得多.一些下拉上滑.双指缩放快速打字等操作,安卓的流畅度都表现比较糟糕,但是,对于App使用过程是否流畅,一直没有一个可靠的指标将用户的客观感受和数据一一对应.虽然之前有FPS(每秒帧数)作为游戏或视频类App的性能指标,但对于那些界面更新不多的App来说,仍不是一个合适的衡量数据.以下会根据实际app性能测试案例,展开进行app性能

Java-面向对象三大特征、设计规则

1)封装: 1.1)类:封装的是对象的属性和行为 1.2)方法:封装的是具体的业务逻辑实现 1.3)访问控制修饰符:封装的是访问的权限 2)继承: 2.1)作用:代码的复用 2.2)父类/基类:共有的属性和行为 子类/派生类:特有的属性和行为 2.3)子继承父之后,子具有:父+子 2.4)传递性.单一继承,多接口实现 3)多态: 3.1)意义:行为的多态.对象的多态 3.2)向上造型.强制类型转换.instanceof判断 3.3)多态的表现形式: 3.3.1)重写:根据对象来多态 3.3.2)

MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化

MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化 前言: 很多人都认为性能是在通过编写代码(程序代码或者是数据库代码)的过程中优化出来的,其实这是一个非常大的误区.真正影响性能最大的部分是在设计中就已经产生了的,后期的优化很多时候所能够带来的改善都只是在解决前妻设计所遗留下来的一些问题而已,而且能够解决的问题通常也比较有限.本章将就如何在 MySQL 数据库 Schema 设计的时候保证尽可能的高效,尽可能减少后期的烦恼. 9.1 高效的模型设计 最规范的就一定

Android 系统UI设计规则

1. Android UI技巧 1.1 不该做什么 1.2 该做什么 2. Android UI 设计理念和注意事项 2.1 Android UI设计理念 2.2 优秀UI设计准则 2.3 设计需要考虑 3. Android UI 框架特性/界面布局 4. Android UI 图标设计原则 4.1 图标的尺寸规则和密度 4.2 图标的设计规则 5. Android UI 开发的GUI工具包,图标,字体和工具 5.1 视觉开发工具 5.2 Android 模板.PSD.矢量工具 5.3 Andr

透过微博浅谈移动设计规则

[透过微博浅谈移动设计规则]1)清晰的界面布局;2)熟悉的操作控件;3)合理的信息结构;4)可靠的触控范围;5)会呼吸的空间;6)统一的视觉风格;7)舒适的文字排版;8)高质量的图片展示.古有京城八大件,今有爽爷八定律,大家随便感受一下 本文作者 打酱油的孩纸 透过微博浅谈移动设计规则

PCB设计规则考量之初识

PCB的设计规则可以分布局与走线.布局里最简单的原则就是避免信号之间的干扰,有把模拟部分与数字部分分开,把开关电源与数字部分分开,把端去耦电容靠近端点,而且从端点出来的电容容值按从小到大摆放效果会好些,再其次,在去耦电容外面就是该端接电阻了,它也要尽量靠近端点.走线里首先是要把电源线设置的粗一些,其次是时钟信号线,而其中的晶振到IC的部分还要加粗. 其他的就说一些零散的概念: 如果是自己设计原理图,让后交给第三方画PCB图,那么,那边都会让你提供一些设计要求,这里的设计要求包括:电源线及电流,时

转:Linux性能评测工具之一:gprof篇

1 简介 改进应用程序的性能是一项非常耗时耗力的工作,但是究竟程序中是哪些函数消耗掉了大部分执行时间,这通常都不是非常明显的.GNU 编译器工具包所提供了一种剖析工具 GNU profiler(gprof).gprof 可以为 Linux平台上的程序精确分析性能瓶颈.gprof精确地给出函数被调用的时间和次数,给出函数调用关系. gprof 用户手册网站 http://sourceware.org/binutils/docs-2.17/gprof/index.html 2 功能 Gprof 是G