当前位置: 首页 > article >正文

1.1 计算机系统概述

2024年11月19日 bok网课 组成原理

目录

  1. 从源文件到可执行文件
  2. 冯诺依曼机
  3. 系统的硬件组成
  4. 语言与翻译程序
  5. 计算机的性能指标

1.从源文件到可执行文件

  • 预处理阶段:预处理器(cpp)根据以字符#开头的命令,修改原始的C程序,得到另一个C程序,通常以.i作为文件扩展名。
  • 编译阶段:编译器(ccl)将文本文件hello.翻译成文本文件hello.s,它包含一个汇编语言程序
  • 汇编阶段:汇编器(as)将hello.s翻译成机器语言指令,把这些指令打包成一种叫做可重定位目标程序的格式,并将结果保存在目标文件hello.o中。
  • 链接阶段:hello程序调用了printf函数,printf函数存在于一个名为printf.o的单独的一个预编译好了的目标文件中,而这个文件必须以某种方式合并到我们的hello.o程序中。链接器(ld)就负责处理这种合并。结果得到hello文件,它是一个可执行目标文件,可以被加载到内存中,由系统执行。

2.冯诺依曼机

冯诺依曼机基本思想

  • 采用存储程序的工作方式。存储程序的基本思想是:将事先编制好的程序和原始数据送入主存后才能执行,一旦程序被启动执行,就无须操作人员的干预,计算机会自动逐条执行指令,直至程序结束。
  • 计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5大部件组成。
  • 指令和数据以同等地位存储在存储器中,形式上没有区别,但计算机能够区分它们。
  • 指令和数据均用二进制代码表示。

“存储程序”工作方式

  • 程序执行前,先把程序第一条指令的地址放入PC中。
  • 按照PC的内容作为地址访问主存,取出指令。
  • 取出指令后,计算机自动计算下调将执行指令的地址,并即刻送至PC。我们常用PC<-PC+”1”代表这个操作,其中“1”并非单纯地给PC存放的地址加1,而是将此时PC的内容加上当前指令的长度。
  • 当前指令执行完后,根据PC的值到主存中即可取出下条将要执行的指令,从而周而复始地取出并执行一条条的指令。

3.系统的硬件组成

总线

  • 贯穿整个系统的一组电子管道称为总线。
  • 它携带信息字节并负责在各个部件间传递。

I/O设备

  • 系统与外部世界的联系通道。
  • 每个I/O设备都通过一个控制器/适配器与I/O总线相连,二者的功能都是在I/O总线和I/O设备之间传递信息。

主存

  • 一个临时存储设备,在处理器执行程序时,用来存放程序和程序处理的数据。
  • 从物理上来说,主存由一组DRAM芯片组成。
  • 从逻辑上来说,存储器是一个线性的数组,每个字节都有其唯一的地址(按字节编址),这些地址是从零开始的。

CPU/处理器

  • 解释/执行存储在主存中指令的引擎。
  • CPU核心是一个大小为一个字的存储设备,称为程序计数器(PC)。任何时候,PC都指向主存中的某条机器语言指令。
  • CPU内部包含运算器和控制器,前者用于接收从控制器送来的命令并执行相应的动作,对数据进行加工和处理;后者作整个系统的指挥中枢,根据指令的要求指挥协调全机工作。

4.语言与翻译程序

三个级别的语言:

  • 机器语言:计算机唯一可以直接识别和执行的语言。
  • 汇编语言:用英文单词或其缩写代替二进制的指令代码,更容易记忆和理解。
  • 高级语言:如C、C++等,方便程序设计人员写出解决问题的处理方案等程序。

三种程序:

  • 汇编程序(汇编器):将汇编语言程序翻译为机器语言程序。
  • 编译程序(编译器):将高级语言源程序一次翻译成目标程序(汇编语言、机器语言)。
  • 解释程序(解释器):将源程序的一条语句翻译成对应的机器目标代码并立即执行,并不形成目标程序。

