【软件设计师中级】-笔记缩减版本-计算机系统基础知识

1. 计算机系统基础知识

1.1. 计算机系统硬件基本组成
  • 硬件
    中央处理器(CPU)硬件系统的核心

运算器 控制器

存储器(记忆设备)

内部存储器(速度高,容量小):临时存放程序、数据及中间结果

外部存储器(速度慢,容量大):长期保存程序和数据

外设(外部设备)
输入设备:输入原始数据及各种命令
输出设备:输出计算机运行结果

软件

1.2. CPU的功能与组成

中央处理单元(CPU):计算机系统的核心部件,它负责获取程序指令,对指令进行译码并加以执行。

1.2.1. CPU的功能

程序控制:通过执行指令来控制程序的执行顺序。

操作控制:一条指令功能的实现需要若干个操作信号配合来完成,CPU产生每条指令的操作信号并将操作信号
送往对应的部件,控制相应的部件按指令的功能要求进行操作。

时间控制:CPU对各种操作进行时间上的控制,即在指令执行过程中操作信号的出现时间,持续时间及出现的
时间顺序都需要进行严格的控制。

数据处理:CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果被人们所利
用。所以,对数据的加工处理也是CPU最根本的任务CPU还需对系统内部和外部的中断(异常)做出响应,进行相应的处理。

1.2.2. CPU的组成

(1) 运算器(是数据加工处理部件,用于完成计算机的各种算术和逻辑运算):运算器所进行的全部操作都是由
控制器发出的控制信号来指挥的,所以它是执行部件。

功能:
执行所有算术运算,如加、减、乘、除等基本运算及附加运算。
执行所有的逻辑运算并进行逻辑测试,如与、或、非、零值测试或两个值的比较等。

组成

算术逻辑单元(ALU):负责处理数据,实现对数据的算术运算和逻辑运算。

累加寄存器(AC):简称累加器,是一个通用寄存器。暂存算术运算或逻辑运算的中间运算结果。

数据缓冲寄存器(DR):暂存指令或数据字或操作数。

状态条件寄存器(PSW):保存指令执行后的状态。

(2) 控制器功能

组成:用于控制整个CPU的工作,决定了计算机运行过程的自动化。它不仅要保证程序的正确执行,而且能够
处理异常事件

指令控制逻辑:要完成取指令、分析指令和执行指令的操作,其过程分为取指令,指令译码按指令操作码执行,形成下一条指令地址等步骤。

指令寄存器(IR):存放的是从内存中取得指令,就像个中间站一样,不过是存放指令的中间站

程序计数器(PC):存放的是指令的地址,还有计数的功能

地址寄存器(AR):存放的是cpu访问内存单元的地址

指令译码器(ID):是把操作码解析成对应的指令操作

时序控制逻辑:要为每条指令按时间顺序提供应有的控制信号

总线控制逻辑:是为多个功能部件服务的信息通路的控制电路

中断控制逻辑:用于控制各种中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU

(3) 寄存器组
分类:专用寄存器(运算器和控制器中的寄存器是专用寄存器)、通用寄存器

在这里插入图片描述

在这里插入图片描述
b. 非十进制数转为十进制数

在这里插入图片描述

二进制转换为十进制
(101.1101)2 = 1x22 + 0x21 + 1x20 + 1x2-1 + 1x2-2 + 0x2-3 + 1x2-4 = (5.8125)10

八进制转换为十进制
(105.236)8 = 1x82 + 0x81 + 5x80 + 2x8-1 + 3x8-2 + 6x8-3 = (69.30859375)10

十六进制转换为十进制
(A27.5C)16 = 10x162 + 2x161 + 7x160+ 5x16-1+ 12x16-2= (2599.359375)10

十进制数转换为非十进制数
整数部分:除N取余,商为0时,将 余数倒序输出
小数部分:乘N取整数,直至积为0(或满足精度), 整数部分正序输出

十进制转换为二进制

在这里插入图片描述

二进制与八进制、十六进制的相互转换

二进制转为八进制(三位一组)

将二进制数从小数点开始分别向左(整数部分)和向右(小数部分)每3位二进制位组成一组,将每一组
内的3位二进制数转换成八进制数码中的一个数字,按顺序连接起来即得八进制表示。不足3位时,对原数值
用0来补足3位。

例如:(001 011 111 . 001)2 = (137.1)8

