电子科技大学计算机系统结构复习笔记(一):概述

news2024/12/25 9:03:05

目录

前言

重点一览

计算机分类

弗林分类法

市场分类

计算机系统结构定义

实现技术\功耗\成本的趋势\可靠性(了解) 

计算机性能

性能评价指标

性能评价方法

计算机设计的量化原则

基本方法

Amdahl‘s 定律

CPU 性能公式 / 时间计算

本章小结


前言

本复习笔记基于叶老师的课堂PPT和复习提纲,供自己期末复习与学弟学妹参考用。


重点一览


计算机分类

弗林分类法

定义:基于指令流和数据流数量的计算机结构分类

内容

  • SISD
    • Single instruction:  在任一时钟周期只有单个指令流在CPU执行
    • Single data: 在任一时钟周期只有单个数据流用作输入
    • 例子: 串行计算机
  • MISD
    • 每个处理单元用多个指令流对单个数据进行独立操作
    • 单个数据流进入多个处理单元。
    • 例子: 很少有这类计算机的实例
  • SIMD
    • 例子: 适用于处理高度规整操作的问题,如图像处理
  • MIMD
    • 各处理器执行可以是同步的或异步的,确定性的或非确定性的
    • 例子: 多处理器系统

市场分类


计算机系统结构定义

原始的概念: 由程序员(机器语言)看见的(计算)系统属性,即概念性结构和功能行为,以区分数据流动和控制逻辑设计的组成及物理实现。

现在的定义: 指令集系统结构

实现技术\功耗\成本的趋势\可靠性(了解) 

  • 实现技术的趋势
    • 摩尔定律: 工业界集成在一个计算机芯片上的元件数量每年翻一番。 1975年,他更新预测为每两年翻一番。
    • 通常在集成电路逻辑, 半导体DRAM, 磁盘技术, 网络上进行升级, 设计者常常为下一代实现技术进行设计
    • 经验法则: 成本减少速度与密度增加速度成比例; 带宽增加速度与时延平方改进速度成比例
    • 技术阈值: 对设计有重大影响 实现技术在持续改进到阈值,就会使设计发生飞跃
    • 带宽/吞吐量 : 在给定时间完成的工作总量
    • 时延/响应时间: 一个事件从开始到完成的时间
    • 性能趋势: 带宽改进优于时延
  • 功耗的趋势
    • 功耗对芯片的规模也提出了挑战(分配功率 散热 避免过热点)
    • 动态功率: 开关晶体管产生的功耗; 对于一项固定任务,降低时钟频率可以降低功率,而不会降低能耗
    • 静态功率: 晶体管在关闭时漏电产生的功耗; 静态功率与器件数目成正比
  • 成本的趋势
    • 元器件成本是设计者需要考虑的一个方面
    • 影响成本的主要因素: 时间, 元器件价格随着时间而下降(实现技术没有实质性改进); 因为随着时间推移产出率不断增高。产量,  提高意味着制造效率提高; 商品, 元器件供应商之间的竞争会降低成本
    • 成本的小变化可能引起意料不到的价格大增
  • 可靠性
    • 广义上包括可靠性、安全性和可用性, 用于表示系统提供给用户服务的质量
    • 量化: 模块可靠性=平均无故障时间/(平均无故障时间+平均修复时间)
    • 提高可靠性的方法: 冗余(Redundancy): 时间冗余:  重复操作直到无错; 资源冗余: 配置另外的相同部件,有错时用于替代出错部件

计算机性能

性能评价指标

  • 执行时间(响应时间,时延)
    • CPU时间
      • 用户CPU时间- 花费在用户模式的时间
      • 系统CPU时间- 花费在操作系统的时间
      • 设计者的感觉, 决定了CPU性能
    • 用户的感觉 系统性能 仅有的各方都认可的性能测量指标
  • 吞吐量:网站服务器
    • 单位时间内完成的工作总量---吞吐量
    • 对于很多应用,吞吐量比时延更重要:金融市场, 政府统计(人口普查)
    • 通常改善了响应时间也会改善吞吐量: 处理器用更快的型号替换
    • 只改善吞吐量而不改善响应时间: 如用多处理器
    • 管理员的感觉
  • MIPS - millions of instructions per second
    • 指令数/(运行时间*1000000)
    • 商人的感觉

