【软考设计师笔记】计算机系统基础知识

news2024/11/16 9:37:27

🐓 计算机系统组成

计算机系统是由硬件和软件组成的,它们协同工作来运行程序。计算机的基本硬件系统由 运算器、控制器、存储器、输入设备和输出设备5大部件组成。运算器、控制器等部件被集成 在一起统称为中央处理单元(Central Processing Unit, CPU)。CPU是硬件系统的核心,用于 数据的加工处理,能完成各种算术、逻辑运算及控制功能。存储器是计算机系统中的记忆设备, 分为内部存储器和外部存储器。前者速度高、容量小,一般用于临时存放程序、数据及中间结 果。而后者容量大、速度慢,可以长期保存程序和数据。输入设备和输出设备合称为外部设备 (简称外设),输入设备用于输入原始数据及各种命令,而输出设备则用于输出计算机运行的结果。

 🐓 原反补移码

移码:补码的基础上将符号位取反。注意:移码只能使用在整数上面

算术移位

加减法运算的溢出判断

 🐓 指令系统

一个处理器支持的指令和指令的字节级编码称为其指令集体系结构(Instruction Set Architecture , ISA),不同的处理器族支持不同的指令集体系结构,因此一个程序不能跨机器使用

 🐓 指令集体系结构的分类

按特点分类

1.操作数在cpu中的存储方式

2.显示操作数的数量

3.操作数的位置

4.指令的操作

5.操作数的类型和大小

按暂存机制分类

1.堆栈(stack)

2.累加器(Accumulator)

3.寄存器组(a set of Registers)

 🐓 CISC和RISC

指令集的两种发展途径

CISC(complex Instruction Set Computer,复杂指令集计算机)的基本思想是进一步增强原有指令的功能,用更为复杂的新指令取代原来软件子程序完成的功能,实现软件功能的硬化,导致机器的指令系统越来越庞大,复杂,事实上,幕墙使用的绝大多数计算机都属于CISC类型

优势:

1.指令丰富,功能强大:CISC技术拥有大量的指令和寻址方式,可以执行各种复杂的运算和操作,满足各种不同的应用需求。

2.寻址方式灵活:CISC技术拥有大量的指令和寻址方式,可以执行各种复杂的运算和操作,满足各种不同的应用需求。

3.以微程序控制器为核心:CISC技术的指令存储器与数据存储器共享同一个物理存储空间,通过微程序控制器实现指令的执行和控制。

弊端 :

1.指令集过于复杂,庞大

2.微程序技术是CISC的重要支柱,每条复杂指令都要通过执行一段解释性微程序才能完成,需要CPU周期较长,会导致机器的处理速度变慢。

3.指令系统过于庞大,高级语言编译程序选择目标指令的范围很大,难以优化编译生成的代码

4.CISC强调完善的中断控制,势必导致动作较多,设计复杂

5.CISC对芯片的设计要求较高,成本提高

RISC(Reduced Instruction Set Computer,精简指令集计算机)的基本思想是通过减少指令总数和简化指令功能降低硬件的要求,使指令可以单周期执行,并能够通过优化编译提高指令的执行速度,采用的硬布线控制逻辑优化编译程序。

优势:

1.指令集精简:RISC技术通过减少指令集的数量来简化处理器结构,从而提高处理器的效率和可靠性。

2.高吞吐量:RISC技术通过流水线技术和并行处理技术,实现了高吞吐量,提高了处理器的性能。

3.低功耗:RISC技术简化了处理器结构,降低了硬件复杂度,从而减少了功耗。

4.易于移植:RISC技术简化了处理器结构,降低了硬件复杂度,从而减少了功耗。

弊端:

1.指令集数量过少:由于RISC技术的指令集数量较少,可能会导致某些复杂的运算和操作无法得到快速执行,需要多次调用或者使用其他指令代替

2.实现难度较大:由于RISC技术的处理器结构较为简单,对于一些特定应用场景可能不太适合,需要重新设计或优化处理器结构。

3.对硬件要求较高:由于RISC技术需要高吞吐量和低功耗,对于硬件的要求较高,可能会导致成本增加。

4.兼容性较差:由于RISC技术的指令集和结构与传统的CISC技术有所不同,可能会导致与一些传统的软件不兼容。

优化方向

