计算机组成原理 | 第一章 计算机系统概述

news2024/11/16 12:59:40

目录

计算机发展历程

计算机系统层次结构 

计算机的性能指标


 

计算机发展历程

  1. 电子计算机的发展已经历了4代,这4代计算机的主要元件分别是电子管、晶体管、中小规模集成电路、大规模集成电路。
  2. 微型计算机的发展以微处理器技术为标志。
  3. 可以在计算机中直接执行的语言和用助记符编写的语言分别是机器语言、汇编语言。
  4. 只有当程序执行时才将源程序翻译成机器语言,并且一次只能翻译一行语句,边翻译边执行的是解释程序,把汇编语言源程序转变为机器语言程序的过程是汇编。
  5. 到目前为止,计算机中所有的信息仍以二进制方式表示的理由是二进制只有1和0两个数字,刚好和逻辑电路中的高、低电平对应,实现起来比较方便且简单可靠,因此由物理器件的性能决定。

     

计算机系统层次结构 

  1. 计算机主机的组成部分:运算器、存储器、控制器
  2. 完整的计算机系统包括:配套的硬件设备和软件系统
  3. 冯诺依曼机的基本工作方式是:控制流驱动方式
  4. 冯诺依曼机工作方式的基本特点是:按地址访问并顺序执行指令
  5. 冯诺依曼机中指令和数据均以二进制形式存放在存储器中,CPU 区分它们的依据是指令周期的不同阶段
  6. 软件和硬件具有逻辑上的等效性,硬件实现具有更高的执行速度,软件实现具有更好的灵活性。执行频繁、硬件实现代价不是很高的功能通常由硬件实现
  7. MAR 用来存放欲访问的存储单元地址;MDR 存放从存储单元取来的数据;IR 存放当前欲执行的指令;PC 存放下一条指令的地址
  8. 地址译码器是主存的构成部分,不属于 CPU
  9. 地址寄存器(MAR)存放访存地址,因此位数与地址码长度相同;数据寄存器 (MDR)用于暂存要从存储器中读或写的信息,因此位数与存储字长相同
  10. 寄存器在CPU内部,存取速度最快;Cache 采用高速的SRAM制作,存取速度第二;内存常用DRAM制作,存取速度最慢
  11. 8位计算机表明计算机字长为8位,即一次可以处理8位的数据
  12. 计算机只能从主存中取指令与操作数,不能直接与外存交换数据
  13. 编译程序是先完整编译后运行的程序,如 C、C++等;解释程序是一句一句翻译且边翻译边执行的程序,如JavaScript、Python等。由于解释程序要边翻译成机器语言边执行,因此一般速度较编译程序慢
  14. 翻译程序是指把高级语言源程序转换机器语言程序(目标代码)的软件。翻译程序有两种:一种是编译程序,它将高级语言源程一次全部翻译成目标程序,每次执行程序时,只需执行目标程序,因此只要源程序不变,就无须重新编译;另一种是解释程序,它将源程序的一条语句翻译成对应的机器目标代码,并立执行,然后翻译下一条源程序语句并执行,直至所有源程序语句全部被翻译并执行完。所以解释程序的执行过程是翻译一句执行一句,并且不会生成目标程序
  15. 汇编程序也是一种语言翻圣程序,它把汇编语言源程序翻译为机器语言程序。汇编语言是一种面向机器的低级语言,是器语言的符号表示,与机器语言一一对应
  16. CPU 由运算器和控制器两个部件组成,而运算器和控制器中都含有寄存器。存储器是一个独立的部件
  17. 数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统应用系统、数据库管理员构成,其中数据库管理系统是系统程序
  18. 存储程序是指将指令以代码的形式事先输入计算机主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束
  19. 计算机按照此原理应该具有 5 大功能:数据传送功能、数据存储功能、数据处理功能、操作控制功能、操作判断功能

