• 计算机系统概论


    1、冯诺依曼结构计算机工作原理及层次结构分析

    1.1 冯诺依曼计算机的工作原理

    • 存储系统:将程序存放在计算机的存储器中(存储系统的快速构建与访问)
    • 程序控制:按指令地址访问存储器并取出指令,经译码器依次产生指令执行所需的控制信号,实现对计算的控制,完成指令的功能 (指令系统、控制器设计)

    1.2 冯诺依曼计算机的组成

    1.2.1 硬件系统

    image-20230908085125921

    • 主机:CPU(运算器+控制器)、内存
    • 外设:输入设备、输出设备、外存储器
    • 总线:地址线、数据线、控制线

    运算器

    • 算术运算:加、减、乘、除
    • 逻辑运算:与、或、非
    • 基本结构:ALU(Arithmetic Logical Unit)、寄存器、连接通路

    image-20230908085649476

    功能与结构的关系:指令、数据类型、性能要求 …

    控制器

    • 基本功能:产生指令执行过程所需要的所有控制信号,控制相关功能部件执行相应的功能
    • 控制信号的方式:电平信号、脉冲信号
    • 产生控制信号的依据:指令、状态、时序
    • 控制信号的产生方式:微程序、硬布线

    image-20230908090124095

    存储器

    • 功能:存储原程序、原数据、运算中间结果
    • 工作模式: 读、写
    • 工作原理:按地址访问,读/写数据
    容量地址线数量
    1K10
    1M20
    1G30

    image-20230908090856275

    输入/输出设备

    • 输入设备:向计算机输入数据(键盘、鼠标、网卡、扫描仪等)
    • 输出设备:输出处理结果(显示器、声卡、网卡、打印机等)

    image-20230908091432451

    1.2.2 软件系统
    • 可运行的思想和内容的数字化
      • 思想:算法、规律、方法–程序表达
      • 内容:图形、图像、数据、声音、文字等被处理的对象
    • 软件的表现形式:程序与数据(以二进制表示的信息)
    • 软件的核心:算法

    image-20230908091804950

    类型大致分为三种:

    • 系统软件
      • 如操作系统、网络系统和编译系统
    • 支持软件
      • 开发工具、界面工具等
    • 应用软件
      • 字处理软件、游戏软件
    1.2.3 硬件与软件的关系
    • 相互依存

    • 逻辑等效性

      某些功能可以由硬件实现、也可由软件实现

    • 协调发展

    1.3 计算机的层次结构

    image-20230908092246265

    基本认识:

    • 不同用户处在不同层次
    • 不同层次具有不同属性
    • 不同层次使用不同工具
    • 不同层次的代码效率不同

    概念:

    • 透明性概念

      • 本来存在的事务或属性,从某个角度去看,却好像不存在

      • 如硬件的特性对C语言程序设计者而言就具有透明性

    • 系统观

      • 当硬件结构发生变化时要想到可能对软件产生的影响

      • 不同类型的软件对硬件有不同的要求

      • 编程的CPU硬件相关性,编程应查阅对应CPU的编程手册

    • 软硬件的分界线

      • 在指令集架构层
      • 软、硬件的接口,是指令操作硬件的接口
      • 指令格式及指令的设计与硬件关联

    2、计算机系统性能评价

    2.1 非时间指标

    机器字长:指机器一次能处理的二进制位数

    • 由加法器、寄存器的位数决定

    • 一般与内部寄存器的位数相等(字长)

    • 字长越长,表示数据的范围就越大,精确度越高

    • 目前常见的有32位和64位

      image-20230908093533996

    总线宽度:数据总线一次能并行传送的最大信息位数

    • 一般指运算器与存储器之间的数据总线位数
    • 有些计算机内部与外部数据总线宽度不一致
    • 8086、80286、80386内外数据总线等宽
    • 8088、80386SX外部总线宽度8位内部总线宽度16位
    • Pentinum外总线64位、内总线32位(两条32位流水线)

    image-20230908095604263

    主存容量与存储带宽

    • 主存容量
      • 是指一台计算机主存所包含的存储单元总数
    • 存储带宽
      • 指单位时间内与主存交换的二进制信息量,常用单位是B/s(字节/秒)。(影响存储带宽的指标包括数据位宽和数据传输速率)

    2.2 时间指标

    1)主频f/时钟周期T,外频、倍率

    • 主频f(周期/秒)

      指CPU内核工作的时钟频率,即CPU内数字脉冲信号振荡的速率,与CPU实际的运算能力之间不是唯一的、直接关系

    • 时钟周期T

      也称节拍周期,是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作

    • f与T的关系

      互为倒数,f越高,T就越小(f = 100MHz时T = 10ns,f = 1GHz时T = 1ns)

    • 外频

      指CPU(内存)与主板之间同步的时钟频率

    • 倍频

      CPU主频与外频之间的倍率

    主频 = 外频 × 倍频

    如:Pentium 4 2.4G CPU主频

    24000M = 133M(外频) × 18(倍频)

    2)CPI (Clock cycles Per Instruction)

    • 执行一条指令(平均)需要的时钟周期数(即T周期的个数)

    • 单条指令CPI、一段程序所有指令的CPI、指令系统CPI等

    CPI = 程序中所有指令的时钟周期之和 / 程序中指令总数

    ​ = ∑ \sum_{} (程序中各类指令的CPI × 程序中该类指令的比例)

    • IPC (Instruction per Clock)

      每个时钟周期内执行的指令条数(并行)

    3)MIPS (Million Instruction Per Second)

    • 每秒钟CPU能执行的指令条数(单位:百万条/秒)

      MIPS = 指令条数 / (执行时间 × 10^6)

      ​ = 指令条数 /(所有指令CPU时钟周期之和 / f × 10^6)

      ​ = f /( CPI × 10^6) (全性能公式)

    4)CPU时间

    • 执行一段程序所需的时间

      (CPU时间 + I/O时间 + 存储访问时间 + 各类排队时延等)

      ​ CPU时间 = 程序中所有指令的时钟周期之和 × T

      ​ = 程序中所有指令的时钟周期数之和 / f

    • 考虑CPI后的CPU时间

      CPU时间 = 总指令数 × ∑ i = 1 n \sum_{i=1}^{n} i=1n (CPI1 × ICi / 总指令数) × 时钟周期时间

    ​ = 总指令数 × CPI × T

    • 考虑MIPS后的CPU时间

      MIPS = 指令数量 / 执行指令的时间 × 10^6

      程序的执行时间 t = 指令数量 / MIPS × 10^6

    3、计算机性能测试

    3.1 目的

    • 全面了解所测试计算机的性能
    • 实时掌握计算机的工作状态
    • 为对比、评估、维护提供依据
    • ……

    3.2 基本原理

    • 计算机系统中配置了大量的传感器和寄存器,系统运行的相关参数保存在对应的寄存器中
    • 测试程序通过读取对应寄存器的值获得系统运行的状况
    • 通过图形 / 数据方式显示获取的状态数值

    3.3 常见的测试工具

    1)CPU测试工具

    • CPUmark

      综合CPU测试,包括系统存储,浮点运算和逻辑运算;

    • SysID

      测试CPU电压,运行频率, L1、L2 Cache以及各项技术资料;

    • Hot CPU Tester

      可测试机器稳定性,尤其是超频后的稳定性,找出CPU的最高超频点或缺陷,还可检测CPU的详细性能指标并给出量化的分数值。包括「复杂矩阵」「排序算法「快速傅立叶变换」 「CPU 缓存」「内存」「硬盘」 及指令集等。另外其CPU/Mem Burn-in )还可以作为新购机时的烤机软件来使用。

    2)显卡测试工具

    • 3DMark

      除衡量显卡性能外,已渐渐转变成一款衡量整机性能的软件已发行3Dmark99、3Dmark 11和The new 3DMark等近10个版本;

    • N-Bench2

      重点测试CPU以及系统图形性能;

    • FurMark

      通过皮毛渲染算法来衡量显卡的性能及其稳定性,提供了全屏/窗口、预定分辨率、基于时间或帧的测试、多种多重采样反锯齿、竞赛等多种模式。

    3)硬盘测试工具

    • Hard Disk Speed

      硬盘测速软件;

    • Disk Benchmark

      通过对不同大小的数据块对磁盘读/写速度的影响检测硬盘、U盘、存储卡及其它可移动磁盘的读/写入速率;

    • iometer

      可被配置为基准测试程序的磁盘和网络I/O的负载,可测试磁盘和网络控制器的性能、总线带宽和时延等参数;

    • HDD Temperature Pro

      硬盘温度探测软件。

    4)内存测试工具

    • CTSPD

      选择主板厂商及型号后可详细测试内存的信息,包括:CAS
      latency (列地址选通时延)、RAS to CAS delay(RAS到CAS的相对延
      迟时间)、RAS precharge Trp (RAS预充电时间)、DIMM内存生产
      商和DIMM编号等信息。

    • Memory Speed

      通过读写不同大小的块状数据来测试内存的性能;

    • Memory Transfer Timing Utility

      通过对源文件和目标文件进行校
      正和非校正复制,测试内存的读、写速率;

    5)其他综合测试

    • 鲁大师

      国内最大的免费系统工具软件,拥有硬件检测、硬件测试、系
      统优化、节能降温、驱动安装等功能。

    • 其它测试工具:
      http://www.newsmth.net/nForum/#!article/CompMarket/523

  • 相关阅读:
    2023-11-7 OpenAI 45 分钟发布会:演示关于 GPT Store 构建 GPT、零代码创建 AI Agent
    1.3媒介视角的语言观
    java毕业设计在线课程教学大纲系统Mybatis+系统+数据库+调试部署
    【前端vue面试】vue2
    GBDT算法原理以及实例理解(含Python代码简单实现版)
    Sui主网升级至V1.10.1版本
    Android studio连接MySQL并完成简单的登录注册功能
    阿里云服务器快照收费怎么停止?
    C++:C++入门基础
    C#序列化与反序列化详解
  • 原文地址:https://blog.csdn.net/qq_62254095/article/details/132756886