计算机组成原理【CO】Ch1 计算机系统概述

2024-04-13 18:04

本文主要是介绍计算机组成原理【CO】Ch1 计算机系统概述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

冯诺依曼机的特点

  • 指令和数据以同等地位存储在存储器中,并按地址寻问
    • 按存储单元的地址进行存取
  • 指令和数据均以二进制代码表示
    • CPU区分指令和数据的依据是指令周期的不同阶段。取值IF阶段是指令,译码ID阶段是数据
    • 数据由指令的地址码给出
  • 指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下可根据运算结果或根据设定的条件改变执行顺序
  • 早期冯诺依曼机以运算器为中心,输入输出设备通过运算器与存储器传送数据
    • 现代是以存储器为中心
  • 是单处理机
  • 基本工作方式是控制流驱动方式[存储程序思想]
    • 控制流驱动:从程序存储器中拿到操作指令后,再去数据存储器中取操作数进行计算;[在程序执行前, 指令和数据需预先存放在存储器中, 中央处理器可以从存储器存取代码]
    • 数据流驱动:只要数据已经准备好,有关的指令可并行执行。

【※】计算机性能指标

主频和CPU时钟周期

  • 主频:机器内部主时钟的频率,代表每秒执行多少个时钟周期数
    • 值越大代表一个操作所需时间越少,CPU运行速度越快
  • CPU时钟周期:通常为节拍脉冲或T周期,即主频的倒数
    • 是CPU中最小的时间单位,每个动作至少需要1个时钟周期
  • 时钟周期=1/主频,如主频为2.4GHz,则时钟周期=1/2.4G 秒

CPI

  • 执行一条指令所需要的时钟周期数
  • CPI与系统结构,指令集,计算机组织有关,与时钟频率无关
    • 时钟频率并不会影响CPI,但可加快指令的执行速度。
    • 例如,执行一条指令需要10个时钟周期,则一台主频为1GHz的CPU,执行这条指令要比一台主频为100MHz的CPU快。
  • CPI=时钟周期数量/指令数量

CPU执行时间

  • 运行一个程序所花费的时间
  • 执行时间= 时钟周期数量×时钟周期

Ch1 计算机系统概述

冯诺依曼机的特点

  • 指令和数据以同等地位存储在存储器中,并按地址寻问
    • 按存储单元的地址进行存取
  • 指令和数据均以二进制代码表示
    • CPU区分指令和数据的依据是指令周期的不同阶段。取值IF阶段是指令,译码ID阶段是数据
    • 数据由指令的地址码给出
  • 指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下可根据运算结果或根据设定的条件改变执行顺序
  • 早期冯诺依曼机以运算器为中心,输入输出设备通过运算器与存储器传送数据
    • 现代是以存储器为中心
  • 是单处理机
  • 基本工作方式是控制流驱动方式[存储程序思想]
    • 控制流驱动:从程序存储器中拿到操作指令后,再去数据存储器中取操作数进行计算;[在程序执行前, 指令和数据需预先存放在存储器中, 中央处理器可以从存储器存取代码]
    • 数据流驱动:只要数据已经准备好,有关的指令可并行执行。

【※】计算机性能指标

主频和CPU时钟周期

  • 主频:机器内部主时钟的频率,代表每秒执行多少个时钟周期数
    • 值越大代表一个操作所需时间越少,CPU运行速度越快
  • CPU时钟周期:通常为节拍脉冲或T周期,即主频的倒数
    • 是CPU中最小的时间单位,每个动作至少需要1个时钟周期
  • 时钟周期=1/主频,如主频为2.4GHz,则时钟周期=1/2.4G 秒

CPI

  • 执行一条指令所需要的时钟周期数
  • CPI与系统结构,指令集,计算机组织有关,与时钟频率无关
    • 时钟频率并不会影响CPI,但可加快指令的执行速度。
    • 例如,执行一条指令需要10个时钟周期,则一台主频为1GHz的CPU,执行这条指令要比一台主频为100MHz的CPU快。
  • CPI=时钟周期数量/指令数量

CPU执行时间

  • 运行一个程序所花费的时间
  • 执行时间= 时钟周期数量×时钟周期