一、冯诺依曼机的六大特点

  • 计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5大部件组成
  • 指令和数据以同等地位存储在存储器中,并可按地址寻访
  • 指令和数据均用二进制代码表示
  • 指令由操作码和地址码组成,操作码指出操作的类型,地址码指出操作数的地址
  • 指令在存储器内按顺序存放
  • 早期的冯诺依曼机以运算器为中心,输入/输出设备通过运算器与存储器传送数据(现代的计算机以存储器为中心)

30b0405deb8940b29d4cb432ed7d59bc.png

典型的冯诺依曼计算机结构

二、计算机功能部件

  • 输入设备:将程序和数据以机器所能识别和接受的信息形式输入计算机。如键盘、鼠标、摄像机等
  • 输出设备:将计算机处理的结构以人们所能接受的形式或其他系统所要求的信息形式输出。如显示器、打印机
  • 存储器:是计算机的存储部件,用来存放程序和数据,分为主存储器和辅助存储。1)CPU能够直接访问的是主存储器;2)辅助存储器用于帮助主存储器记忆更多的信息,其信息必须调入主存储器后,才能被CPU访问。3)主存储器的工作方式是按存储单元的地址进行存取,这种存取方式被称为按地址存取方式。4)地址寄存器(MAR)存放访存地址,经过地址译码后找到所选的存储单元。5)数据寄存器(MDR)用于暂存要从存储器中读或写的信息,时序控制逻辑用于产生存储器操作所需的各种时序信号。6)MAR用于寻址,其位数对应着存储单元的个数。如MAR为10位,则有eq?2%5E%7B10%7D%3D1024个存储单元,记为1K。MAR的长度与PC的长度相等。7)MDR的位数和存储字长相等,一般为字节的二次幂的整数倍。8)MAR和MDR存在于CPU当中。
  •  运算器:是计算机的执行部件,用于进行算术运算和逻辑运算。运算器的核心是算数逻辑单元(ALU)。运算器包含若干通用寄存器,用于暂存操作数和中间结果,如累加器(ACC)、乘商寄存器(MQ)、操作数寄存器(X)。
  • 控制器:控制器是计算机的指挥中心,由程序计数器(PC)、指令寄存器(IR)、控制单元(CU)组成。1)PC用来存放当前欲执行指令的地址,可以自动加1以形成下一条指令的地址,它与主存的MAR之间有一条直接通路。2)IR用来存放当前的指令,其内容来自主存的MDR。3)一般将运算器和控制器集成到同一个芯片上的,被称为中央处理器(CPU)。CPU和主存储器共同构成主机,而除主机外的其他硬件装置(外存、I/O设备等)统称为外部设备,简称外设。

三、计算机软件的分类

  •  系统软件:是一组保证计算机系统高效、正确运行的基础软件,通常作为系统资源提供给用户使用。系统软件主要有操作系统(OS)、数据库管理系统(DBMS)、语言处理程序、分布式软件系统、网络软件系统、标准库程序、服务性程序等
  • 应用软件:是指用户为解决某个应用领域中的各类问题而编制的程序。如各种科学计算类程序、工程设计类程序、数据统计与处理程序

四、三个级别的语言

  • 机器语言:机器语言是计算机唯一可以直接识别和执行的语言,需要编程人员记忆每条指令的二进制编码
  • 汇编语言:汇编语言用英文单词或其缩写代替二进制的指令代码,更容易为人们记忆和理解。使用汇编语言编辑的程序,必须经过一个称为汇编程序的系统软件的翻译,将其转换为计算机的机器语言后,才能在计算机的硬件系统上执行
  • 高级语言:高级语言是为方便程序设计人员写出解决问题的处理方案和解题过程的程序。通常高级语言需要经过编译程序编译成汇编语言程序,然后经过汇编操作得到机器语言程序,或直接由高级语言程序翻译成机器语言程序

五、计算机的工作过程

  • 把程序和数据装入主存储器
  • 将源程序转换成可执行文件
  • 从可执行文件的首地址开始逐条执行指令

六、计算机的多层次结构

