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

《计算机组成原理》(第3版)第1章 计算机系统概论 复习笔记

第1章 计算机系统概论

一、计算机系统简介

(一)计算机的软硬件概念
1.计算机系统由“硬件”和“软件”两大部分组成
(1)所谓“硬件”,是指计算机的实体部分,如主机、外部设备等。
(2)所谓“软件”,是指由人们事先编制的具有各类特殊功能的程序组成,如操作系统等。
2.计算机的软件通常又可以分为两大类:系统软件和应用软件
(1)系统软件又称为系统程序,主要用来管理整个计算机系统,监视服务,使系统资源得到合理调度,高效运行。
(2)应用软件又称为应用程序,它是用户根据任务需要所编制的各种程序。

(二)计算机系统的层次结构
1.现代计算机的解题过程,如图1-1所示。
在这里插入图片描述
图1-1 计算机的解题过程
(1)早期计算机只有机器语言,用户用二进制代码来编写程序,如图1-2所示。
在这里插入图片描述
计图1-2 实际机器M1
(2)汇编语言。没有机器能直接识别这种语言,必须先将汇编语言程序翻译成机器语言程序,然后才能被机器接受自动运行。算机系统便具有两级层次结构,如图1-3所示。
在这里插入图片描述
图1-3 具有两级层次结构的计算机系统
(3)高级语言,如FORTRAN、BASIC等。有三级层次结构的计算机系统,如图1-4所示。在这里插入图片描述
图1-4 具有三级层次结构的计算机系统
(4)翻译程序有两种:一种是编译程序,另一种是解释程序。
①编译程序是将用户编写的高级语言程序的全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序。
②解释程序是将源程序的一条语句翻译成对应于机器语言的一条语句,并且立即执行这条语句,接着翻译源程序的下一条语句,并执行这条语句。
(5)由于软件的发展,机器M0是直接将机器M1中的每一条机器指令翻译成一组微指令,即构成一个微程序。这样又可认为计算机系统具有四级层次结构,如图1-5所示。
在这里插入图片描述
图1-5 具有四级层次结构的计算机系统
(6)上述四级层次结构的系统中,实际上在实际机器M1与虚拟机器M2之间还有一级虚拟机器,它是由操作系统软件构成的,如图1-6所示。
在这里插入图片描述
图1-6 多级层次结构的计算机系统

(三)计算机组成和计算机体系结构
1.计算机体系结构
计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性。包括指令集、数据类型、存储器寻址技术、I/O机理等。
2.计算机组成
计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。例如,指令系统体现了机器的属性,这属于计算机结构的问题。但指令的实现,即如何取指令、分析指令、取操作数、运算、送结果等,这些都属于计算机组成问题。

二、计算机的基本组成

(一)冯·诺依曼计算机的特点
冯·诺依曼(Von Neumann)提出了“存储程序”的概念。以此概念为基础的各类计算机通称为冯·诺依曼机。它的特点可归结如下:
①计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成。
②指令和数据以同等地位存放于存储器内,并可按地址寻访。
③指令和数据均用二进制数表示。
④指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
⑤指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
⑥机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成。

(二)计算机的硬件框图
典型的冯·诺依曼计算机是以运算器为中心的,如图1-7所示。
在这里插入图片描述
图1-7 典型的冯·诺依曼计算机结构框图
现代的计算机已转化为以存储器为中心,如图1-8所示。
在这里插入图片描述
图1-8 以存储器为中心的计算机框图
1.图中各部件的功能
①运算器用来完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器内;
②存储器用来存放数据和程序;
③控制器用来控制、指挥程序和数据的输入、运行以及处理运算结果;
④输入设备用来将人们熟悉的信息形式转换为机器能识别的信息形式;
⑤输出设备可将机器运算结果转换为人们熟悉的信息形式。
2.现代计算机由三大部分组成:
CPU、I/O设备及主存储器(Main Memory,MM),如图1-9所示。
在这里插入图片描述
图1-9 现代计算机的组成框图
(1)算术逻辑单元(Arithmetic Logic Unit,ALU)简称算逻部件,用来完成算术逻辑运算。
(2)控制单元(Contro1 Unit,CU)用来解释存储器中的指令,并发出各种操作命令来执行指令。ALU和CU是CPU的核心部件。
(3)I/O设备也受CU控制,用来完成相应的输入、输出操作。