MIPS

  • MIPS:每秒执行多少百万条指令 [Million instructions per second]
    • M I P S = 指令条数 / ( 执行时间 × 1 0 6 ) = 主频 / ( C P I × 1 0 6 ) MIPS=指令条数/(执行时间×10^6)=主频/(CPI×10^6) MIPS=指令条数/(执行时间×106)=主频/(CPI×106)
  • MFLOPS:每秒执行多少百万次浮点运算
    • M F L O P S = 浮点操作数次数 / ( 执行时间 ∗ 1 0 6 ) MFLOPS = 浮点操作数次数/(执行时间 * 10^6) MFLOPS=浮点操作数次数/(执行时间106)
  • GFLOPS:每秒执行多少十亿次浮点运算
    • G F L O P S = 浮点操作数次数 / ( 执行时间 ∗ 1 0 9 ) GFLOPS = 浮点操作数次数/(执行时间 * 10^9) GFLOPS=浮点操作数次数/(执行时间109)
  • TFLOPS:每秒执行多少万亿次浮点运算
    • T F L O P S = 浮点操作数次数 / ( 执行时间 ∗ 1 0 12 ) TFLOPS = 浮点操作数次数/(执行时间 * 10^{12}) TFLOPS=浮点操作数次数/(执行时间1012)
  • P F L O P S = 浮点操作数次数 / ( 执行时间 ∗ 1 0 15 ) PFLOPS = 浮点操作数次数/(执行时间 * 10^{15}) PFLOPS=浮点操作数次数/(执行时间1015)
  • E F L O P S = 浮点操作数次数 / ( 执行时间 ∗ 1 0 18 ) EFLOPS = 浮点操作数次数/(执行时间 * 10^{18}) EFLOPS=浮点操作数次数/(执行时间1018)
  • Z F L O P S = 浮点操作数次数 / ( 执行时间 ∗ 1 0 21 ) ZFLOPS = 浮点操作数次数/(执行时间 * 10^{21}) ZFLOPS=浮点操作数次数/(执行时间1021)
  • MGTPEZ

工作频率, 时钟频率之间的关系

假设总线传送一次数据是由N个时钟周期完成.

  • 1 / 工作频率 1/工作频率 1/工作频率:表示每次完成数据传输所花费的时间
  • 1 / 时钟频率 1/时钟频率 1/时钟频率:表示每次执行1个时钟周期所花费的时间

又因为每次完成传输数据都需要经过N个时钟周期来完成,根据时间关系所以有:

工作频率 = 时钟频率 / N 工作频率 = 时钟频率/N 工作频率=时钟频率/N

【※】各种字长的概念

指令字长

  • 指令中包含二进制代码的位数,即一条指令的总长度
  • 取决于:
    • 操作码的位数(即多少操作)
    • 操作数地址的长度(取决于主存的大小,如果容量为1GB的主存按字节寻址,每个操作数地址的长度都需要30位地址码)
    • 操作数地址的个数(四、三、二、一、零地址等)。
  • 为了硬件设计方便,指令字长一般取字节或存储字长的整数倍。
  • 如果指令字长等于存储字长的2倍,那么需要2次访存,那么取指周期就等于机器周期的2倍。

机器字长

  • CPU进行一次整数运算所能处理的二进制数据的位数
  • 通常和ALU直接相关,由运算器内部寄存器决定【一般相等】。
  • 反映了计算机的处理信息的能力
  • 等于计算机的字长
  • 是一个硬件概念

存储字长

  • 是指一个存储单元存储的二进制代码(存储字)的长度。
  • 通常和MDR位数相同。
  • 一般情况下等于机器字长,也可以是机器字长的倍数

数据通路带宽

  • 数据总线一次可以传递的位数,通常大于MDR位数

操作系统位数

  • OS 可以寻址的位数,是软件概念

机器字长、指令字长和存储字长,三者在数值上可以相等也可以不等,视不同机器而定。

【※】各种周期概念

在这里插入图片描述

指令周期

  • 从一条指令的启动到下一条指令启动所经历的时间。
  • 通常由多个机器周期组成。
  • CPU每取出并执行一条指令所需的全部时间,即CPU完成一条指令的时间,称为指令周期。

时钟周期(节拍周期)

  • 计算机主频周期,通常将一个时钟周期定义为一个节拍。
  • 时钟周期是计算机操作的最小单位时间,由计算机的主频决定,是主频的倒数。
  • 工作脉冲是控制器的最小时间单位,起定时触发作用,一个时钟周期有一个工作脉冲。

机器周期(CPU周期)

  • 在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作,如取指令、存储器读、存储器写等,每一项工作称为一个基本操作。
  • 完成一个基本操作所需的时间称为机器周期,也称为CPU工作周期或基本周期,通常等于取指时间(或访存时间)。
  • 一般情况下,一个机器周期由若干个时钟周期构成。

总线周期

  • CPU对存储器和I/O接口的访问通过总线实现。
  • 把CPU通过总线对存储器或I/O接口进行一次访问所需时间称为一个总线周期。
  • 总线的传输周期(总线周期):一次总线操作所需的时间(包括申请阶段、寻址阶段、传输阶段和结束阶段)通常由若干个总线时钟周期构成。

微指令周期

  • 读出微指令的时间加上执行该条微指令的时间。
  • 注意:微指令周期常取成和机器周期相等。