1.指令集优化:精简指令集,减少指令的种类和数量,使得处理器更容易实现,同时也可以减少程序中的指令数量,提高执行效率。

2.硬件架构优化:采用流水线技术、并行处理技术等,提高处理器的执行效率和吞吐量。同时,优化硬件结构,减少功耗和成本。

3.编译器优化:采用优化编译技术,将高级语言程序转换成高效的机器码。优化编译器可以分析和识别程序中的热点和瓶颈,通过优化代码和指令序列,提高程序的执行效率。

4.寄存器分配优化:合理分配和使用寄存器,减少访存次数和数据传输开销,提高指令的执行效率。

5.内存管理优化:采用内存管理技术,减少内存访问次数和缓存失效率,提高程序的执行效率。

6.并行计算优化:利用多核处理器或多线程技术,将程序中的任务并行化,提高程序的执行效率。

指令的流水处理

指令控制方式:顺序方式,重叠方式,流水方式

顺序方式:

1.指令与指令之间顺序串行执行,即上一条指令全部执行完后,才能开始执行下一条指令。

2.控制简单,节省设备。

3.执行指令的速度慢,功能部件的利用率低。

重叠方式流水:

包括一次重叠和二次重叠方式。一次重叠方式中,将第k条指令的执行阶段和第k+1条指令的取指阶段同时进行,可以缩短指令执行时间。二次重叠方式中,将第k+1条指令提前到分析第k条指令的期间完成,可以进一步提高指令执行效率。

1.顺序执行:指令按照顺序一个接一个地处理,控制简单,但速度慢,利用率低。

2.重叠执行:在解释第K条指令的操作完成之前,就可开始解释第K+1条指令。通常采用一次重叠,即在任何时候,指令分析部件和指令执行部件都只有相邻两条指令在重叠解释。这种方式提高了速度,控制也不太复杂。但会出现冲突、转移和相关等问题,设计时必须想办法解决。

流水线方式流水

一种更先进的指令执行方式。它将一个任务分解为若干个子任务,每个子任务由一个专门的部件执行,子任务之间采用流水线的方式连续执行,可以显著提高指令执行速度。流水线方式流水的关键在于解决数据相关和转移相关问题,以及处理异常情况。

1.将一个任务分解为多个子任务,每个子任务由专门的部件执行,并依靠多个部件并行工作来缩短指令执行时间。

2.流水线中各功能段的时间应尽量相等,否则将引起堵塞、断流。

3.只有连续不断地提供同一种任务时才能发挥流水线的效率,所以在流水线中处理的必须是连续任务。

4.流水线需要有装入时间和排空时间。装入时间是指第一个任务进入流水线到输出流水线的时间,排空时间是指最后一个任务进入流水线到输出流实现的时间。

5.流水线存在数据冒险、控制冒险等问题,需要采取相应的解决方法。

RISC中流水线技术

超流水线技术

一种更先进的指令执行方式,它通过将多条指令重叠执行来提高处理器的效率。在RISC中,超流水线技术通常用于进一步提高处理器的性能和吞吐量。

基本思想:多条指令放入一个流水线中,让它们同时执行。这样一来,处理器可以在一个时钟周期内完成多条指令的执行,从而提高了处理器的效率和吞吐量。

超流水线技术的关键:在于如何解决指令之间的冲突和依赖问题。由于多个指令同时执行,它们可能会存在数据相关和资源相关的问题,导致流水线被阻塞或延迟。因此,需要设计合理的调度算法和硬件机制来解决这些问题,以保证处理器能够高效地工作。

总的来说,超流水线技术是一种非常有效的指令执行方式,它可以显著提高处理器的性能和吞吐量。然而,超流水线技术也带来了新的挑战和问题,需要仔细设计和实现才能获得最佳的性能和效率。

超标量技术

RISC中另一种重要的指令执行方式。与超流水线技术不同,超标量技术通过增加处理器中执行单元的数量来提高指令的执行速度。

基本思想是在一个时钟周期内同时执行多个操作,以提高处理器的吞吐量和性能。为了实现这一目标,超标量处理器通常包含多个功能单元,例如浮点单元、整数单元等。这些功能单元可以并行工作,并在一个时钟周期内完成多个操作。