(三)计算机的工作步骤
1.上机前的准备
(1)建立数学模型
建立数学模型,研究对象的变化规律就变成了解一系列数学问题,可通过计算机求解。
(2)确定计算方法
确定对应的计算方法,将其变成适合计算机运算的加、减、乘、除四则运算
(3)编制解题程序
编制解题程序就是将运算步骤用一一对应的机器指令描述。
2.计算机的工作过程
细化的计算机组成框图,如图1-10所示。
在这里插入图片描述
图1-10 细化的计算机组成框图
(1)主存储器
主存储器(简称主存或内存)包括存储体M、各种逻辑部件及控制电路等。主存的工作方式就是按存储单元的地址号来实现对存储字各位的存(写入)、取(读出)。
(2)运算器
运算器最少包括3个寄存器和一个算术逻辑单元(ALU)。表1-1列出了寄存器存放不同类别操作数的情况。
在这里插入图片描述
表1-1 各寄存器所存放的各类操作数
(3)控制器
控制器是计算机的神经中枢,由它指挥各部件自动、协调地工作。控制器由程序计数器(Program Counter,PC)、指令寄存器(Instruction Register,IR)以及控制单元(CU)组成。
①PC用来存放当前欲执行指令的地址,且具有自动加1的功能,即可自动形成下一条指令的地址。
②IR用来存放当前的指令,IR的内容来自主存的MDR。IR中的操作码(OP(IR))送至CU,记作OP(IR)→CU,用来分析指令。
(4)I/O
I/O子系统包括各种I/O设备及其相应的接口。

三、计算机硬件的主要技术指标

(一)机器字长
机器字长是指CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。

(二)存储容量
存储器的容量应该包括主存容量和辅存容量。主存容量是指主存中存放二进制代码的总位数。辅存容量通常用字节数来表示。

(三)运算速度
计算机的运算速度与机器的主频、执行什么样的操作、主存本身的速度(主存速度快,取指、取数就快)等都有关。

相关文章:

《计算机组成原理》(第3版)第1章 计算机系统概论 复习笔记

第1章 计算机系统概论 一、计算机系统简介 (一)计算机的软硬件概念 1.计算机系统由“硬件”和“软件”两大部分组成 (1)所谓“硬件”,是指计算机的实体部分,如主机、外部设备等。 &#xff0…...

达梦数据库的系统视图v$cachers

达梦数据库的系统视图v$cachers 达梦数据库的系统视图V$CACHERS的作用是显示缓存中的项信息,在 ini 参数 USE_PLN_POOL !0 时才统计。这个视图帮助数据库管理员监控和分析缓存的使用情况,优化数据库性能。通过查询V$CACHERS视图,可以获取缓存…...

电路元件基本知识详解

电路元件基本知识详解 在现代电子技术中,电路元件是构成各种电子电路的基本单元。它们各自具有不同的特性和功能,通过不同的连接方式实现多种多样的电路功能。本文将详细介绍几种常见的电路元件及其基本知识。 ### 一、电阻器 #### 1. 电阻器的基本概…...

从零开始写一个微信小程序

从零开始写一个微信小程序可以分为几个步骤。以下是一个详细的指南,帮助你从头到尾完成一个简单的微信小程序。 ### 一、准备工作 1. **注册微信小程序账号**: - 前往[微信公众平台](https://mp.weixin.qq.com/)注册一个小程序账号。 - 进行企业认证(个人账号需要申…...

07030405复杂可编程逻辑器件CPLD现场可编程阵列FPGA

复杂可编程逻辑器件CPLD&现场可编程阵列FPGA 7.3 复杂可编程逻辑器件CPLD7.3.1CPLD的结构 7.4现场可编程门阵列FPGA7.4.1FPGA实现逻辑功能的基本原理7.4.2FPGA结构简介1.可编程逻辑块2.I/O块3.可编程连线资源CPLD与FPGA的区别 7.5可编程逻辑器件开发过程简介编程条件 7.3 复…...

《雅思口语真经总纲1.0》话题实战训练笔记part1——5. Bus or taxi

《雅思口语真经总纲1.0》笔记——第四章:口语素材大全(part1、part2、part3回答准则及练习方法,不包括范例答案)★★★★★ 文章目录 Bus or taxiHou often do you take the bus?20240803答评价疑问 When was the first time you…...

《工程检索增强生成系统时的七个失败点》论文 AI 解读

