计算机组成原理 1 概论

news/2024/7/21 6:47:34 标签: 电脑

 主要内容

介绍运算器、控制器、存储器结构、工作原理、设计方法互连构成整机的技术。

主要内容:

◼ 数值表示与运算方法

◼ 运算器的功能、组成和基本运行原理

◼ 存储器及层次存储系统

◼ 指令系统

◼ CPU功能、组成和运行原理

◼ 流水线

◼ 系统总线

◼ 输入输出系

 前置知识

  • C语言程序设计
  • 数值逻辑:组合电路、同步电路概念、寄存器传输、有限状态机
  • 汇编语言程序设计:能看懂指令即可
  • Verilog硬件描述语言:作为实验工具(可选)

冯诺依曼体系结构原理

  • 采用二进制
  • 存储程序:将程序存放在计算机的存储器中
  • 程序控制:指令地址访问存储器并取出指令,经译码依次产生指令执行所需的控制信号,实现对计算的控制,完成指令的功能。
  • ·诺伊曼机体系(延续至今)

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

        运算器

        功能:执行算数运算、逻辑运算。

        基本结构:ALU (Arithmetic Logical Unit) 、寄存器、连接通路

        控制器 

        功能:产生指令执行过程所需要的所有控制信号(电平信号、 脉冲信号),控制相关功能部件执行相应操作。

        产生信号的依据:指令、状态、 时序

        产生方式:微程序、 硬布线。

存储器 

        功能:存储原程序、 原数据、运算中间结果。

        工作模式:读/写

        工作原理:按地址访问, 读/写数据。

        容量➡地址线数量

        1K➡10

        1M ➡ 20

        1G ➡ 30

 输入/输出设备

        输入设备:向计算机输入数据(键盘、鼠标、网卡、扫描仪等)

        输出设备:输出处理结果(显示器、声卡、网卡、打印机等)

软件系统

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

        分类

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

        计算机层次结构

        硬件与软件系统间的关系

                相互依存、 协同发展、 逻辑等效性(某些功能软硬都可实现)

                软硬分界线:分界线即软、硬件的接口,是指令操作硬件的入口;