超标量技术的优点在于它可以充分利用处理器的硬件资源,提高处理器的执行效率。然而,超标量技术也存在一些挑战和问题。例如,由于指令的数量增加,需要更多的内存和缓存来存储指令和数据,这可能会导致功耗和成本的增加。此外,由于指令的执行顺序在编译阶段确定,因此对于运行时的变化适应性较差。

总的来说,超标量技术是一种有效的指令执行方式,它可以提高处理器的性能和吞吐量。然而,在实际应用中,需要根据具体的需求和场景来选择合适的指令执行方式,包括流水线技术、超流水线技术和超标量技术等。

超长指令字技术

一种旨在利用指令级并行性的指令集架构。传统的中央处理器(CPU、处理器)大多允许程序指定指令按顺序执行,而VLIW处理器允许程序明确指定指令并行执行。

VLIW处理器指令字较长,一般为128位,甚至上千位。它把许多条指令连在一起,形成一个非常长的指令字,通过将多条指令打包,形成一条长指令,从而提高处理器的性能。

总的来说,超长指令字技术是一种非常有效的指令执行方式,它能够充分利用软件的作用

 🐓 并发性的解决

并发性包括同时性和并发性。其中同时性是指两个或两个以上的事件在同一时刻发生,并发性是指两个或两个以上的事件在同一时间间隔内连续发生。

并行处理从计算机信息处理的角度来看可分为:

1.存储器操作并行

2.处理器操作步骤并行(流水线处理机)

3.处理器操作并行(阵列处理机)

4.指令,任务,作业并行(多处理机)

阵列处理机

一种特殊类型的计算机架构。其核心是一个由多个处理单元(PE)构成的阵列,这些处理单元在单一控制部件(CU)的控制下对各自的数据进行相同的运算和操作

工作原理是通过将大量相同的处理单元按一定方式互连成阵列,然后在单一控制部件的控制下,对各自所分配的不同数据并行运行同一组指令规定的操作。这种并行处理方式使得阵列处理机在处理大量数据时能够实现非常高的运算效率和吞吐率

分类 浮点阵列处理机和位片式阵列处理机两类。浮点阵列处理机主要用于浮点运算,而位片式阵列处理机则主要用于位操作。这些处理机通常由多个完全相同的处理部件和一个公共的控制部件组成,每个处理部件包括一个处理单元和一个存储器。

优点在于其高度的并行性和计算效率。然而,其缺点也很明显,即其脉动阵列的构形与特定计算任务和算法密切相关,具有某种专用性,这限制了其应用范围。此外,阵列处理机的设计和实现也相对复杂,需要考虑到处理单元之间的通信和同步等问题。

阵列处理机是一种高性能的计算机架构,适用于需要处理大量数据和进行高速运算的应用场景。然而,由于其专用性和复杂性,其在实际应用中的使用受到了一定的限制

并行处理机

SIMD和MIMD是典型的并行计算机,SIMD有共享存储器和分布存储器两种形式

具有共享存储的SIMD结构

PE为处理单元,CU为控制部件,M为共享存储器,ICN为互联网络

具有分布存储器的SIMD结构

PE为处理单元,CU为控制部件,PEM为局部存储器,ICN为互联网络

多处理机

多台处理机组成的系统,每台处理机有属于自己的控制部件,可以执行独立的程序,共享一个主存储器和所有的外部设备。

多指令流多数据流计算机。在多处理机系统中,机器之间的互联技术决定了多处理机的性能。需要满足高频带,低成本,连接方式的多样性以及在不规则通信下连接的无冲突性。

 🐓 主存与高速缓存地址映射

直接映射

优点:地址变换简单,缺点是灵活性差

全相联映射

优点:灵活性好,缺点:变换比较复杂,速度较慢

组相联映射

前面两种方式的折中,是规定组采用直接映射块的方式进行映射

 🐓 虚拟存储器

对贮存的一种抽象,成为虚拟存储(Virtual Memory),使用虚拟地址的概念来访问主存,使用专门的MMU将虚拟地址转换为物理地址访问主存。

内存模型

方式

页式:页表硬件小,查表速度快但不利于存储保护

段式:界限分明便于程序的模块华设计,易于编译修改和保护,但主存利用率低,会产生大量碎片,查表速度较慢

段页式:这种方法,但地址变换速度比较慢

 🐓 多中断处理办法