性能评价方法

  • 理想的性能评估: 运行随机取样的用户的程序和OS命令
  • 不同类型的基准测试程序(benchmarks)
    • 有些基准程序有迷惑性, 因为硬件和编译器的供应商或许会仅对一些程序优化他们的设计
  • 最好的基准测试程序就是实际应用程序,因为它们反应了终端用户的需要
    • SPEC—实用基准测试程序集
    • 目标:保证市场有一套公平和实用的指标来区分不同的候选系统。
    • 基本方法:提供基于现有应用程序的一套标准化源代码作为基准测试程序集
    • SPEC性能评价
      • SPEC Mark是一个综合指标以衡量不同计算机的性能, SM越大性能越好
      • SPEC率=参考机执行时间/被测机执行时间
      • SM计算方法: N个SPEC基准程序的SPEC率的几何平均值
      • 不是绝对客观的, 可以针对基准程序刻意优化
  • 性能与执行时间互为倒数
    • 最大的性能意味着最小的执行时间
    • 处理器X比Y快N倍,说明Y的执行时间是X的N倍. 

计算机设计的量化原则

基本方法

  • 利用并行性: 改善计算机性能最重要的方法
  • 局部性原理: 程序趋向于重用最近用过的数据和指令
  • 注重经常性事件: 计算机设计最重要和普遍原则
    • 量化这个原则的基本定律:Amdahl’s Law

Amdahl‘s 定律

定义了使用某一特定功能所获得的加速比

 

Amdahl定律中,加速比与两个因素有关:

        a. 改进比例 Fe 

        

        b. 改进加速比 Se

         

        例:  

        答: Fe = 10/100 = 1/10

              Se = 10/1 = 10

设改进后执行时间为Tn,改进前的执行时间为T0,则上式可以写为:

 (1-Fe)表示不可改进部分; 改进比例 Fe; 改进加速比 Se

改进后整个系统的加速比: 

提高改进比例Fe 或改进加速比Se,都可以提高Sn , 但是Fe 对Sn 的影响更大。

例:    

CPU 性能公式 / 时间计算

CPU时间=程序的CPU时钟周期数×时钟周期时间=程序的CPU时钟周期数/时间频率

               =指令数*CPI*时钟周期时间

               =n类指令*n种CPI之和*时钟周期时间

(总CPI=各类指令占总指令的比例*各类CPI之和)


本章小结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/603141.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows环境使用clion搭建redis5.0 redis6.0的源码阅读环境

1、下载cygwin https://cygwin.com/install.html 第一步选择从互联网安装 别放在C盘 选择直接连接 我这边选择的是163的节点 接下来,就是让我们选择要安装的东西,网上一般给的就是如下几个: gcc-core、gcc-g、make、gdb、binutils 一个个…

计算机视觉 | 人体关键点检测与MMPose

前言 人体姿态估计(Human Pose Estimation)是计算机视觉领域中的一个重要研究方向,也是计算机理解人类动作、行为必不可少的一步,人体姿态估计是指通过计算机算法在图像或视频中定位人体关键点,目前被广泛应用于动作检…

0x34RequestDownload请求下载

0x34RequestDownload 客户端请求协商从客户端到服务器的数据传输。 客户端使用requestDownload服务来启动从客户端到服务器的数据传输(下载) 。 服务器收到requestDownload请求消息后,服务器应在发送肯定响应消息之前采取所有必要的操作来接…

【手撕Spring源码】深度理解SpringMVC【上】

文章目录 DispatcherServletRequestMappingHandlerMappingRequestMappingHandlerAdapter自定义参数处理器自定义返回值处理器 参数解析器获取参数名对象绑定与类型转换底层第一套转换接口与实现底层第二套转换接口与实现高层转换接口与实现自定义转换器 ControllerAdvice 之 In…

NeRF与三维重建专栏(二)NeRF原文解读与体渲染物理模型

前言 上一章中我们大致介绍了三维重建的背景、NeRF应用于三维重建的难点以及相关数据集和评估指标,本章节将会详细介绍NeRF原文以及部分源码,以及体渲染的物理模型,来帮助读者更好理解NeRF;下一章我们将会结合colmap,讲…

PrivateGPT(如何部署及使用感受)

前言 最近在GitHub上出现了一个名为PrivateGPT的开源项目。该项目旨在为面临敏感数据、涉密信息或个人隐私问题的用户提供一种新的聊天工具。PrivateGPT具备完整的数据控制能力,使用户能够在本地环境中与强大的语言模型进行交互,无需上传数据到互联网或…

kotlin的for循环遍历

kotlin的for循环遍历 1、List val list listOf("A", "B", "C")for (item in list) {println(item)} A B C 2、List的in val list listOf("A", "B", "C")for (item: String in list) {println(item)} A B C 3、l…

【C/C++】基础知识之命名空间与作用域

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

【学习日记2023.6.2】之 管理端报表统计

文章目录 11. 管理端报表统计11.1 Apache ECharts11.1.1 介绍11.1.2 入门案例 11.2 营业额统计11.2.1 需求分析和设计11.2.2 代码开发Controller层Service层接口Service层实现类Mapper层 11.2.3 功能测试11.2.4 提交代码 11.3 用户统计11.3.1 需求分析和设计11.3.2 代码开发Con…