c6e2eb8ce6724d1cb981380cc3d4a6b7.png

计算机系统的多层次结构

  • 在高级语言层之上,还可以有应用程序层,它由解决实际问题和应用问题的处理程序组成,如文字处理软件、数据库软件、多媒体处理软件和办公自动化软件等
  • 通常把没有配备软件的纯硬件系统称为“裸机”。第3~第5层称为虚拟机,简单来说就是软件实现的机器。虚拟机只对该层的观察者存在,这里的分层和计算机网络的分层类似,对于某层的观察者来说,只能通过该层次的语言来了解和使用计算机,而不必关心下层是如何工作的
  • 层次之间的关系紧密,下层是上层的基础,上层是下层的拓展

     

计算机的性能指标

  1. 能缩短程序执行时间的措施有:提高CPU的时钟频率、优化数据通路结构、对程序进行编译优化
  2. MIPS是每秒执行多少百万条指令,适用于衡量标量机的性能;CPI是平均条指令的时钟周期数;IPC是 CPI 的倒数,即每个时钟周期执行的指令数;MFLOPS 是每秒执行多少百万条浮点数运算,用来描述浮点数运算速度,适用于衡量向量机的性能
  3. 存储体由许多存储单元组成,每个存储单元又包含若干存储元件,每个存储元件能寄存一位二进制代码“0”或“1”。可见,一个存储单元可存储一串二进制代码,称这串二进制代码为个存储字,称这串二进制代码的位数为存储字长
  4. 存储字长等于 MDR 的位数,而数据字长是数据总线一次能并行传送信息的位数,它可以不等于 MDR的位数
  5. 在CPU的寄存器中,指令寄存器对用户完全透明。汇编程序员可以通过指定待执行指令的地址来设置 PC 的值;状态寄存器、通用寄存器只有为汇编程序员可见;而 IR、MAR、MDR 是 CPU 的内部工作寄存器,对程序员均不可见
  6. 主频、主存容量和指令系统(间接影响 CPI)并不是综合性能的体现。吞吐率指系统在单位时间内处理请求的数量,是评价计算机系统性能的综合参数
  7. 采用并行技术是实现高性能计算的重要途经
  8. 兼容指的是计算机软件和硬件的通用性
  9. ALU和通用寄存器的位数和机器字长一定相同

一、机器字长

        机器字长是指计算机进行一次整数运算(即定点整数运算) 所能处理的二进制数据的位数,通常与 CPU 的寄存器位数、加法器有关。因此,机器字长一般等于内部寄存器的大小,字长越长,数的表示范围越大,计算精度越高。计算机字长通常选定为字节 (8位)的整数倍。

二、数据通路带宽

        数据通路带宽是指数据总线一次所能并行传送信息的位数。这里所说的数据通路宽度是指外部数据总线的宽度,它与CPU 内部的数据总线宽度(内部寄存器的大小)有可能不同。各个子系统通过数据总线连接形成的数据传送路径称为数据通路。

三、主存容量

        主存容量是指主存储器所能存储信息的最大容量,通常以字节来衡量,也可用字数x字长(如512Kx16位)来表示存储容量。其中,MAR的位数反映存储单元的个数,MAR 的位数反映可寻址范围的最大值(而不一定是实际存储器的存储容量)。例如,MAR为16位,表示2^16= 65536,即此存储体内有 65536 个存储单元(可称为64K内存,1K=1024),若MDR为32位,表示存储容量为 64Kx32 位。