多中断信号线法

每个中断源都有属于自己的一根中断请求信号线向CPU提出中断请求

中断软件查询法

当CPU检测到一个中断请求信号以后,就转入到中断服务程序去轮询每一个中断源以确定是谁发出了中断请求信号,对每个设备的响应优先级由软件设定

菊花链法

硬件查询法,所有的I/O模块共享一根共同的中断请求线,而中断确认信号则以链式在各模块间相联。当CPU检测到中断请求信号时,则发出中断请求信号。中断确认信号依次在I/O模块间传递,知道发出请求的模块,该模块则把它的ID送往数据线由CPU读取。

总线仲裁法

一个I/O设备在发出中断请求之前,必须鲜活的总线控制权,所以可以通过总线仲裁机制来裁定水可以发出中断请求信号,当CPU发出中断响应信号后,该设备会把自己的ID发往数据线。

中断向量表法

中断向量表用来保存各个中断源的中断服务程序的入口地址,当外设发出中断请求信号(INTR)以后,由中断控制器(INTC)确定其中断号,并根据中断号查找中断变量表来取得其中断服务程序的入口地址。同时INTC把中断请求信号提交给CPU

 🐓 信息安全5要素

机密性,完整性,可用性,可控性,可审查性

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

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

相关文章

第8章 python深度学习——波斯美女

第8章 生成式深度学习 本章包括以下内容: 使用 LSTM 生成文本 实现 DeepDream 实现神经风格迁移 变分自编码器 了解生成式对抗网络 人工智能模拟人类思维过程的可能性,并不局限于被动性任务(比如目标识别)和大多数反应性任…

Linux进程详解

如有错误或有补充,以及任何的改进意见,请在评论区留下您的高见,同时文中给出大部分示例 即是您暂时无法在Linux中查看,您也可以知道各种操作的功能以及输出 如果觉得本文写的不错,不妨点个赞,收藏一下&am…

基于ssm的法律咨询系统(有报告)。Javaee项目,ssm项目。

演示视频: 基于ssm的法律咨询系统(有报告)。Javaee项目,ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Sp…

mybatisplus-多数据源配置

1. 流程 pom文件yml配置多数据源具体服务添加注解DS(“***”) 1.pom文件 <!--mybatis plus 起步依赖--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.0</vers…

292. Nim Game(Nim 游戏)

题目描述 你和你的朋友&#xff0c;两个人一起玩 Nim 游戏&#xff1a; 桌子上有一堆石头。 你们轮流进行自己的回合&#xff0c; 你作为先手 。 每一回合&#xff0c;轮到的人拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。 假设你们每一步都是最优解。请编写一个函数…

生成式AI应用开发参考架构

人机交互正在迅速经历软件开发在过去二十年中从未见过的巨大范式转变。 从传统的基于规则的系统到复杂的生成人工智能 (GAI) 模型&#xff0c;破译用户意图并提供准确、上下文丰富的响应的方法已变得至关重要。 在本系列文章中&#xff0c;我将深入探讨利用 GAI 重新构想应用程…

Trinamic推出步进电机低压微型电机驱动芯片

前言 TRINAMIC运动控制有限公司宣布推出全球最小的具有专利技术StealthChop™的单芯片电机驱动器。TMC2300为2相步进电机设置了高达1.2A RMS的标准和1.8V…11V DC的电压范围&#xff0c;它只需最低的功耗&#xff0c;让人根本觉察不到有电机的存在。 从现在开始&#xff0c;您只…

springboot139华强北商城二手手机管理系统

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

数学知识第七期 高斯消元

前言 高斯大家应该都挺熟悉的吧&#xff0c;伟大的数学家&#xff0c;希望大家能够熟练掌握他的知识&#xff01;&#xff01;&#xff01; 一、高斯消元的基本内容 高斯消元法&#xff08;Gaussian Elimination&#xff09;是一种重要的线性代数算法&#xff0c;用于求解线…

vue3中多个表格怎么同时滚动并且固定表头

说明&#xff1a;这里需分为两种情况来做。第一种亲情况就是没有修改过el-table这个组件的样式&#xff1b;第二种情况就是修改过el-table组件的样式。第一种较为简单就简单略过&#xff0c;这里主要提及第二种做法。 1.需求效果 2.第一种没有修改过el-table这个组件的样式的做…

