【愚公系列】软考中级-软件设计师 001-计算机系统知识(考点简介)
🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。
🏆《近期荣誉》:2023年华为云十佳博主,2022年CSDN博客之星TOP2,2022年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏
🚀前言
软考中级-软件设计师是根据国家软件职业资格标准制定的一种软件设计师资格认证考试。该考试旨在评估考生在软件设计理论、软件工程方法和软件设计实践等方面的能力。
软考中级-软件设计师考试内容包括软件工程基础知识、需求分析与软件设计、软件架构设计、软件详细设计、软件设计实践、软件设计管理和软件设计规范等方面的内容。考试形式主要为选择题和案例分析题,通过考试可以获得软考中级-软件设计师资格证书。
软考中级-软件设计师资格证书是国家承认的软件设计师资格证明,具有一定的市场竞争力和职业发展空间。持有该证书的软件设计师可以在软件设计、软件需求分析、软件架构设计等方面从事专业工作,并在职业发展中具备较大的优势。
🚀一、完整计算机系统知识
🔎1.计算机系统基础
-
计算机系统基本硬件组成
-
运算器
-
控制器
-
存储器
-
输入设备
-
输出设备
-
-
中央处理单元
-
CPU的功能
-
程序控制
-
操作控制
-
时间控制
-
数据处理
-
-
CPU的组成
-
运算器
-
算术逻辑单元
-
累加器寄存器
-
数据缓冲寄存器
-
状态条件寄存器
-
-
控制器
-
指令寄存器
-
程序计数器
-
地址寄存器
-
指令译码器
-
寄存器组
-
-
-
多核CPU
-
Intel"双芯"
-
AMD"双核"
-
-
-
数据表示
-
原码
-
反码
-
补码
-
移码
-
-
校验码
-
奇偶效验码
-
海明码
-
循环冗余效验码
-
🔎2.计算机体系结构
计算机体系结构是指计算机的概念性结构和功能属性。
计算机组织是指计算机体系结构的逻辑实现,包括机器内的数据流和控制流的组成以及逻辑设计等(常称为计算机组成原理)。
计算机实现是指计算机组织的物理实现。
-
计算机体系结构分类
-
宏观
-
单处理系统
-
并行处理与多处理系统
-
分布式处理系统
-
-
微观
-
Flynn分类法
-
冯泽云分类法
-
Handler分类法
-
Kuck分类法
-
-
-
指令系统
-
指令集体系结构的分类
-
操作数在CPU中的存储方式
-
显示操作数的数量
-
操作数的位置
-
指令的操作
-
操作数的类型与大小
-
-
CISC和RISC指令系统
-
指令的流水处理
- 流水(Pipelining)技术
-
-
存储系统
-
存储器的层次结构
-
存储器分类
-
相联储存器
- 按内容访问
-
高速缓存
-
虚拟存储器
现代系统提供一种主存的抽象,称为虚拟存储
-
外存储器
-
磁盘阵列技术
-
存储域网络
-
-
输入输出技术
-
微型计算机中最常用的内存与接口的编制方法
-
内存与接口地址独立编址方法
-
内存与接口地址统一编址方法
-
-
直接程序控制
-
无条件传送
-
程序查询方式
-
-
中断方式
-
直接存储器存取方式
- 直接内存存取DMA
-
输入/输出处理机
通道是一个具有特殊功能的处理器,又称为输入输出处理器,它分担了CPU的一部分功能,可以实现对外围设备的统一管理,完成外围设备与主存之间的数据传送。
-
-
总线结构
-
总线的分类
-
数据总线
-
地址总线
-
控制总线
-
-
常见总线
-
ISA总线
-
EISA总线
-
PCI总线
-
PCI Express总线
-
前端总线
-
RS-232C
-
SCSI总线
-
SATA
-
USB
-
IEEE-1394
-
IEEE-488总线
-
-
🔎3.安全性、可靠性与系统性能评测
-
加密技术与认证技术
-
加密技术
-
对称加密技术
-
数据加密标准
-
三重DES
-
RC-5
-
国际数据加密算法
-
高级加密标准
-
-
非对称加密技术
-
-
认证技术
-
PKI
-
认证机构
-
数字证书库
-
密钥备份及恢复系统
-
证书作废系统
-
应用接口
-
-
Hash函数与信息摘要
-
数字签名
-
SSL协议
-
数字时间戳技术
-
-
-
计算机系统的性能评价
-
系统评测的常用方法
-
时钟频率
-
指令执行速度
-
等效指令速度法
-
数据处理速率
-
-
基准测试程序
-
整数测试程序
-
浮点测试程序
-
理论峰值浮点速度
-
Linpack基准测试程序
-
-
SPEC基准程序
-
TPC基准程序
-
-
-
计算机可靠性
🚀二、计算机系统知识(3-7分)(重点)
🔎1.CPU
CPU(Central Processing Unit)又称中央处理器,是计算机的核心部件之一,负责执行计算机程序中的指令以及进行数据处理和运算。CPU被安装在计算机主板上,它是控制和执行计算机操作的主要组件。
CPU主要由控制单元、算术逻辑单元和寄存器组成。控制单元负责解释和执行指令,控制各个部件的操作,调度和管理计算机的运行。算术逻辑单元则负责进行各种算术和逻辑运算,如加减乘除、比较和逻辑判断等。寄存器则是用于暂时存储和操作数据的高速存储器,用于临时存储指令和数据。
CPU可以看作是计算机的大脑,它根据指令集执行计算机程序中的各种操作。计算机程序中的指令包括加载数据、存储数据、运算操作、逻辑判断等,通过控制和操作寄存器、内存、输入输出设备等实现。CPU的运算速度和性能直接影响计算机的运行速度和效率。
🔎2.数据的表示
🦋2.1 定点数
定点数是一种在计算机中表示和处理实数的方法。它使用定点表示法,即将实数表示为一个整数和一个固定的小数位数。其中,小数点的位置是固定的,不会随着数值的大小而变化。定点数通常用于需要高精度的计算,例如金融、科学计算等领域。
定点数的表示形式可以是固定小数点表示法,即小数点的位置固定在某个位置,例如123.45可以表示为12345,小数点位置固定在第三位;也可以是浮动小数点表示法,即使用科学计数法表示,例如1.2345E+2。
定点数的优点是可以表示较大或较小的数字,并且计算速度相对较快。但它的缺点是不能表示非常大或非常小的数字,并且对于小数部分的精度有限。在进行计算时,需要注意舍入误差和溢出的问题。
🦋2.2 浮点数
浮点数是计算机中用于表示实数的一种数据类型。它可以表示包括小数、负数和无限大等特殊值在内的各种实数。浮点数的特点是可以表示非常大或非常小的数值,并具有一定的精度。
浮点数是按照科学计数法表示的,由两部分组成:尾数和指数。尾数是一个有限位数的小数,而指数表示浮点数的大小范围。浮点数的精度是由尾数的位数决定的,通常有单精度(32位)和双精度(64位)两种表示方式。
浮点数在计算机中的表示方式是通过一定的编码规则来实现的,最常见的浮点数表示方式是IEEE 754标准。这个标准规定了浮点数的格式、运算规则以及处理特殊值的方法。
在程序中,浮点数的数据类型通常是float(单精度)或double(双精度),具体使用哪种类型取决于精度和范围的要求。
🔎3.校验码
🦋3.1 奇偶校验
奇偶校验是一种在计算机系统中用来检测和纠正数据传输错误的方法。它通常用于串行通信中的数据传输,以确保数据的完整性。
奇偶校验的基本原理是在传输的数据中添加一个奇偶位(即校验位),使得数据位和校验位中1的个数为奇数或偶数。发送方通过计算数据位中1的个数,确定应该发送的校验位是奇数个还是偶数个。接收方在接收数据后,再次计算数据位和校验位中1的个数,如果结果与发送方计算的校验位不一致,则说明数据传输过程中出现了错误。
奇偶校验有两种常见的方式:奇校验和偶校验。在奇校验中,如果数据位和校验位中1的个数是奇数,则校验位为0;如果是偶数,则校验位为1。在偶校验中,情况相反,即如果数据位和校验位中1的个数是奇数,则校验位为1;如果是偶数,则校验位为0。
奇偶校验可以在一定程度上检测和纠正传输错误,但并不能完全保证数据的完整性。如果数据位和校验位中1的个数相同,但某一个位翻转了,奇偶校验无法检测到这个错误。因此,在实际应用中,通常会结合其他的错误检测和纠正方法来提高数据传输的可靠性。
🦋3.2 CRC循环冗余校验
CRC(Cyclic Redundancy Check)循环冗余校验是一种常用的错误检测技术,用于在数据传输过程中检测错误。CRC校验通过在数据中附加一些冗余位,然后利用多项式除法进行计算,得到一个校验码。接收端根据接收到的数据和校验码再进行一次计算,如果结果为0,则说明数据传输没有错误。
CRC校验的具体计算过程如下:
-
首先,选择一个生成多项式G(通常为一个二进制数),并确定需要计算的校验码的位数,例如n位。
-
将生成多项式G左移n位,并对数据进行左移n位。
-
对左移后的数据与左移后的生成多项式G进行按位异或运算。
-
得到的结果作为新的数据,重复第2步和第3步,直到左移后的数据的位数小于生成多项式G的位数。
-
最后,得到的余数就是CRC校验码。
在数据传输过程中,发送方将原始数据和CRC校验码一起发送给接收方。接收方接收到数据后,根据接收到的数据和CRC校验码再进行计算,如果计算得到的结果为0,则说明数据传输没有错误。如果计算得到的结果不为0,则说明数据传输中存在错误,并且接收方可以根据校验码的错误位置进行错误的定位和纠正。
🦋3.3 海明校验
海明校验是一种用于检测和纠正数据传输错误的技术。它由理查德·W·海明提出,并被广泛应用于计算机系统中。
海明校验通过在数据中添加冗余位来实现错误检测和纠正。在发送数据之前,发送方会计算并添加校验位,然后将数据和校验位一起发送。接收方在接收数据后会再次计算校验位,并与接收到的校验位进行比较。如果两者不匹配,表示数据传输过程中发生错误。
海明校验通过计算校验位的奇偶性来实现错误检测和纠正。具体而言,发送方会根据数据中的奇偶性计算校验位,将其添加到数据中。接收方在接收数据后会再次计算校验位,并与接收到的校验位进行比较。如果两者不匹配,表示数据传输过程中发生错误。通过使用校验位的奇偶性信息,接收方可以判断出出错的位,并进行纠正。
海明校验可以检测和纠正单位错误,即数据中的一个位发生错误。根据校验位的数量不同,海明校验可以检测和纠正不同数量的错误。例如,如果校验位的数量为1,海明校验可以检测并纠正一个位的错误。如果校验位的数量为2,海明校验可以检测并纠正两个位的错误。
🔎4.存储系统
🦋4.1 多级存储结构
多级存储结构是计算机系统中一种常见的存储层次结构,用于实现高效的数据存储和访问。它包括以下几个层次:
-
寄存器:寄存器是最接近CPU的存储器,用于存放当前正在执行的指令和数据。由于寄存器位于CPU内部,因此具有非常快的访问速度,但容量较小。
-
高速缓存:高速缓存是位于主存和寄存器之间的一层存储器,用于存放CPU频繁使用的指令和数据。相比主存,高速缓存具有更快的访问速度,但容量也较小。高速缓存通常分为多级,例如L1、L2、L3等,其中L1缓存离CPU最近,速度最快,容量最小。
-
主存储器:主存储器是计算机系统中存放程序和数据的主要存储器,通常是计算机系统中容量最大的存储器。主存储器的访问速度相对较慢,但仍比较快于辅助存储器。主存储器通常采用随机存取存储器(RAM)的形式。
-
辅助存储器:辅助存储器是一种容量较大、速度较慢的存储设备,用于存放大量的程序、数据和文件。辅助存储器包括硬盘、固态驱动器(SSD)和磁带等。辅助存储器与主存储器之间通过输入/输出(I/O)接口进行数据的传输。
多级存储结构通过将数据存储在不同的层次中,实现了存储器的层次化管理,既提高了访问速度,又满足了大容量存储的需求。计算机系统通过缓存管理和虚拟内存等技术来自动管理多级存储结构,以达到高效的数据访问和管理。
🦋4.2 cache
Cache是计算机系统中的一种高速缓存,用于存储最近频繁使用的数据和指令,以提高数据访问速度。Cache通常位于CPU和主内存之间,作为内存和CPU之间的缓冲区。
Cache的作用主要体现在以下几个方面:
-
提高数据访问速度:Cache存储了最近频繁使用的数据和指令,当CPU需要访问这些数据时,可以直接从Cache中读取,而不需要访问主内存,从而大大提高了数据的访问速度。
-
减少对主内存的访问次数:由于Cache的速度比主内存快很多,因此可以减少CPU对主内存的访问次数,从而减少了数据传输的开销,提高了系统的效率。
-
提高系统的吞吐量:由于Cache可以提供更快的数据访问速度,因此可以大大提高系统的吞吐量,提高CPU的利用率。
Cache的实现方式主要有以下几种:
-
直接映射:缓存地址直接映射到主内存地址,每个缓存地址可以对应一条或多条主内存地址。
-
组相联映射:将主内存地址划分为多个组,每个组中有多个缓存地址,每个主内存地址只能映射到某个组中的某个缓存地址。
-
全相联映射:主内存地址可以映射到任意一个缓存地址,没有固定的映射关系。
Cache的大小一般以字节为单位来衡量,常见的大小有4KB、8KB、16KB等。Cache的大小决定了能够存储的数据量,一般来说,Cache越大,可以存储的数据越多,但相应的成本也会增加。
🦋4.3 磁盘管理
磁盘管理是计算机系统中的一个重要部分,它涉及到对磁盘的分区、文件系统的创建与管理、磁盘调度以及磁盘缓存等方面。
-
磁盘分区:磁盘分区是将物理磁盘划分为多个逻辑分区,每个分区可以独立使用。常见的分区方式有主分区、扩展分区和逻辑分区。
-
文件系统:文件系统是指对磁盘上存储的文件进行管理的一套规则,它定义了文件的组织和访问方式。常见的文件系统有FAT、NTFS、ext4等。
-
磁盘调度:磁盘调度是指操作系统为了提高磁盘访问效率而采取的一系列调度算法。常见的磁盘调度算法有FIFO、SCAN、C-SCAN、LOOK等。
-
磁盘缓存:磁盘缓存是指将磁盘上的数据缓存在内存中,以提高数据的读写速度。操作系统会将最常访问的数据块缓存在内存中,减少对磁盘的访问次数。
🔎5.输入输出技术
🦋5.1 程序控制
程序控制是指计算机系统中,程序通过控制执行流程和数据运算等方式来实现特定功能的过程。程序控制可以分为顺序控制、选择控制和循环控制。
顺序控制是指程序按照事先规定的顺序逐条执行,每条指令执行完后再执行下一条指令。顺序控制是程序控制中最基本的形式,也是最简单的形式。
选择控制是指根据条件的不同,选择不同的执行路径。条件判断一般通过条件语句(如if语句、switch语句)来实现。选择控制可以根据不同的条件选择执行不同的指令或代码块。
循环控制是指通过循环结构来反复执行某一段代码,直到满足退出循环的条件。循环控制可以根据循环条件的不同,选择执行多次或者不执行。
程序控制可以通过多种方式实现,如条件语句、循环语句、跳转语句等。在高级语言中,程序控制一般通过控制结构(如if语句、for循环、while循环)来实现。计算机系统中,程序控制是由计算机硬件和操作系统共同实现的。硬件提供指令执行的功能,操作系统负责管理和调度程序的执行。
🦋5.2 中断
在计算机系统中,中断是一种机制,用于处理紧急事件或者外部设备发来的请求。当发生一个中断事件时,处理器会立即暂停当前任务,保存当前状态,跳转到一个特定的中断处理程序中去执行相应的处理操作。中断可以是硬件中断和软件中断两种类型。
硬件中断是由外部设备触发的,如键盘、鼠标等设备的输入事件,或者硬件错误或故障等。硬件中断是通过在处理器和外部设备之间的信号线上发送一个中断请求信号来触发的。当处理器收到中断请求信号时,它会立即响应中断,暂停当前任务,保存当前任务的上下文,并跳转到中断处理程序中去执行相应的操作。
软件中断是由程序主动触发的,用于向处理器发送一个中断信号,让处理器执行相应的中断处理程序。软件中断可以是操作系统或应用程序发出的,用于请求操作系统提供某种服务或执行某种功能。软件中断是通过执行特定的中断指令(如INT指令)来触发的,该指令指定了中断号,处理器会根据中断号来执行相应的中断处理程序。
中断是计算机系统中实现异步处理的重要机制,可以使处理器在处理其他任务时能够及时响应外部设备的请求或处理紧急事件。中断使得计算机系统能够并发执行多个任务,提高系统的效率和响应能力。同时,中断也可以使得处理器能够更好地管理和调度任务,保证系统的稳定性和可靠性。
🦋5.3 DMA
DMA(Direct Memory Access)是一种计算机系统中用于高速数据传输的技术。在传统的计算机系统中,当一个设备(如硬盘、网络适配器)需要将数据传输到内存中时,通常是通过CPU进行中断驱动的方式实现的。而DMA技术则可以使设备能够直接访问内存,而无需通过CPU的参与。
DMA技术的主要优势是可以让CPU免于处理一些简单且耗时的数据传输任务,从而释放出CPU的资源用于执行更重要的任务。具体的工作流程如下:
- CPU和设备之间建立DMA通道,即设备可以直接访问内存的通道。
- 设备通过DMA通道向内存控制器发出请求,请求将数据传输到内存中的特定位置。
- 内存控制器确认请求,并将数据传输到指定的内存位置中。
- 设备完成数据传输后,通过DMA通道向CPU发出中断信号,通知CPU数据传输完成。
- CPU在得到中断信号后,可以对传输的数据进行进一步的处理。
由于DMA技术可以避免数据传输过程中频繁的CPU中断,因此它能够提高系统的数据传输速率和效率。在许多高性能计算机系统中,DMA技术被广泛应用于大规模数据传输和实时数据处理等场景,可以明显提升系统的整体性能。
🦋5.4 输入输出处理机
输入输出处理机是计算机系统中负责处理输入输出的设备。它是连接计算机和外部设备的接口,负责将计算机和外部设备之间的数据进行传输和交换。
输入输出处理机通常包括以下几个组件:
-
控制器(Controller):控制器是输入输出处理机的主要组件,负责管理和控制外部设备的工作。它包含一组控制电路,用于向外部设备发送指令和接收设备返回的数据。
-
接口(Interface):接口是输入输出处理机与计算机系统之间的连接通道,它负责将计算机系统的信号转换成外部设备所需要的信号,并将外部设备的信号转换成计算机系统可识别的信号。
-
缓冲区(Buffer):缓冲区是用于存储输入输出数据的临时存储区域。它可以缓冲输入数据,使得计算机系统能够按照自己的处理速度进行数据处理,而不受外部设备的速度限制。同样,缓冲区也可以缓冲输出数据,使得计算机系统能够按照外部设备的接收速度进行数据传输。
输入输出处理机通过与计算机系统的总线相连,实现与主存、CPU和外部设备之间的数据传输和交换。当计算机系统需要进行输入操作时,输入输出处理机从外部设备中读取数据,并将数据传输到计算机系统的主存中;当计算机系统需要进行输出操作时,输入输出处理机从主存中读取数据,并将数据传输给外部设备进行输出。
输入输出处理机的主要作用是解决计算机系统和外部设备之间的速度不匹配问题。计算机系统的处理速度通常远远高于外部设备的速度,而输入输出处理机能够以适当的速度读取和写入数据,使得计算机系统和外部设备能够有效地进行数据交互。同时,输入输出处理机还可以提供一些其他功能,如数据格式转换、数据校验等。
🔎6.计算机体系结构
🦋6.1 Flynn分类法
Flynn分类法是计算机系统中常用的分类方法,根据指令流和数据流的并行性将计算机系统划分为四类。这四类分别是:
-
单指令单数据流 (Single Instruction Single Data, SISD):这是最简单的计算机系统类型,只有一个处理器执行单个指令,并处理单个数据流。这是传统的串行计算机系统。
-
单指令多数据流 (Single Instruction Multiple Data, SIMD):在这种系统中,一个处理器同时执行多个相同的指令,但每个指令处理不同的数据流。这种系统常用于并行处理大规模数据,如图像处理和科学计算。
-
多指令单数据流 (Multiple Instruction Single Data, MISD):这种系统中,多个处理器同时执行不同的指令,但每个指令处理相同的数据流。这种系统相对较少使用,因为在大多数情况下并行执行相同的指令并不高效。
-
多指令多数据流 (Multiple Instruction Multiple Data, MIMD):这是最常见的并行计算机系统类型,其中多个处理器同时执行不同的指令,并处理不同的数据流。每个处理器都可以独立地执行自己的指令和数据。这种系统可用于并行处理不同的任务或数据。
Flynn分类法对于理解并行计算机系统的结构和性能非常重要,它帮助人们选择适合特定应用场景的计算机系统类型,并设计高效的并行算法和程序。
🦋6.2 CISC与RISC
CISC (Complex Instruction Set Computer)和RISC (Reduced Instruction Set Computer)是计算机系统中两种不同的指令集架构。
CISC是一种指令集架构,旨在通过提供复杂的指令来减少编程工作量。这种架构的处理器通常具有大量的指令集,其中包括执行复杂操作的单个指令。CISC处理器执行每条指令所需的时钟周期数不同,这使得它们在执行某些复杂操作时比RISC处理器更高效。然而,CISC指令集需要更多的硬件支持,因此处理器的设计更加复杂。
RISC是一种指令集架构,旨在通过使用更少、更简单的指令来提高处理器性能。这种架构的处理器执行每条指令所需的时钟周期数相同,这使得它们能够以更高的频率运行。RISC指令集通常包括基本的算术、逻辑和数据传输指令,而复杂操作则由多个简单指令组合完成。这种简化的指令集使得RISC处理器更容易设计、更高效,并且能够更好地利用计算机系统的硬件资源。
CISC和RISC之间的区别主要是在于指令集的复杂性和处理器的设计方法。CISC处理器倾向于具有更多的指令和功能,但处理器设计更加复杂,而RISC处理器则倾向于使用更少、更简单的指令,但设计更简单且性能更高。
在现代计算机系统中,CISC和RISC已经有了一些交叉和混合的特性。一些处理器采用了混合的指令集架构,既包含CISC指令,又包含RISC指令。这种混合架构旨在兼顾CISC和RISC的优点,提供更高的性能和更好的兼容性。另外,由于技术的进步,现代处理器已经能够在硬件层面对复杂指令进行优化,使得复杂指令的执行效率有所提高。因此,CISC和RISC之间的区别在现代计算机系统中不再像过去那样明显。
🦋6.3 流水线技术
流水线技术是一种提高计算机系统性能的重要技术,通过将指令执行过程划分为多个阶段,并在不同的阶段同时执行不同指令的部分,从而实现了多指令并行执行。
流水线技术的主要特点包括以下几点:
-
分阶段执行:将指令执行过程划分为多个阶段,如取指、译码、执行、访存和写回等,每个阶段只完成一个指令的部分操作。
-
并行执行:在流水线的各个阶段,不同指令的相同阶段可以同时执行,从而实现多指令的并行执行。
-
重叠执行:由于每个指令的执行过程被划分为多个阶段,并且不同指令的不同阶段可以同时执行,因此在同一时间周期内可以同时执行多条指令的不同阶段。
-
提高吞吐量:通过流水线技术,可以大大提高计算机系统的吞吐量,即单位时间内完成的指令数目。
-
增加延迟:由于流水线技术的引入,每个指令的执行时间被划分为多个阶段,因此单条指令的执行时间会略微增加。
流水线技术的实现需要解决一些问题,如数据冒险、控制冒险和结构冒险等。为了解决这些问题,可以采用一些技术手段,如插入空指令(空操作)、数据旁路、分支预测和乱序执行等。
流水线技术在现代计算机系统中得到广泛应用,如CPU、图形处理器(GPU)等,极大地提高了计算机系统的性能。
🦋6.4 冯诺依曼结构和哈弗结构
冯诺依曼结构(von Neumann architecture)是一种基于存储程序的计算机结构。它由冯诺依曼于1945年提出,是现代计算机的基础架构。冯诺依曼结构的主要特点包括:
-
存储器:计算机内部拥有一个存储器,用于存储程序和数据。程序和数据在存储器中以二进制形式表示。
-
控制单元:控制单元负责执行程序中的指令,它从存储器中读取指令,并根据指令的内容执行相应的操作。
-
算术逻辑单元(ALU):ALU执行算术和逻辑运算,如加减乘除、比较和逻辑与或非等。
-
输入输出(I/O):计算机通过输入输出设备与外部世界进行交互,如键盘、显示器、硬盘等。
哈佛结构(Harvard architecture)是另一种计算机结构,它与冯诺依曼结构相比具有以下主要差异:
-
存储器分离:哈佛结构将程序存储器和数据存储器分开,分别用于存储程序和数据。这样可以实现并行访问程序和数据,提高计算机的性能。
-
性能优化:由于程序存储器和数据存储器分开,哈佛结构可以采用不同的存储技术和访问方式,以优化程序和数据的访问性能。
-
程序和数据的访问方式:在哈佛结构中,程序和数据使用不同的总线进行访问,可以独立地进行读取和写入操作。
冯诺依曼结构和哈佛结构是两种不同的计算机系统结构,各有其优势和适用场景。冯诺依曼结构适合大多数通用计算机应用,而哈佛结构则适用于一些特定的应用场景,如嵌入式系统和数字信号处理等。
🔎7.总线
在计算机系统中,总线是指连接计算机各个组件(如中央处理单元、内存、外部设备等)之间传输数据和控制信息的一组电子线路。总线可以分为三种类型:数据总线、地址总线和控制总线。
数据总线用于传输数据,一般是双向的,它确定了计算机系统中数据的宽度。数据总线通常使用并行传输方式,即每个数据位都通过一个线路进行传输。
地址总线用于指示内存或外设的位置,它决定了计算机系统的寻址能力,即可以寻址的内存和外设的数量。地址总线的宽度决定了计算机系统的可寻址空间大小。
控制总线用于传输控制信号,包括操作命令、时序信号等。控制总线通常是单向的,从中央处理单元向其他组件传输命令和控制信号。
总线是计算机系统中各个组件之间进行通信和数据传输的重要通道,通过总线,不同的组件可以相互交互和协调工作,实现计算机系统的功能。
🔎8.加密和认证技术
在计算机系统中,加密和认证技术被广泛应用于保护数据的安全性和完整性。下面是一些常见的加密和认证技术:
-
对称加密:使用相同的密钥进行加密和解密过程。常用的对称加密算法有DES、AES等。
-
非对称加密:使用公钥和私钥进行加密和解密过程。常用的非对称加密算法有RSA、Diffie-Hellman等。
-
散列函数:将输入数据映射为固定长度的输出数据,常用于数据完整性验证。常见的散列函数有MD5、SHA-1、SHA-256等。
-
数字签名:结合非对称加密和散列函数,能够对数据进行认证和防篡改。常见的数字签名算法有RSA、DSA等。
-
SSL/TLS:用于保护网络通信的协议,使用非对称加密和对称加密相结合的方式,确保数据的机密性、完整性和身份认证。
-
数字证书:用于证明某个实体(如网站、个人)的身份和公钥的有效性。常见的数字证书格式有X.509证书。
-
双因素认证:结合多个身份验证因素,如密码、指纹、短信验证码等,提高用户身份认证的安全性。
-
VPN:虚拟私人网络,通过加密和认证技术,实现在公共网络上建立安全的专用网络,保护数据传输的安全性。
-
文件加密:对文件进行加密,使得只有拥有正确密钥的人可以解密和访问文件。
-
数据库加密:对数据库中的敏感数据进行加密,保护数据的机密性。
🚀感谢:给读者的一封信
亲爱的读者,
我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。
如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。
我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。
如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。
再次感谢您的阅读和支持!
最诚挚的问候, “愚公搬代码”
- 点赞
- 收藏
- 关注作者
评论(0)