计算机组成原理【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

相关文章

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

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

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

文章目录 前言一、协同过滤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)  ​编辑 总线 ​编辑

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

hdu4407容斥原理

题意: 有一个元素为 1~n 的数列{An},有2种操作(1000次): 1、求某段区间 [a,b] 中与 p 互质的数的和。 2、将数列中某个位置元素的值改变。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.Inpu

hdu4059容斥原理

求1-n中与n互质的数的4次方之和 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWrit

寻迹模块TCRT5000的应用原理和功能实现(基于STM32)

目录 概述 1 认识TCRT5000 1.1 模块介绍 1.2 电气特性 2 系统应用 2.1 系统架构 2.2 STM32Cube创建工程 3 功能实现 3.1 代码实现 3.2 源代码文件 4 功能测试 4.1 检测黑线状态 4.2 未检测黑线状态 概述 本文主要介绍TCRT5000模块的使用原理,包括该模块的硬件实现方式,电路实现原理,还使用STM32类