四、运算速度

  • 吞吐量:指系统在单位时间内处理请求的数量
  • 响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获得所需结果的等待时间
  • CPU时钟周期:通常为节拍脉冲或T周期,即主频的倒数,它是CPU中最小的时间单位,执行指令的每个动作至少需要1个时钟周期
  • 主频:机器内部主时钟的频率,是衡量机器速度的重要参数。对于同一个型号的计算机,其主频越高,完成指令的一个执行步骤所用的时间越短,执行指令的速度越快
  • CPI:执行一条指令所需的时钟周期数。此对于一个程序或一台机器来说,其CPI指该程序或该机器指令集中的所有指令执行所需的平均时钟周期数,此时 CPI是一个平均值
  • CPU执行时间:指运行一个程序所花费的时间。CPU执行时间=CPU时钟周期数/主频 =(指令条数*CPI)/主频
  • MIPS(MillionInstructions Per Second):即每秒执行多少百万条指令。MIPS=指令条数/(执行时间x10)=主频/(CPI*10^6)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/936736.html

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

相关文章

【Docker系列】Docker-核心概念/常用命令与项目部署实践

写在前面 Docker是一种开源的容器化技术,它允许开发者将应用程序及其依赖项打包到一个轻量级、可移植的容器中,从而实现快速部署和高效运行。Docker的核心概念包括镜像、容器、仓库等。本文将详细介绍Docker的基本概念、安装方法以及常用命令。 一、Doc…

第 360 场 LeetCode 周赛题解