周末使用 AI 速度了一篇 RAG 相关的论文,文中提到的【设计 RAG 系统时需要考虑的七个失败点】非常有价值,简单整理一下分享出来,大家如果感兴趣可以继续阅读原文。 论文名称:Seven Failure Points When Engineering a Retrieval A…...

每日一题——贪心算法

1005. K 次取反后最大化的数组和 - 力扣(LeetCode) 题解: 一开始有点理解错他的意思,以为是i是题目中会给出,所以一开始没有什么思路,然后当看了题解之后,就知道了原来i是自己订的&#xff0c…...

Artix7系列FPGA实现SDI视频编解码+图像缩放+多路视频拼接,基于GTP高速接口,提供4套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本博已有的FPGA图像缩放方案本博已有的已有的FPGA视频拼接叠加融合方案本方案的无缩放应用本方案在Xilinx--Kintex系列FPGA上的应用本方案在Xilinx--Zynq系列FPGA上的应用 3、详细设计方案设计原理框图S…...

HTTP 状态码详细介绍

超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内…...

React前端面试每日一试 5.什么是受控组件和非受控组件?

在React中,受控组件和非受控组件是两种处理表单数据的方式。理解这两种方式对于管理和维护表单状态非常重要。 受控组件(Controlled Components) 受控组件是指那些表单数据完全由React组件的状态控制的组件。也就是说,表单元素的…...

代码随想录打卡第四十四天

代码随想录–动态规划部分 day 44 动态规划第11天 文章目录 代码随想录--动态规划部分一、力扣1143--最长公共子序列二、力扣1035--不相交的线三、力扣53--最大子数组和四、力扣392--判断子序列 一、力扣1143–最长公共子序列 代码随想录题目链接:代码随想录 给定…...

【JAVA】枚举类的使用:通过枚举类名称得到对应值进行输出

枚举类其实就是一个特殊的class。 /*** ClassName: CardType* Description:数字卡类型对应的文字卡类型*/ public enum CardType {NORMAL_CARD("金普卡"),BUSINESS_CARD("商务卡"),PRIVATE_CARD("黑金无限卡");private String cardName;CardTyp…...

20240731软考架构------软考6-10答案解析

每日打卡题6-10答案 6、【2012年真题】 难度:一般 若系统中的某子模块需要为其他模块提供访问不同数据库系统的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库&#xff0c…...

学习记录——day25 多线程编程 临界资源 临界区 竞态 线程的同步互斥机制(用于解决竟态)

目录 ​编辑 一、多进程与多线程对比 二、 临界资源 临界区 竞态 例1:临界资源 实现 输入输出 例2:对临界资源 进行 减减 例子3:临界资源抢占使用 三、线程的同步互斥机制(用于解决竟态) 3.1基本概念 3.2线…...

[RK3566]linux下使用upgrade_tool报错

linux下使用upgrade_tool报错Creating Comm Object failed! Rockusb>uf /home/zhuhongxi/RK3566_AOSP_SDK/rockdev/Image-rk3566_tspi/update.img Loading firmware... Support Type:RK3568 FW Ver:b.0.00 FW Time:2024-08-03 12:00:09 Loader ver:1.01 Loader Time:…...

系统架构师(每日一练13)

每日一练 答案与解析 1.应用系统构建中可以采用多种不同的技术,()可以将软件某种形式的描述转换为更高级的抽象表现形式,而利用这些获取的信息,()能够对现有系统进行修改或重构,从而产生系统的一个新版本。答案与解析 问题1 A.逆…...

Error: No module factory available for dependency type: CssDependency

本篇主要用来记录VUE打包的问题点,今天使用npm run build:prod 打包VUE出现如下问题: Error: No module factory available for dependency type: CssDependency 因为测试和预发布都挺正常的,正式环境竟然出问题,废话不多说&…...

【langchain学习】使用Langchain生成多视角查询

使用Langchain生成多视角查询 导入所需库: from langchain.prompts import ChatPromptTemplate from langchain_core.output_parsers import StrOutputParser from langchain_core.runnables import RunnablePassthrough from config import llm设置提示模板&#x…...

ASPCMS 漏洞详细教程

一.后台修改配置文件拿shell 登录后台 如下操作 保存并抓包 将slideTextStatus的值修改为1%25><%25Eval(Request(chr(65)))25><%25 放包&#xff08;连接密码是a&#xff09; 然后用工具连接 成功连接...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...