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

【考证须知】IT行业高含金量的证书(传送门) 💖

【软件设计师笔记】程序语言设计考点(传送门) 💖

【软件设计师笔记】操作系统考点(传送门) 💖

🐓 计算机系统组成

计算机系统是由硬件和软件组成的,它们协同工作来运行程序。计算机的基本硬件系统由 运算器、控制器、存储器、输入设备和输出设备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.mzph.cn/news/662944.shtml

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

相关文章

WAF 无法防护的八种风险

一、目录遍历漏洞 测试用例:Apache 目录遍历漏洞 测试环境搭建: apt intsall apache2 && cd /var/www/html/ && rm index.html无法拦截原因: 请求中无明显恶意特征,无法判断为攻击行为 实战数据: 截…

MongoDB聚合操作

文章目录 聚合操作单一作用聚合聚合管道什么是 MongoDB 聚合框架管道(Pipeline)和阶段(Stage)常用的管道聚合阶段聚合表达式数据准备$project$match$count$group accumulator操作符$unwind$limit$skip$sort$lookup案例聚合操作案例…

【机器学习】AAAI 会议论文聚类分析

实验五:AAAI 会议论文聚类分析 ​ 本次实验以AAAI 2014会议论文数据为基础,要求实现或调用无监督聚类算法,了解聚类方法。 1 任务介绍 ​ 每年国际上召开的大大小小学术会议不计其数,发表了非常多的论文。在计算机领域的一些大…

K8s 集群可观测性-数据分流最佳实践

简介 在微服务架构下,一个 k8s 集群中经常会部署多套业务,同时也意味着不同团队、不同角色、不同的业务会在同一集群中,需要将不同业务的数据在不同的空间进行管理和查看。 在传统的主机环境下,这个是可以通过不同的主机部署 Da…

《元梦之星》赛季更新带来“新”内容,为何却被玩家集体声讨?

前段时间,《元梦之星》迎来了“山海奇遇”赛季的重磅更新,诸多“新”内容的上线吸引了很多玩家们的关注,然而在新版本开启之后没有多,新玩法新时装甚至是游戏中的新改动都引起了不少玩家的不满。 在新赛季开启之后,玩家…

Python爬虫http基本原理

HTTP 基本原理 在本节中,我们会详细了解 HTTP 的基本原理,了解在浏览器中敲入 URL 到获取网页内容之间发生了什么。了解了这些内容,有助于我们进一步了解爬虫的基本原理。 2.1.1 URI 和 URL 这里我们先了解一下 URI 和 URL,URI…

抖音弹幕直播玩法汉字找不同文字找不同无人值执守自动玩游戏自带语音播报的开发日志

#找不同# 要解决如下几个问题: 1.声音sprite的录制和调用,解决方案以及解决库如下: howler.min.js://一款不错的音频播放js库。 2.鼠标自动飘浮,使用的库 anime.min.js 3.资源预加载 preload.min.js 4.其它使用到的库 jquery,vue

stack和queue及优先级队列和适配器(包括deque)的介绍

stack stack的介绍 stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组…

Android使用ScrollView导致鼠标点击事件无效

平台 测试平台: RK3288 Android8.1RK3588 Android 12 问题 首先, 这个问题的前提是, 使用的输入设备是**鼠标**, 普通的触摸屏并不会出现这个问题. 大致的流程是APP的UI布局中采用ScrollView作为根容器, 之后添加各类子控件, 在一起准备就绪后, 使用鼠标进行功能测试, 出现…

国产隔离芯片的质量控制与发展趋势

随着电子技术的飞速发展,国产隔离芯片在电力电子、通信设备等领域中扮演着重要角色。然而,随之而来的是对于其质量控制的迫切需求。本文将从结构、制造工艺、测试手段等方面对国产隔离芯片的质量控制进行分析,并展望其未来的发展趋势。 一、国…

element-ui link 组件源码分享

link 组件的 api 涉及的内容不是很多,源码部分的内容也相对较简单,下面从以下这三个方面来讲解: 一、组件结构 1.1 组件结构如下图: 二、组件属性 2.1 组件主要有 type、underline、disabled、href、icon 这些属性,…

KVM-安装-使用-迁移

一. KVM安装 1. 基础安装 # 下载源 curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 安装基础软件 yum -y install tree vim wget bash-completion bash-completion-extras lrzsz net-tools sysstat iotop iftop htop unzip nc nmap …

批量修改文件后缀名

需要将/opt/module/test/路径下的txt文件后缀修改为cpp,并且以年份结尾 代码如下: #!/bin/bashyear2020 directory"/opt/module/test/"cd "$directory" || exit 1for name in *.txt; donew_name"${name%.txt}_${year}.cpp&qu…

SpringBoot security 安全认证(一)——登录验证

本节内容:使用springboot自动security模块实现用户登录验证功能; 登录过程如下图: AuthenticationManager内容实现用户账号密码验证,还可以对用户状态(启用/禁用),逻辑删除,账号是否…

LeetCode.189. 轮转数组

题目 题目链接 分析 首先能想到的就是可以用一个新数组,先保存原数组的后 k 个元素,再保存原数组的前 n−k 个元素。但题目要求不使用额外的数组空间,那么就需要在原数组上做操作。 我们可以先把整个数组翻转一下,这样后半段元…

虚幻UE5Matehuman定制自己的虚拟人,从相机拍照到UE5制作全流程

开启自己的元宇宙,照片扫描真实的人类,生成虚拟形象,保姆级教程,欢迎大家指正。 需要的软件: 制作流程: 一.拍照。 围绕自己拍照,大概20多张图就差不多了,把脑门漏出来,无需拍后脑勺。 拍照方式 例如,拍照时尽量不要在脸上体现出明显的光源方向。

07. 【Linux教程】远程登录

Linux 远程登录 前面介绍了如何安装 Linux 终端工具,本小节介绍本地电脑如何使用 ssh 命令远程登录、Linux 终端工具远程登录的方式,这两种登录方式都是基于 ssh 网络安全协议的,学会使用远程登录 Linux 服务器,会让你对 Linux 系…

Postman(接口测试工具),什么是Postman接口

目录 一.基本介绍 Postman 是什么Postman 快速入门快速入门需求说明 二.Postman 完成 Controller 层测试 需要的代码: Java类request.jspsuccess.jsp1. 完成请求2. 完成请求3. 完成请求4. 完成请求5. 完成请求 三.发送join 目录 一.基本介绍 Postman 是什么 …

使用 Dockerfile 定制镜像详解

使用 Dockerfile 定制镜像详解 1.DockerfileFROM 指定基础镜像RUN 执行命令构建镜像 2.COPY 复制文件3.ADD 更高级的复制文件4.CMD 容器启动命令5.ENTRYPOINT 入口点6.ENV 设置环境变量7.ARG 构建参数8.VOLUME 定义匿名卷9.EXPOSE 暴露端口10.WORKDIR 指定工作目录11.USER 指定…

通过Netbackup恢复Oracle备份实操手册

1、系统环境描述 1 2、恢复前数据备份 2 2.1 在NBU上执行一次完整的备份 2 2.2 查看ORACLE的备份集 3 2.2.1在备份客户端上查看备份集 3 2.2.2在备份服务器netbackup上查看客户端备份集 4 3、本机恢复方法 5 3.1丢失SPFILE文件恢复方法 5 3.2丢失CONTROLFILE文件恢复方…