A 距离原点最远的点 串中的 “_” 处要么都向左走要么都向右走 class Solution { public:int furthestDistanceFromOrigin(string moves) {int t 0;for (auto x: moves)if (x ! R)t--;elset;int res abs(t);t 0;for (auto x: moves)if (x ! L)t;elset--;res max(res, abs(t…

土豆叶病害识别(Python代码,pyTorch框架,深度卷积网络模型,很容易替换为其它模型,视频识别)

效果视频:土豆叶病害识别(Python代码,pyTorch框架,视频识别)_哔哩哔哩_bilibili 代码运行要求:Torch库>1.13.1,其它库无版本要求 1..土豆叶数据集主要包好三种类别(Early_Bligh…

集丰照明|汽车美容店设计,装修色彩灯光搭配方法

正确处理好店面的空间设计。 店铺各个功能区设计要合理,衔接合理,这样既能提高员工的工作效率也能提高顾客的满意度。合理安排店铺的空间分配, 要给顾客一种舒适度,既不能让顾客感觉到过于拥挤,又不能浪费店铺的有限空…

邂逅JavaScript

前言:前端三大核心 前端开发最主要需要掌握的是三个知识点:HTML、CSS、JavaScript 一、认识编程语言 1.计算机语言 前面我们已经学习了HTML和CSS很多相关的知识: 在之前我们提到过, HTML是一种标记语言, CSS也是一种样式语言; 他们本身都是属于计算…

Android JNI系列详解之ndk编译工具环境变量配置

一、前提 之前是只介绍了CMake编译工具的使用,现在介绍另一种原生(NDK自带的脚本工具)自带的编译方式:ndk-build,想要使用ndk-build编译工程,我们需要配置全局的环境变量。 二、配置环境变量 找到ndk在电脑…

HRS--人力资源系统(Springboot+vue)--打基础升级--(六)分页查询 + 重置按钮

一:先弄个简单的重置按钮 1.界面设计就放在搜索框同一列的位置 2. 在点击重置按钮时,清空搜索框内的内容,同时触发一次无条件查询(这个写法有bug,下面会有说明) 二:做分页 在MyBatis中,有多种方法可以实现分…

【报错记录】疯狂踩坑之RockyLinux创建Raid1镜像分区,Raid分区在重启后消失了!外加华硕主板使用Raid模式后,硬盘在系统中无法找到问题

前言 为了摆脱对于专业NAS的依赖,我决定专门使用一台Linux服务器安装NAS程序的方式实现NAS功能,这里就需要用到Raid功能,由于目前我只有3块SSD(256G500G500G),在ChatGPT的推荐下还是使用一个256G系统盘2块…

HTTP 框架修炼之道 | 青训营

Powered by:NEFU AB-IN 文章目录 HTTP 框架修炼之道 | 青训营 走进 HTTP 协议HTTP 框架的设计与实现应用层中间件层路由设计协议层 传输层(网络层)1. BIO(Blocking I/O):2. NIO(Non-blocking I/O):区别&…

【 Python 全栈开发 - 人工智能篇 - 45 】集成算法与聚类算法

文章目录 一、集成算法1.1 概念1.2 常用集成算法1.2.1 Bagging1.2.2 Boosting1.2.2.1 AdaBoost1.2.2.2 GBDT1.2.2.3 XgBoost 1.2.3 Stacking 二、聚类算法2.1 概念2.2 常用聚类算法2.2.1 K-means2.2.2 层次聚类2.2.3 DBSCAN算法2.2.4 AP聚类算法2.2.5 高斯混合模型聚类算法 一、…

39、springboot的前端静态资源的WebJar支持(bootstrap、jquery等)及自定义图标和首页

★ WebJar支持 Spring Boot支持加载WebJar包中的静态资源(图片、JS、CSS), WebJar包中的静态资源都会映射到/webjars/**路径。——这种方式下,完全不需要将静态资源复制到应用的静态资源目录下。只要添加webjar即可。假如在应用的…

145. 二叉树的后序遍历

题目来源:力扣 题目描述: 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[3,2,1]示例 2: 输入:root [] 输出:[]…

C#---第二十: partial修饰类的特性及应用

0.知识背景 局部类型适用于以下情况: 类型特别大,不宜放在一个文件中实现。一个类型中的一部分代码为自动化工具生成的代码,不宜与我们自己编写的代码混合在一起。需要多人合作编写一个类 局部类型的限制: 局部类型只适用于类、接口、结构&am…

信息化发展1

信息的定义 1 、信息论的奠基者香农认为: 信息是用来消除随机不定性的东西。 2 、信息的目的是用来“消除不确定的因素” 。信息是抽象于物质的映射集合。 3 、香农用概率来定量描述信息的公式如下: 信息的特征 客观性:信息是客观事物在人…

PostgreSQL分区表

什么是分区表 数据库分区表将表数据分成更小的物理分片,以此提高性能、可用性、易管理性。分区表是关系型数据库中比较常见的对大表的优化方式,数据库管理系统一般都提供了分区管理,而业务可以直接访问分区表而不需要调整业务架构&#xff0c…

QT版权查询

文章目录 QT工具版权QT模块版权查询 根据条件自动筛选: Qt Features, Framework Essentials, Modules, Tools & Add-Ons QT工具版权 Licensing QT模块版权查询 在 All Modules 中点击进入每个模块,在详细内容中一般有Lisence相关内容。 Licens…

c语言练习题35:求两个数二进制中不同位的个数

求两个数二进制中不同位的个数 //编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? //输入例子 : //1999 2299 //输出例子 : 7 //int calc_diff_bit(int m, int n) 思路: 1. 先将m和n…

Mybatis中的缓存机制(一文带你弄懂)

Mybatis中的缓存机制 Mybatis中的缓存机制概述项目结构MyBatis 一级缓存一级缓存原理代码测试什么时候一级缓存失效? Mybatis二级缓存测试代码⼆级缓存的失效⼆级缓存的相关配置 MyBatis集成EhCache Mybatis中的缓存机制 概述 缓存的作⽤:通过减少IO的⽅式&#…

数据结构--树4.2.1(二叉树)

目录 一、二叉树的存储结构 二、二叉树的遍历 一、二叉树的存储结构 顺序存储结构:二叉树的顺序存储结构就是用一维数组存储二叉树中的各个结点,并且结点的存储位置能体现结点之间的逻辑关系。 链式存储结构:二叉树每个结点最多只有两个孩…

英国选校8.27

目录 IC帝国理工学院 UCL伦敦大学学院 爱丁堡 曼彻斯特 KCL伦敦国王学院 Bristol布里斯托 华威 南安普顿 IC帝国理工学院 UCL伦敦大学学院 爱丁堡 曼彻斯特 KCL伦敦国王学院 24qs专业位置双非con雅思气候备注40 移动&个人通信 24fall不要双非? 24fall新…