计算机系统概论

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

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

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

1.2 冯诺依曼计算机的组成

1.2.1 硬件系统

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

运算器

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

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

控制器

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

存储器

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

输入/输出设备

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

1.2.2 软件系统

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

类型大致分为三种:

  • 系统软件
    • 如操作系统、网络系统和编译系统
  • 支持软件
    • 开发工具、界面工具等
  • 应用软件
    • 字处理软件、游戏软件

1.2.3 硬件与软件的关系

  • 相互依存

  • 逻辑等效性

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

  • 协调发展

1.3 计算机的层次结构

基本认识:

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

概念:

  • 透明性概念

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

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

  • 系统观

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

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

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

  • 软硬件的分界线

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

2、计算机系统性能评价

2.1 非时间指标

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

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

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

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

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

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

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

主存容量与存储带宽

  • 主存容量
    • 是指一台计算机主存所包含的存储单元总数
  • 存储带宽
    • 指单位时间内与主存交换的二进制信息量,常用单位是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=1∑n (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)其他综合测试

相关推荐
2401_857439691 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna2 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
xlsw_2 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
Dream_Snowar3 小时前
速通Python 第三节
开发语言·python
高山我梦口香糖4 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
信号处理学渣4 小时前
matlab画图,选择性显示legend标签
开发语言·matlab
红龙创客4 小时前
某狐畅游24校招-C++开发岗笔试(单选题)
开发语言·c++
jasmine s4 小时前
Pandas
开发语言·python
biomooc5 小时前
R 语言 | 绘图的文字格式(绘制上标、下标、斜体、文字标注等)
开发语言·r语言
骇客野人5 小时前
【JAVA】JAVA接口公共返回体ResponseData封装
java·开发语言