存取周期

  • 存取周期指存储器进行连续两次独立的存储器操作(要么连续两次读操作,要么连续两次写操作)所需的最小间隔时间。
  • 存取周期 = 存取时间 + 恢复时间
  • 存取时间又称为存储器的访问时间,指启动一次存储器操作(读或写)到完成该操作所需的全部时间。
  • 存取时间分为读出时间和写入时间两种。

CPU访存的过程

  • CPU通过总线把数据地址送给存储器。
  • 存储器得到地址后启动存储器即准备数据。
  • CPU输出控制信号或其他操作。
  • 数据准备完毕【此过程完成数据准备即一个存储周期】,再由总线送回CPU。

存储周期与总线周期

  • 一个存储周期是对存储器的两次存取操作的时间间隔,在这个时间间隔里面可以包含多个总线传输周期,因为一次存取操作不一定读取一个数据总线宽度的数据,所以一个存取周期可以包含多个总线传输周期。
  • 所以,通常存储周期 > 总线周期,CPU不能连续存取数据,必须等待。
  • 为提高传输效率,由此也引出了两个概念:
    • 总线突发传输方式:即总线可以在一个总线周期内传输一个地址和一批地址连续的数据,代替常规传输的一个地址一个数据。
    • 多体并行存储器:存储器采用多个存储模块组成,以流水线方式准备数据,从而提高存储带宽。

【※】各种线的条数的确定

  • 地址总线线数 —> 可寻址的范围 —> 存储器最大容量【存储单元的个数】—>一般和MAR的位数一样
  • 数据总线线数 —> 一次可取的数据位数 —> MDR的位数 —> 运算器一次处理的位数 —>运算器寄存器位数—>通常与存储字长相等 —>n位CPU的n
  • 控制总线线数 —> 一次可并行传送的控制信息位数
  • IO线数 —> 与外设通信的并行程度

【※】从源文件到可执行文件

三种程序转换图

在这里插入图片描述

  • 三个语言:

    • 机器语言:是计算机唯一可以直接识别和执行的语言
    • 汇编语言:由汇编程序(系统软件)汇编成为机器语言后,才能执行
    • 高级语言:
      • 如C,C++,Java
      • 一种是经过编译程序,编译得到汇编语言,然后经过汇编操作,得到机器语言,然后再执行【高级语言->汇编语言->机器语言】
      • 一种是由高级语言程序直接翻译成机器语言(边翻译边执行,不生成可执行文件)【高级语言->机器语言】
  • 三种程序:

    • 汇编程序(汇编器) :将汇编语言程序翻译为机器语言程序。
    • 编译程序(编译器) :将高级语言源程序一次翻译成目标程序(汇编语言或机器语言)
    • 解释程序(解释器) :将源程序的一条语句翻译成对应的机器目标代码并立即执行,并不形成目标程序。
  • 预处理阶段:预处理器(cpp) 根据以字符#开头的命令,修改原始的C程序,得到另一个C程序,通常以i作为文件扩展名。

  • 编译阶段:编译器(ccl) 将文本文件hello.i翻译成文本文件hello.s,它包含一个汇编语言程序。

  • 汇编阶段:汇编器(as)将hello.s翻译成机器语言指令,把这些指令打包成一种叫做可重定位目标程序的格式,并将结果保存在目标文件hello.o中。

  • 链接阶段:hello程序调用了printf函数,printf函数存在于一个名为prntf.o的单独的一个预编译好了的目标文件中,而这个文件必须以某种方式合并到我们的hello.o程序中。链接器(ld) 就负责处理这种合并。结果得到hello文件,它是一个可执行目标文件,可以被加载到内存中,由系统执行。

应用软件和系统软件

应用软件

  • 办公软件
  • 多媒体软件
  • 辅助设计软件
  • 企业应用软件
  • 网络应用软件
  • 安全防范软件
  • 科学计算类软件
  • 工程设计类程序
  • 数据统计与处理程序
  • 娱乐休闲软件
  • 数据库系统

系统软件

  • 操作系统
  • 网络服务程序【连接程序】
  • 语言处理程序【编译程序】
  • 数据库管理系统
  • 软件系统
  • 分布式系统
  • 程序设计语言
  • 其他实用程序和工具

这篇关于计算机组成原理【CO】Ch1 计算机系统概述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/900834

相关文章

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

软件设计师备考——计算机系统

学习内容源自「软件设计师」 上午题 #1 计算机系统_哔哩哔哩_bilibili 目录 1.1.1 计算机系统硬件基本组成 1.1.2 中央处理单元 1.CPU 的功能 1)运算器 2)控制器 RISC && CISC 流水线控制 存储器  Cache 中断 输入输出IO控制方式 程序查询方式 中断驱动方式 直接存储器方式(DMA)  ​编辑 总线 ​编辑