编译程序产生目标代码的执行速度比解释程序的执行速度快。

5.计算机的性能指标

字长

机器字长:

  • 计算机进行一次整数运算所能处理的二进制数据的位数。
  • 通常与CPU的寄存器位数、加法器有关。

存储字长:

  • 一个存储单元存储的二进制代码的位数。
  • 一般情况下等于机器字长,也可以是机器字长的整数倍。

指令字长:

  • 一个指令字中包含的二进制代码的位数。
  • 可以等于存储字长,也可以取存储字长的整数倍。
  • 若指令字长等于存储字长,那么取指周期等于机器周期。

周期

时钟周期:

  • 由CPU时钟定义的定长时间间隔,是CPU工作的最小时间单位。
  • 可以理解成CPU内部有一个节拍器,每一个节拍的长度就是一个时钟周期。

机器周期:

  • 也称为CPU周期。
  • 为了便于管理,常把一条指令的执行过程划分为若干个阶段(如取指、译码、执行等),每一阶段完成一个基本操作。完成一个基本操作所需要的时间称为机器周期。
  • 一般情况下,一个机器周期由若干个时钟周期组成。

指令周期

  • CPU要执行一条机器指令经过的时间,由若干机器周期组成。
  • 指令周期的时长由指令具体要执行的操作决定。

主频

  • 机器内部时钟的频率,是衡量机器速度的重要参数。对于同一个型号的计算机,其主频越高,完成指令的一个执行步骤所用的时间越短,执行指令的速度越快。
  • 主频通常以Hz为单位,1Hz表示每秒一次。
  • CPU时钟周期=1/主频。
  • 1kHz=每秒10^3次=CPU时钟周期为1/10^3S=每秒10^3个时钟周期。

CPI

  • Cycle Per Instruction,即执行一条指令所需的时钟周期数。
  • CPI一般是一个平均值,对于一个程序来说,其CPI指这个程序的所有指令执行所需的平均时钟周期数。
    执行一条指令的耗时=CPIxCPU时钟周期。

CPU执行时间

  • 指运行一个程序所花费的时间,
  • CPU执行时间=CPU时钟周期数/主频=(指令条数xCPI)/主频=CPU时钟周期数xCPU时钟周期

MIPS

  • Million Instructions Per Second,即每秒执行多少百万条指令。
  • MIPS=指令条数/(执行时间×10^6)=主频/(CPIx10^6)


http://www.kler.cn/a/401348.html

相关文章:

  • 深入解析大带宽服务器:性能优势与选择指南
  • web——upload-labs——第十二关——%00截断
  • Java 全栈知识体系
  • c++数字雨实现
  • 物联网——UNIX时间戳、BKP备份寄存器、RTC时钟
  • 《Django 5 By Example》阅读笔记:p645-p650
  • 小Q和小S的游戏 | BFS
  • 【C++】第九节:list
  • Ease Monitor 会把基础层,中间件层的监控数据和服务的监控数据打通,从总体的视角提供监控分析
  • 企业供配电及用电一体化微电网能源管理系统
  • 【Linux】多用户协作
  • 深入解析TK技术下视频音频不同步的成因与解决方案
  • 计算机网络(12)介质访问控制
  • 高光谱遥感是什么?高光谱遥感数据如何处理?(基于Matlab和Python多案例解析)从小白到精通
  • 高可用服务器磁盘,如何做磁盘阵列raid5
  • docker容器之间的卷共享
  • Cenos7利用docker部署mysql报错-request canceled while waiting for connection
  • web——upload-labs——第九关——特殊字符::$DATA绕过
  • 关于网络安全攻防演化博弈的研究小议
  • 豆包MarsCode算法题:完美整数
  • Spring Boot图书馆管理系统:疫情下的解决方案
  • Preamble puncture 信号处理技术
  • 24.11.19 web框架
  • 百度世界2024:智能体引领AI应用新纪元
  • ALS 推荐算法案例演示(python)
  • Axure PR 9 穿梭框 设计交互