检测CUDA 是否能访问GPU时回应速度慢【笔记】

SUPWEMICRO 418G-Q20X12 维护记录&#xff1a; 两台设备均已安装CUDA与Pytorch&#xff0c;在检测CUDA 是否能访问GPU&#xff0c;执行torch.cuda.is_available()命令时&#xff0c;一台设备速度秒回应True&#xff0c;但另外一台设备回应速度慢&#xff08;1分钟左右&#xff…

JSON概述以及使用

1&#xff0c;JSON 1.1 概述 概念&#xff1a;JavaScript Object Notation。JavaScript 对象表示法. 如下是 JavaScript 对象的定义格式&#xff1a; {name:"zhangsan",age:23,city:"北京" } 接下来我们再看看 JSON 的格式&#xff1a; {"name&…

linux 使用命令创建mysql账户

目录 前言创建步骤 前言 mysql默认有一个root用户&#xff0c;这个账户权限太大了&#xff0c;用起来不太安全&#xff0c;我们通常是重新那家一个账户用于一般的数据库操作&#xff0c;下面介绍如何通过命令创建一个mysql账户。 创建步骤 登录mysql mysql -u root -p输入roo…

【云上建站】快速在云上构建个人网站3——网站选型和搭建

快速在云上构建个人网站3——网站选型和搭建 一、网站选型二、云市场镜像方式一&#xff1a;方式二&#xff1a;1. 进入ECS实例详情页面&#xff0c;点击停止&#xff0c;确保更换操作系统的之前ECS实例处于已停止状态&#xff0c;点击更换操作系统&#xff0c;进行镜像配置。2…

如何对Ajax请求进行封装操作,解决跨域问题的方法,如何使用core解决跨域

目录 1.Ajax原理 2.为什么要封装 3.如何进行封装 4.如何请求 5.如何解决Ajax跨域问题 6.使用CORS解决Ajax跨域问题 1.服务端 2.客户端 1.Ajax原理 Ajax&#xff08;Asynchronous JavaScript and XML&#xff09;是一种通过在后台与服务器进行少量数据交换&…

29 python快速上手

Python操作MySQL和实战 1. 事务1.1 MySQL客户端1.2 Python代码 2. 锁2.1 排它锁2.2 共享锁 3. 数据库连接池4. SQL工具类4.1 单例和方法4.2 上下文管理 5.其他总结 目标&#xff1a;掌握事务和锁以及Python操作MySQL的各种开发必备知识。 概要&#xff1a; 事务锁数据库连接池…

【EI会议征稿通知】第四届光学与图像处理国际学术会议(ICOIP 2024)

第四届光学与图像处理国际学术会议&#xff08;ICOIP 2024&#xff09; 2024 4th International Conference on Optics and Image Processing 光学器件的实用化、图像处理的更优化等话题深受国内外专家、学者们关注。为推动光学与图像处理的发展&#xff0c;促进该领域学术交…

Python编程小案例——编一个事件提醒弹窗小程序

Python编程小案例——编一个事件提醒弹窗小程序 ​ 平时生活中有时候遇到这样的情况&#xff0c;早上把鸡蛋煮了&#xff0c;然后就进到书房开始忙自己的事了。不知不觉把煮鸡蛋的事彻底忘了&#xff0c;随着时间的推移&#xff0c;厨房里散发出来不正常的锅烧糊的味道&#x…

【Maven基础】依赖插件管理工具

Maven Maven 作用Maven 安装Maven 目录Maven config settings创建 Maven 项目运行 Java 文件Maven 坐标导入 Maven 项目依赖管理依赖配置 依赖传递排除依赖 依赖范围生命周期test跳过 Test Maven 作用 Maven 安装 Maven 目录 bin 存放可执行文件 config 存放 Maven 的配置文件 …

etcd自动化安装配置教程

文章目录 前言一、简介1. 简介2. 特点3. 端口介绍 二、etcd安装教程&#xff08;单机版&#xff09;1. 复制脚本2. 增加执行权限3. 执行脚本4. 查看启动状态5. 卸载etcd 三、etcd安装教程&#xff08;集群版&#xff09;1. 复制脚本2. 增加执行权限3. 分发脚本4. 执行脚本5. 启…