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.xdnf.cn/news/20264.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

刚刚!EI目录更新,213本期刊停止收录

刚刚&#xff0c;EI Compendex数据库发布了最新版收录期刊目录。 目录实际更新时间为2024年11月1日 2024年截止11月份EI数据库已更新3次&#xff0c;更新时间分别为2024年1月、2024年8月和2024年11月。 本次目录共收录期刊5643本&#xff0c;其中包含Journal类型4359本、Pr…

L0G2000 Python 基础知识

力扣用python3解题383. 赎金信 https://leetcode.cn/problems/ransom-note/description/ 题目&#xff1a; 给你两个字符串&#xff1a;ransomNote 和 magazine &#xff0c;判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以&#xff0c;返回 true &#xff1b;否…

STM32设计防丢防摔智能行李箱-分享

目录 目录 前言 一、本设计主要实现哪些很“开门”功能&#xff1f; 二、电路设计原理图 1.电路图采用Altium Designer进行设计&#xff1a; 2.实物展示图片 三、程序源代码设计 四、获取资料内容 前言 随着科技的不断发展&#xff0c;嵌入式系统、物联网技术、智能设备…

同步互斥相关习题2 8道 含详解

14 一组进程的执行顺序如下图所示&#xff0c;圆圈P1&#xff0c;P2&#xff0c;P3&#xff0c;P4&#xff0c;P5&#xff0c;P6表示进程&#xff0c;弧上的字母a,b&#xff0c;c, d,e,f,g,h表示同步信号量&#xff0c;请用P&#xff0c;V操作实现进程的同步。 semaphore a …

CDH大数据平台搭建

各大开源以及商用厂商的大数据产品汇总&#xff1a; https://zhuanlan.zhihu.com/p/675011462 Ambari 界面&#xff1a; 一、安装一个新的虚拟机 配置要求&#xff1a;8核&#xff0c;10G内存&#xff0c;最好是200G 修改yum源&#xff1a; 修改阿里云的镜像文件&#xff1…

500左右的骨传导耳机哪个牌子好?用户体验良好的五大骨传导耳机

作为一名拥有十几年从业经验的科技爱好者&#xff0c;我主要想告诉大家一些关于骨传导耳机的知识。其中&#xff0c;要远离所谓的不专业产品&#xff0c;它们的佩戴不适和音质不佳问题高得吓人&#xff0c;尤其是很多宣称能提供舒适佩戴和高音质的产品&#xff0c;超过九成的用…

【YOLOv11改进[注意力]】引入DA、FCA、SA、SC、SE + 含全部代码和详细修改方式

本文将进行在YOLOv11中引入DA、FCA、SA、SC、SE魔改v11,文中含全部代码、详细修改方式。助您轻松理解改进的方法。 一 DA、FCA、SA、SC、SE ① DA 论文:Dual Attention Network for Scene Segm

捉虫笔记(六)-谁把系统卡住了?

06-谁把系统卡住了&#xff1f; 1、现象 QA反馈&#xff0c;在软件退出的时候&#xff0c;会把整个系统卡住&#xff0c;将近40s。我第一反应这么离谱&#xff0c;我们的软件有这么大的“魅力”&#xff0c;将老大哥抖三抖。 我立马重现现场&#xff0c;果然如此。虽然没有Q…

网络安全之信息收集-实战-2

请注意&#xff0c;本文仅供合法和授权的渗透测试使用&#xff0c;任何未经授权的活动都是违法的。 目录 7、网络空间引擎搜索 8、github源码泄露 9、端口信息 10、框架指纹识别 11、WAF识别 12、后台查找 7、网络空间引擎搜索 FOFA&#xff1a;https://fofa.info/ 360 …

51c自动驾驶~合集30

我自己的原文哦~ https://blog.51cto.com/whaosoft/12086789 #跨越微小陷阱&#xff0c;行动更加稳健 目前四足机器人的全球市场上&#xff0c;市场份额最大的是哪个国家的企业&#xff1f;A.美国 B.中国 C.其他 波士顿动力四足机器人 云深处 绝影X30 四足机器人 &#x1f…