计算机系统性能评价

      非时间指标

                机器字长

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

  • 由加法器、寄存器的位数决定;
  • 一般与内部寄存器的位数相等(字长);
  • 字长越长,表示数据的范围就越大,精确度越高;
  • 目前常见的有32位和64位字长。

                总线宽度

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

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

                主存容量与存储带宽 

        主存容量:是指一台计算机主存所包含的存储单元总数。

        存储带宽: 指单位时间内与主存交换的二进制信息量, 常用单位B/s(字节/秒)。(影响存储带宽的指标包括数据位宽和数据传输速率)。

        时间指标 

                主频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主频 2400M = 133M (外频) × 18 (倍频)

        CPI (Clock cycles Per Instruction) 

         执行一条指令(平均)需要的时钟周期数(即T周期的个数),有单条指令CPI 、一段程序中所有指令的CPI、指令系统CPI 等

        CPI = 程序中所有指令的时钟周期数之和 / 程序指令总数 = \sum(程序中各类指令的CPI ×程序中该类指令的比例)

        IPC (Instruction per Clock):每个时钟周期内执行的指令条数 (并行)

        实际上频率和IPC在真正影响CPU性能。

        准确的CPU性能判断标准应该是:(由英特尔提出并被业界广泛认可)

                CPU性能=IPC(CPU每一时钟周期内所执行的指令多少)×频率(MHz时钟速度)

        MIPS (Million Instructions Per Second)

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

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

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

                  = f  / (CPI × 10^6) 

                CPU时间 

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

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

                执行一段程序所需的时间:CPU时间+ I/O时间 + 存储访问时间+ 各类排队时延等。

                计算CPU时间:

                或者由MIPS = 指令条数 / (执行时间×10^6) 得:程序执行时间t = 指令数量 / (MIPS ×10^6

计算机性能测试

        测试的基本原理

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

        CPU测试工具

  •         CPUmark : 综合CPU测试,包括系统存储,浮点运算和逻辑运算;
  •         SysID : 测试CPU电压,运行频率,L1 、L2 Cache等;
  •         Hot CPU Tester :可测试机器稳定性,尤其是超频后的稳定性,找出 CPU 的最高超频点或缺陷,还可检测CPU的详细性能指标并给出量化的分数值。

        显卡测试工具

  •         3DMark :除衡量显卡性能外,已渐渐转变成一款衡量整机性能的软件;
  •         N-Bench2: 重点测试CPU以及系统图形性能;
  •         FurMark:通过皮毛渲染算法来衡量显卡的性能及其稳定性。

        硬盘测试工具 

  •         Hard Disk Speed : 硬盘测速软件;
  •         Disk Benchmark : 通过对不同大小的数据块对磁盘读/写速度的影响, 检测硬盘、U盘、 存储卡及其它可移动磁盘的读/写入速率 ;
  •         iometer : 可被配置为基准测试程序的磁盘和网络I/O的负载,可测试磁盘和网络控制器的性能、总线带宽和时延等参数;
  •         HDD Temperature Pro: 硬盘温度探测软件。 

        内存测试工具 

  •         CTSPD :选择主板厂商及型号后可详细测试内存的信息,包括:CAS latency (列地址选通时延)、RAS to CAS delay(RAS到CAS的相对延迟时间)、RAS precharge Trp (RAS预充电时间)、DIMM内存生产厂商和DIMM编号等信息。
  •         Memory Speed: 通过读写不同大小的块状数据来测试内存的性能;
  •         Memory Transfer Timing Utility :通过对源文件和目标文件进行校正和非校正复制,测试内存的读、写速率; 

http://www.niftyadmin.cn/n/5374952.html

相关文章

C++,stl,map/multimap详解

目录 1.map的构造和赋值 2.map的大小和交换 3.map的插入和删除 4.map的查找和统计 5.map的排序 1.map的构造和赋值 #include<bits/stdc.h> using namespace std;void print(map<int,int> &mp) {for(map<int,int>::iterator it mp.begin(); it ! m…

GO 的 Web 开发系列(五)—— 使用 Swagger 生成一份好看的接口文档

经过前面的文章&#xff0c;已经完成了 Web 系统基础功能的搭建&#xff0c;也实现了 API 接口、HTML 模板渲染等功能。接下来要做的就是使用 Swagger 工具&#xff0c;为这些 Api 接口生成一份好看的接口文档。 一、写注释 注释是 Swagger 的灵魂&#xff0c;Swagger 是通过…

操作字符串之子串替换-13-${string//substring/replacement}

1.${string//substring/replacement} 使用$replacement来替换所有匹配的$substring 2.实例 操作字符串样例&#xff1a;stringabc123ABC456xyzabc 字符串操作默认从左边开始进行 命令&#xff1a; echo ${string//abc/ZTJ} [rootkibana ~]# echo ${string//abc/ZTJ} ZTJ…

c++ 一个头文件包含多个头文件预处理编译指令#ifndef cin

一个头文件包含多个头文件 #ifndef MERGED_HEADER_H #define MERGED_HEADER_H#ifndef MATH_UTILS_H #include "math_utils.h" #endif#ifndef STRING_UTILS_H #include "string_utils.h" #endif#endif在其他源文件中&#xff0c;只需包含 merged_header.h …

《直到黎明》中的人物性格——萨曼莎·戈登

在Supermassive Games开发的交互式恐怖冒险游戏《直到黎明》中,萨曼莎戈登是一位关键角色,其性格塑造丰富而立体,包含了多重维度的人性刻画。以下将从几个核心性格特点出发,深入探讨萨曼莎戈登这一角色。 一、勇敢坚韧 萨曼莎面对游戏中极端恶劣的生存环境与持续不断的恐怖…

UE5 播放本地MP3、MP4

1.创建一个媒体播放器 2.如创建视频&#xff0c;勾选。 它会多一个媒体纹理给你 3.1 设置音频 在一个actor上添加“媒体音频组件” “音频媒体播放器”赋值给它 3.2播放音频 添加一个音频媒体播放器变量&#xff0c; 赋值 地址使用绝对地址 4.1设置视频 UI上创建一个imag…

797. 差分

Problem: 797. 差分 文章目录 思路解题方法复杂度Code 思路 这是一个差分数组的问题。差分数组的主要适用场景是频繁对原始数组的某一个区间进行增减操作。这种操作是区间修改操作&#xff0c;在这种操作下&#xff0c;差分数组只需要对区间的两个端点进行操作&#xff0c;时间…

2.11日学习打卡----初学RocketMQ(二)

2.11日学习打卡 一. RocketMQ整合springboot 首先配置pom.xml文件 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>annotationProcessor</scope></dependency><dependency>…