二进制转为十六进制(四位一组)将二进制数从小数点开始分别向左(整数部分)和向右(小数部分)每4位二进制位组成一组,将每一组内的4位二进制数转换成十六进制数码中的一个数字,按顺序连接起来即得十六进制表示。如果总的位数不是4的倍数,那么最左面的一组可以少于4位,前面用0来补足4位。

例如:(1111 1111 0100 1011)2 = (FF4B)16

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2. 存储系统

2.2.1. 存储器的分类

按访问方式:按地址访问的存储器、按内容访问的存储器

按储存器所处位置
内存:也称主存,用来存放机器当前运行所需的程序和数据
外存:也称辅存,用来存放当前不参加运行的大量信息,而在需要时调入内存

按存储器的构成材料
磁存储器:用磁介质做成

半导体存储器:
根据所用元件:双极型、MOS型
根据数据:静态、动态
光存储器:利用光学方法读/写数据的存储器

按存储器的工作方式:
读/写存储器( RAM ):既能读取数据也能存入数据

只读存储器
固定只读存储器( ROM ):内容只能读出,不能改变

可编程的只读存储器( PROM ):其中的内容可以由用户一次性地写入,写入后不能改变

可擦除可编程的只读存储器( EPROM ):其中的内容既可以读出,也可以由用户写入,写入后还可以
修改
电擦除可编程的只读存储器(EEPROM):与EPROM相似,既可以读出,也可以写入,只不过这种
存储器采用电擦除的方式进行数据的改写

闪速存储器(FM):简称闪存,其特性介于EPROM和EEPROM之间,类似于EEPROM

按寻址方式:
立即寻址:操作数就包含在指令中
直接寻址:操作数存放在内存单元中,指令中直接给出操作数所在存储单元的地址
寄存器寻址:操作数存放在某一寄存器中,指令中给出存放操作数的寄存器名
寄存器间接寻址:操作数存放在内存单元中,操作数所在存储单元的地址在某个寄存器中
间接寻址:指令中给出操作数地址的地址
相对寻址:指令地址码给出的是一个偏移量(可正可负),操作数地址等于本条指令的地址加上该偏移
量。
变址寻址:操作数地址等于变址寄存器的内容加偏移量

寻址速度:立即寻址 > 寄存器寻址 > 直接寻址 > 寄存器间接寻址 > 间接寻址

2.2.2. 相联存储器

相联存储器是一种 按内容访问 的存储器。

在这里插入图片描述

2.2.3. 高速缓存

高速缓存的组成部分:
控制部分、存储部分
高速缓存中的地址映像方法
直接映像:指主存的块与Cache块的对应关系是固定的。优点是地址变换简单,缺点是灵活性差、
Cache块冲突率高。
全相联映像:允许主存的任一块可以调入Cache存储器的任何一个块的空间中。优点是Cache块冲突率
低、灵活性好,缺点是访问速度慢、地址变换较复杂、成本太高。

组相联映像:是前两种方式的折中方案,即组采用直接映像方式、块采用全相联映像方式
发生块冲突从少到多的顺序:全相联映射–>组相联映射–>直接映射

替换算法:
随机替换算法、先进先出算法、近期最少使用算法、优化替换算法

性能分析
命中率是Cache的一个重要指标,但不是最主要的指标
Cache的命中率与Cache容量的关系是:容量越大,命中率越高
多级Cache
在多级Cache计算机中分为一级(L1Cache),二级(L2Cache)等

2.2.4. 虚拟存储器

虚拟存储器技术是把很大的程序(数据)分成许多较小的块,全部存储在辅存中。运行时把要用到的程序(数据)块先调入主存,并且马上就要用到的程序块从主存调入高速缓存。这样就可以一边运行程序,一边进行所需程序(数据)块的调进或调出

虚拟存储器管理方式:段式虚拟存储器、页式虚拟存储器、段页式虚拟存储器

2.2.5. 外存储器

磁表面存储器
磁盘存取速度较快,具有较大的存储容量,是目前广泛使用的外存储器。硬盘就是最常见的外存储器

光盘存储器:是一种采用聚焦激光束在盘式介质上非接触地记录高密度信息的新型存储装置.

根据性能和用途分为:
只读型光盘**(CD-ROM)、只写一次型光盘(WORM)**、可擦除光盘

固态硬盘
存储介质
闪存(FLASH芯片)
DRAM:具有传统机械硬盘不具备的读写快速,质量轻,能耗抵以及体积小等特点,但其价格仍较昂贵,容量较地,一旦硬件损坏,数据较难恢复