Java学习笔记--数组常见算法:数组翻转,冒泡排序,二分查找

一&#xff0c;数组翻转 1.概述:数组对称索引位置上的元素互换&#xff0c;最大值数组序号是数组长度减一 创建跳板temp&#xff0c;进行min和max的互换&#xff0c;然后min自增&#xff0c;max自减&#xff0c;当min>max的时候停止互换&#xff0c;代表到中间值 用代码实…

jquery 链模式调用简易实现

<script>// 定义一个名为A的构造函数&#xff0c;接受selector和context参数var A function (selector, context) {// 返回一个新的A.fn.init实例return new A.fn.init(selector, context);}// 设置A的原型和fn属性A.fn A.prototype { // 强化构造器:// 当显式地重写 …

无人机侦察打击方案(1)

​​​​​ 概述 任务来源于无人机侦察研制任务&#xff0c;涵盖无人机目标昼夜识别与跟踪、目标定位等功能任务。 组成及功能 无人机侦察系统设备构成如下图所示&#xff0c;分为光电云台、激光打击设备与操控端构成。 图 1 设备组成与链路 光电云台完成无人机目标自主识别…

Windows 系统通过 MSTSC 上传文件到 Windows 云服务器

操作场景 文件上传 Windows 云服务器的常用方法是使用 MSTSC 远程桌面连接&#xff08;Microsoft Terminal Services Client&#xff09;。本文档指导您使用本地 Windows 计算机通过远程桌面连接&#xff0c;将文件上传至 Windows 云服务器。 前提条件 请确保 Windows 云服务…

激光雷达定位初始化的另外一个方案 通过键盘按键移动当前位姿 (附python代码)

通常使用的是通过在 rviz 中点选指定初始化位置和方向来完成点云的初始化匹配。 但是这种粗略的初始化方法有时候可能不成功,因此需要使用准确的初始化方法,以更好的初始值进行无损检测配准。 为了提供更好的匹配初始值,我使用 Python 脚本获取键盘输入,并不断调整这个匹配…

枚举与lambda表达式,枚举实现单例模式为什么是安全的,lambda表达式与函数式接口的小九九~

目录 认识枚举 全文重点&#xff1a;枚举在单例模式中为什么是安全的&#xff1f; Lambda 表达式 概念&#xff1a; 函数式接口 lambda表达式的基本使用&#xff1a; lambda表达式的语法精简&#xff1a; lambda表达式的变量捕获 Lambda在集合当中的使用 在 Collecti…

【JAVA】一次操蛋的nginx镜像之旅

一、前言 由于我们的项目中使用到了nginx&#xff0c;同时我们的nginx是通过docker镜像进行安装的&#xff0c;由于nginx出现了问题&#xff0c;需要重新安装。于是。。。 二、通过docker进行安装 docker pull nginx:latest 1.5.2 脚本文件 在/home/docker/script路径下创…

高并发场景下的热点key问题探析与应对策略

目录 一、问题描述 二、发现机制 三、解决策略分析 &#xff08;一&#xff09;解决策略一&#xff1a;多级缓存策略 客户端本地缓存 代理节点本地缓存 &#xff08;二&#xff09;解决策略二&#xff1a;多副本策略 &#xff08;三&#xff09;解决策略三&#xff1a;热点…

.NET 9 的新增功能

文章目录 前言一、.NET 运行时二、序列化三、缩进选项四、默认 Web 选项五、LINQ六、集合七、PriorityQueue.Remove() 方法八、密码九、CryptographicOperations.HashData() 方法十、KMAC 算法十一、反射十二、性能十三、循环优化十四、本机 AOT 的内联改进十五、PGO 改进&…

11.19.2024刷华为OD

文章目录 HJ51HJ53 杨辉三角HJ56HJ57 高精度整数加法HJ58HJ60 简单题HJ63 DNA序列&#xff08;简单题&#xff09;语法知识记录 HJ51 https://www.nowcoder.com/practice/54404a78aec1435a81150f15f899417d?tpId37&tags&title&difficulty0&judgeStatus0&…