【QCA6174】QCA6174认证DFS跳转信道距离干扰信道太近,导致边带可以检测到信号问题分析及解决方案

WIFI DFS测试要求 Master设备需要测试的项目 4.6.2.1 Channel Availability Check ---信道可用性检查 定义其作为雷达脉冲检测机制,当雷达脉冲出现时所占用的信道需要能被设备检测到已经被占用。当相关信道未被占用时,这些信道被称为Avaliable Channel可用信道 4.6.2.2 In…

23Java面试专题 八股文面试全套真题(含大厂高频面试真题)多线程

文档说明 在文档中对所有的面试题都进行了 难易程度和 出现频率的等级说明 星数越多代表权重越大&#xff0c;最多五颗星&#xff08;☆☆☆☆☆&#xff09; 最少一颗星&#xff08;☆&#xff09; Java多线程相关面试题 1.线程的基础知识 1.1 线程和进程的区别&#xff1f; 难…

敷尔佳三闯IPO:去年狂赚8亿,广告宣传费近4亿

618大促已经开启&#xff0c;敷尔佳能否借“618”撑起“医美面膜第一股”&#xff1f; 近日&#xff0c;哈尔滨敷尔佳科技发展有限公司&#xff08;下称“敷尔佳”&#xff09;更新招股书&#xff0c;继续冲刺“医美面膜第一股”。 敷尔佳是一家主要从事专业皮肤护理产品的研…

MySQL中的业务数据该如何正确导入到Hive中 - Sqoop

水善利万物而不争&#xff0c;处众人之所恶&#xff0c;故几于道&#x1f4a6; 目录 1. 使用Sqoop脚本将MySQL中的数据迁移到HDFS 2. 在Hive中建立与之对应的表 3. 将HDFS中的数据load到 Hive 数仓的ODS层的表中 1 . 使用Sqoop 将 MySQL中的数据导入到HDFS上 #! /bin/bashsqoo…

二进制安装Kubernetes(K8s)集群(基于containerd)---从零安装教程(带证书)

一、实验环境 1、安装说明 selinux iptables off 官方网站&#xff1a;https://kubernetes.io/zh-cn/docs/home 主机名IP系统版本安装服务master0110.10.10.21rhel7.5nginx、etcd、api-server、scheduler、controller-manager、kubelet、proxymaster0210.10.10.22rhel7.5nginx、…

Ubuntu安装ssh并开启服务

Ubuntu开启SSH服务 1、更新源列表 $ sudo apt-get update 2、安装 说明:安装时需要提供互联网或者提前下载安装包 $ sudo apt-get install openssh-server 3、启动 $ sudo service ssh start 查询服务启动状态: $ sudo ps -e | grep ssh 或者 $ sudo service ssh status …

【C++】模板(1)

文章目录 前言一、泛型编程二、模板2.1 函数模板2.2 函数模板实例化&#xff1a;2. 3 函数模板的原理&#xff1a;2.4 模板参数的匹配原则 三、类模板 前言 C中的模板(template)是一种强大的语言特性&#xff0c;它可以让程序员编写可以适用于不同数据类型的通用代码。通过使用…

Js中的堆(heap)和栈(stack)内存

目录 1、堆和栈的概念2、数据类型3、腾讯面试题4、阿里面试题 1、堆和栈的概念 在JS钟变量都存放在内存中&#xff0c;而内存给变量开辟了两块区域&#xff0c;分别为栈区域和堆区域栈(stack)&#xff1a;是栈内存的简称&#xff0c;栈是自动分配相对固定大小的内存空间&#…

长尾词挖掘,挖掘有效长尾关键词的3个方法

长尾关键词的特征是比较长&#xff0c;往往是2-3个词组成&#xff0c;甚至是短语&#xff0c;存在于内容页面&#xff0c;除了内容页的标题&#xff0c;还存在于内容中。 长尾关键词带来的客户&#xff0c;转化为网站产品客户的概率比目标关键词高很多&#xff0c;因此长尾…

Nginx服务

目录 一、Nginx概述 二、编译安装Nginx服务 1.安装Nginx服务 2. Nginx服务的基础命令 2.1开启nginx服务 2.2关闭nginx服务 2.3重载配置文件 2.4平滑升级 3.添加 Nginx 系统服务 3.1判断 Nginx 服务是否开启 3.2 方法一&#xff1a;将 nginx 服务添加到 chkconfig管…

《面试1v1》CMS垃圾回收期

我是 javapub&#xff0c;一名 Markdown 程序员从&#x1f468;‍&#x1f4bb;&#xff0c;八股文种子选手。 《面试1v1》 连载中… 面试官&#xff1a; 小伙子,CMS 垃圾收集器跟我讲讲? 候选人&#xff1a; CMS全称Concurrent Mark Sweep,是一种并发标记清除算法。它并发执…