2.2.6. 磁盘阵列技术

磁盘阵列是由多台磁盘存储器组成的一个快速,大容量,高可靠的外村子系统,常见的磁盘阵列称为廉价冗余
磁盘阵列(RAID)。

2.3. 输入输出技术

2.3.1. 直接程序控制

直接程序控制是指外设数据的输入/输出过程是在CPU执行程序的控制下完成的。

直接程序控制的两种情况:
程序查询方式
在此情况下,利用查询方式进行输入/输出,就是通过CPU执行程序来查询外设的状态,判断外设是否准
备好接受数据或准备好向CPU输入数据

两大缺点

降低了CPU的效率

对外部的突发事件无法做出实时响应

无条件传送

在此情况下,外设总是准备好的,它可以无条件地随时接受CPU发来的输出数据,也能够无条件地随时向

CPU提供需要的输入数据

2.3.2. 中断方式

中断方式即由程序控制I/O的方法,缺点在于CPU必须等待I/O系统完成数据的传输任务,而且要定期查询I/O
系统的状态,确认传输是否完成。因此大大降低了整个系统的性能。

a. 中断处理方法:多中断信号线法、中断软件查询法、菊花链法、总线仲裁法、中断向量表法
b. 中断优先级控制:当不同优先级的多个中断源同时提出中断请求时,CPU应优先响应优先级最高的中断源
当CPU在对某一个中断源服务时
,有比它优先级更高的中断源提出中断请求,CPU应暂时中断正在执行的中断
服务程序而转去对优先级更高的中断源服务,结束后再回到之前被中断的优先级较低的中断源服务程序继续
执行,这种情况称为中断嵌套,即一个中断服务程序中嵌套着另一个中断服务程序

2.3.3. 直接存储器存储方式

