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

🐓 计算机系统组成

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

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

相关文章

springboot+AOP+自定义注解+RBAC自定义操作权限管理02

springbootAOP自定义注解RBAC自定义操作权限管理02!经过上一次的凑话部署,我们这一次,增加了一个后端管理系统菜单栏的访问权限的数据表。用角色表,和这张菜单栏的数据表进行映射。不同的角色,可以看见不同的菜单栏目。 这个就是菜…

Maya------创建多边形工具

配合导入图像使用 Tab键可以删除一个点! 模型不能超过4边面!多切割工具进行连接! 15.maya常用命令5.创建多边形工具 反转 双显 挤出_哔哩哔哩_bilibili

不做烧钱买卖,2025年实现双百万量产!奇瑞和大卓智能「不客气」了

随着造车从技术思维向用户思维转变,车企的自研边界逐渐清晰。 一方面,前两年各车企围绕高阶智驾制定的目标,基本都没有达到预期。尤其是疯狂烧钱堆料,并没能换来销量暴涨和C端消费者的满意度,也让部分车企也开始反思&…

电子电器架构——车载网关转发buffer心得汇总

电子电器架构——车载网关转发buffer心得汇总 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力…

leetcode-704.二分查找

题目 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums [-1,0,3,5,9,12], target 9输出: 4 解释: 9 …

Unity使用反向遮罩实现镂空shader

实现步骤: 1,创建两个材质球,遮罩层的属性如下: 被遮罩层的属性如下: 2,使用两张image,遮罩层在父节点,被遮罩层在子节点,然后分别添加材质球与镂空图片 实现效果如下&a…

使用AnimeGAN2将照片动漫化--入门

使用AnimeGAN2将照片动漫化--入门 1. 环境准备2. 使用3. 总结 1. 环境准备 首先下载AnimeGAN2:https://github.com/TachibanaYoshino/AnimeGANv2.git 然后使用conda 创建一个python3.6的环境conda create -n pyt36 python3.6: 创建一个requirements.txt文件&am…

Linux文本三剑客-awk

一、awk的介绍: 1.awk的简介: AWK 是一种处理文本文件的语言,是一个强大的文本分析工具 可以在无交互的模式下实现复杂的文本操作 相较于sed常作用于一整个行的处理,awk则比较倾向于一行当中分成数个字段来处理,因…

骨传导耳机是什么?使用骨传导耳机可以保护听力吗?

骨传导耳机是一种特殊的蓝牙耳机,通过人体骨骼来传递声音,可以绕过耳道和耳膜直接传达音频到听者的内耳,开放双耳的佩戴方式可以在享受音乐或通话的同时保持对周围环境的感知,这种设计在户外活动或运动等场景下的使用尤为实用&…

Qt关于qss文件的添加使用

把ui设计得更加的养眼,肯定需要对控件的属性进行设置,qt中就是关于qss文件的使用。 那么如何创建和添加qss文件呢 1.新建一个文本文件的txt 2.将文本文件的后缀改为qss(类比html) 3.放置到项目的资源文件夹下 4.添加资源文件 5.在…

分治 (地毯填补问题)

地毯填补问题 题目描述 相传在一个古老的阿拉伯国家里,有一座宫殿。宫殿里有个四四方方的格子迷宫,国王选择驸马的方法非常特殊,也非常简单:公主就站在其中一个方格子上,只要谁能用地毯将除公主站立的地方外的所有地…

DevOps落地笔记-05|非功能需求:如何有效关注非功能需求

上一讲主要介绍了看板方法以及如何使用看板方法来解决软件研发过程中出现的团队过载、工作不均、任务延期等问题。通过学习前面几个课时介绍的知识,你的团队开始源源不断地交付用户价值。用户对交付的功能非常满意,但等到系统上线后经常出现服务不可用的…

【正点原子STM32】STM32时钟系统(时钟树、时钟源、分频器和倍频系数、锁相环、STM32CubeMX时钟树、系统时钟配置步骤)

一、认识时钟树 1.1、什么是时钟?1.2、认识时钟树(F1)1.3、认识时钟树(F4)1.4、认识时钟树(F7)1.5、认识时钟树(H7) 二、配置系统时钟 2.1、系统时钟配置步骤2.2、外设…

基于鲸鱼优化的knn分类特征选择算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 鲸鱼优化算法(WOA) 4.1.1 包围猎物 4.1.2 螺旋式搜索 4.1.3 更新策略 4.2 K近邻(KNN)分类器 4.3 基于WOA的KNN分类特征选择算法 5.完…

[C#][opencvsharp]winform实现自定义卷积核锐化和USM锐化

【锐化介绍】 图像锐化(image sharpening)是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,分为空间域处理和频域处理两类。图像锐化是为了突出图像上地物的边缘、轮廓,或某些线性目标要素的特征。这种滤波方法…

如何在centos7上配置为桥接模式

一、打开虚拟机的设置页面,设置虚拟机桥接模式如图:选择桥接模式(复制物理网络连接可选) 二、net0对应桥接模式的配置,如下方式选择 三、 在 CentOS 7 中,通过编辑网络配置文件来配置网络参数。找到 /etc…

IO多路复用机制——select、poll、epoll的原理和区别

select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,…

使用JMeter+Grafana+Influxdb搭建可视化性能测试监控平台

【背景说明】 使用jmeter进行性能测试时,工具自带的查看结果方式往往不够直观和明了,所以我们需要搭建一个可视化监控平台来完成结果监控,这里我们采用三种JMeterGrafanaInfluxdb的方法来完成平台搭建 【实现原理】 通过influxdb数据库存储…

共性化异步任务处理

背景 考虑到现有业务很多依赖于MQ的方式进行,这种方式需要依赖于MQ,发送消息到mq和消费mq消息时需要了解mq消息结构进行相应处理; 对于后续对同样的事件做其他处理的人如不能提前了解到已有相应消息发到了mq就得再发一次消息到mq等。 图1.1…

Paper - 蛋白质刚性对接(Rigid Protein-Protein Docking)的 ElliDock 算法

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/135973005 论文:ElliDock: Rigid protein-protein docking via equivariant elliptic-paraboloid interface prediction, ICLR 2024 …
最新文章