直接内存存取(DMA)是指数据在内存与I/O设备间的直接成块传送,即在内存与IO设备间传送一个数据块的过程
中,不需要CPU的任何干涉,只需要CPU在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束(CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时的处理,实际操作由DMA硬件直接执行完成,CPU在此传送过程中可做别的事情。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】命令为桥,存在为岸,穿越虚拟世界的哲学之道

文章目录 Linux基础入门:探索操作系统的内核与命令一、Linux背景与发展历史1.1 Linux的起源与发展1.2 Linux与Windows的对比 二、Linux的常用命令2.1 ls命令 - "List"(列出文件)2.2 pwd命令 - "Print Working Directory"&#xff08…

Pyecharts之散点图的视觉扩展

在数据可视化中,散点图是一种强大的工具,可用于展示数据点在二维平面上的分布情况。通过添加各种视觉组件,我们可以让散点图变得更加丰富和具有表现力,更能反映数据的多维度特征。本文将详细解读如何为散点图添加不同的视觉组件&a…

大数据Hadoop入门

第一部分 1.课程内容大纲和学习目标 2.数据分析和企业数据分析方向 3.数据分析基本流程步骤 4.大数据时代 5.分布式和集群 6.Linux操作系统概述 7.VMware虚拟机概念与安装 第二部分 1.课程内容大纲-学习目标 2.Apache Hadoop介绍、发展简介、现状 3.Apache Hadoop特性优点、国…

跨域问题解释及前后端解决方案(SpringBoot)

一、问题引出 有时,控制台出现如下问题。 二、为什么会有跨域 2.1浏览器同源策略 浏览器的同源策略 ( Same-origin policy )是一种重要的安全机制,用于限制一个源( origin )的文档或 脚本如何与另一个源的资源进行…

【PyTorch】3.张量类型转换

个人主页:Icomi 在深度学习蓬勃发展的当下,PyTorch 是不可或缺的工具。它作为强大的深度学习框架,为构建和训练神经网络提供了高效且灵活的平台。神经网络作为人工智能的核心技术,能够处理复杂的数据模式。通过 PyTorch&#xff0…

79,【3】BUUCTF WEB [GXYCTF2019]BabysqliV3.0

进入靶场 现在做多了其他类型,老喜欢这个页面了,老朋友admin password 老规矩,桌面有啥就传啥 第一次点击上传什么都不显示 点了两次就有下面开头的那段话了 他在最后还偷偷骂了一句 确实连不上 再回顾一下题目 buuctf打不开了 只能看别人…

[STM32 标准库]定时器输出PWM配置流程 PWM模式解析

前言: 本文内容基本来自江协,整理起来方便日后开发使用。MCU:STM32F103C8T6。 一、配置流程 1、开启GPIO,TIM的时钟 /*开启时钟*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); //开启TIM2的时钟RCC_APB2PeriphClockC…

立创开发板入门ESP32C3第八课 修改AI大模型接口为deepseek3接口

#原代码用的AI模型是minimax的API接口,现在试着改成最热门的deepseek3接口。# 首先按理解所得,在main文件夹下,有minimax.c和minimax.h, 它们是这个API接口的头文件和实现文件,然后在main.c中被调用。所以我们一步步更改。 申请…

InceptionV1_V2

目录 不同大小的感受野去提取特征 经典 Inception 网络的设计思路与运行流程 背景任务:图像分类(以 CIFAR-10 数据集为例) Inception 网络的设计思路 Inception 网络的运行流程 打个比方 多个损失函数的理解 1. 为什么需要多个损失函数&#…

汽车OEMs一般出于什么目的来自定义Autosar CP一些内容

汽车OEMs在使用AUTOSAR CP(Classic Platform)协议时,可能会根据自身的特定需求对标准协议进行修改,形成自己的企业标准(企标)。这种修改通常是为了满足特定的硬件平台、功能需求、安全要求或优化性能。以下是一些常见的修改场景和例子: 1. 硬件平台适配 企业可能会根据…

centos操作系统上以service形式运行blackbox_exporter监控网页端口

文章目录 前言一、blackbox_exporter是什么二、使用步骤1.获取二进制文件2.准备部署脚本3.执行命令,进行部署4.prometheus中增加需要监控页面的job信息 三、查看部署结果四、配置到grafana中总结 前言 记录一下centos操作系统上以简单的service形式运行blackbox_ex…

XML实体注入漏洞攻与防

JAVA中的XXE攻防 回显型 无回显型 cve-2014-3574

解决vsocde ssh远程连接同一ip,不同端口情况下,无法区分的问题

一般服务器会通过镜像分身或者容器的方式,一个ip分出多个端口给多人使用,但如果碰到需要连接同一user,同一个ip,不同端口的情况,vscode就无法识别,如下图所示,vscode无法区分该ip下不同端口的连接&#xff…

dl学习笔记:(7)完整神经网络流程

完整神经网络流程 反向传播链式求导 代码实现反向传播动量法Momentum开始迭代为什么选择小批量TensorDataset与DataLoader 反向传播 由于本节的公式比较多,所以如果哪里写错了漏写了,还请帮忙指出以便进行改正,谢谢。 在前面的章节已经介绍过…

【esp32-uniapp】uniapp小程序篇02——引入组件库

一、引入组件库(可自行选择其他组件库) 接下来介绍colorUI、uview plus的安装,其他的安装可自行查找教程 1.colorUI weilanwl/coloruicss: 鲜亮的高饱和色彩,专注视觉的小程序组件库 下载之后解压,将\coloruicss-ma…

CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测(Matlab完整源码和数据)

CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测(Matlab完整源码和数据) 目录 CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测(Matlab完整源码和数据)预测效果基本介绍 CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测一…

算法中的移动窗帘——C++滑动窗口算法详解

1. 滑动窗口简介 滑动窗口是一种在算法中常用的技巧,主要用来处理具有连续性的子数组或子序列问题。通过滑动窗口,可以在一维数组或字符串上维护一个固定或可变长度的窗口,逐步移动窗口,避免重复计算,从而提升效率。常…

MFC结构体数据文件读写实例

程序功能将结构体内数组数据写入文件和读出 2Dlg.h中代码: typedef struct Student {int nNum[1000];float fScore;CString sss;}stu; class CMy2Dlg : public CDialog { // Construction public:CMy2Dlg(CWnd* pParent NULL); // standard constructorstu stu1; ... } 2Dl…

数据结构:二叉树—面试题(一)

目录 1、相同的树 2、另一棵树的子树 3、翻转二叉树 4、平衡二叉树 5、对称二叉树 6、二叉树遍历 7、二叉树的分层遍历 1、相同的树 习题链接https://leetcode.cn/problems/same-tree/description/ 描述: 给你两棵二叉树的根节点 p 和 q ,编写一…

绘制决策树尝试2 内含添加环境变量步骤

目录 step1 ai码 ai改 step2 下面就是环境配置问题 “ExecutableNotFound: failed to execute WindowsPath(‘dot’), make sure the Graphviz executables are on your systems’ PATH” dot -v愣是没有​编辑 graphviz安装指导 对于Windows用户: 对于Lin…