软件设计师笔记系列(一)

2023-09-21 09:07:35

😀前言
在日常生活和工作中,我们依赖于各种各样的计算机系统来完成一系列复杂的任务。计算机系统不仅仅是硬件设备的集合,它还包括一系列用于协调硬件工作的软件和协议。了解计算机系统的基础知识,包括其构造和功能,是理解现代技术世界的关键步骤。在这一章节中,我们将探讨计算机系统的核心组件和原理,从中央处理单元(CPU)的功能和组成,到数据表示、存储系统、计算机体系结构的发展和安全认证技术等方面。通过深入理解这些基本概念,我们可以更好地理解计算机系统的工作机制和其在我们生活中的作用。

🏠个人主页:尘觉主页
在这里插入图片描述

🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉😉

在csdn获奖荣誉: 🏆csdn城市之星2名
⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 💓Java全栈群星计划top前5
⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 🤗 端午大礼包获得者
⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 🥰阿里云专家博主
⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 😉亚马逊DyamoDB结营

💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在次感谢啦😊

第一章 计算机系统知识(5~6分)

1.1 计算机系统基础知识

1.1.2中央处理单元

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

1. CPU的功能

例:计算机执行指令的过程中,需要由A 产生每条指令的操作信号并将信号送往相应的部件进行处理,以完成指定的操作。(2019年上半年)

A. CPU 的控制器   B. CPU的运算器

C. DMA 控制器    D. Cache 控制器

2. CPU的组成

CPU主要由运算器、控制器、寄存器组和内部总线等部件组成。

1)运算器

运算器由算术逻辑单元、累加寄存器、数据缓冲寄存器和状态条件寄存器等组成。

例:在CPU中,常用来为ALU执行算术逻辑运算提供数据并暂存运算结果的寄存器是**D **.(2014年上半年)

A. 程序计数器    B. 状态寄存器

C. 通用寄存器    D. 累加寄存器

2)控制器

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

例:在 CPU 中,B 不仅要保证指令的正确执行,还要能够处理异常事件。(2012年下半年)

A. 运算器     B. 控制器

C. 寄存器组    D. 内部总线

例:计算机指令一般包括操作码和地址码两部分,为分析执行一条指令,其 C。(2010年上半年)

A. 操作码应存入指令寄存器(IR),地址码应存入程序计数器(PC)

B. 操作码应存入程序计数器(PC),地址码应存入指令寄存器(IR)

C. 操作码和地址码都应存入指令寄存器(IR)

D. 操作码和地址码都应存入程序计数器(PC)

1.1.3 数据表示

按权展开求和 n进制 -> 十进制  每一位八进制数与三位二进制数对应

除n取余法 十进制 -> n进制  每一位十六进制数与四位二进制数对应

计算机的基本单位

位(比特)bit b 字节byte B 千字节 KB 兆字节 MB 吉字节 GB 太字节 TB

1 B = 8 b 1 KB = 1024 B 1 MB = 1024 KB 1 GB = 1024 MB 1 TB = 1024 GB

补码再取补码等于源码。

±0的移码相同

采用补码可以简化计算机运算部件的设计。

寻址(P 20):

  • 立即寻址:操作数就包含在指令中。
  • 直接寻址:操作数存放在内存单元中,指令中直接给出操作数所在存储单元的地址。
  • 寄存器寻址:操作数存放在某一寄存器中,指令中给出存放操作数的寄存器名。
  • 寄存器间接寻址:操作数存放在内存单元中,操作数所在存储单元的地址在某个
    寄存器中。
  • 间接寻址:指令中给出操作数地址的地址。
  • 相对寻址:指令地址码给出的是一个偏移量(可正可负),操作数地址等于本条指令的地址加上该偏移量。
  • 变址寻址:操作数地址等于变址寄存器的内容加偏移量。
1.1.4 校验码
  1. 奇偶校验码:只能检错,不能纠错
  2. 海明码:码距 = 2 ,检错能力 码距 >= 3,才有可能有纠错能力
  3. 循环冗余校验码: 可以检错,但不能纠错

1.2 计算机体系结构

1.2.1 计算机体系结构的发展
CISC (Complex Instruction Set Computer) 和 RISC (Reduced Instruction Set Computer)
RISC精简指令集计算机CISC复杂指令集计算机
指令种类少、精简多、丰富
指令复杂度低(简单)高(复杂)
指令长度固定变化
寻址方式复杂多样
实现(译码)方式硬布线控制逻辑(组合逻辑控制器)微程序控制技术
通用寄存器数量多、大量一般
流水线技术支持支持
1.2.2 存储系统
  1. SRAM(静态随机存储器)
  2. DRAM(动态随机存储器)
  3. RAM(读/写存储器)
  4. ROM(只读存储器)
  5. PROM(可编程的只读存储器)

按寻址方式分类

  • 随机存储器(RAM)
  • 顺序存储器(SAM)
  • 直接存储器(DAM)

Cache 与主存地址的映射是由硬件自动完成的
数据总线:数地控,数据总线、地址总线和控制总线

指令的流水线处理

1.顺序方式 2.重叠方式 3.流水方式

中断

在这里插入图片描述

输入输出(I/O)控制方式
  1. 程序查询方式
  • CPU和 I/O(外设)只能串行工作 CPU需要一直轮询检查,长期处于忙等状态。CPU 利用率低

  • 一次只能读/写一个字

  • 由 CPU 将数放入内存

在这里插入图片描述

  1. 中断驱动方式
  • I/O 设备通过中断信号主动向 CPU 报告 I/O 操作已完成

  • CPU 和 I/O(外设)可并行工作

  • CPU 利用率得到提升

  • 一次只能 读/写 一个字

  • 由 CPU 将数据放入内存

在这里插入图片描述

  1. 直接存储器方式(DMA)
  • CPU 和 I/O(外设)可并行工作
  • 仅在传送数据块的开始和结束时才需要 CPU 的干预
  • 由外设直接将数据放入内存
  • 一次读写的单位为”块“而不是字
    在这里插入图片描述

1.3 全性、可靠性与系统性能评测基础知识

1.3.2 加密技术和认证技术
加密技术与认证技术
  • 加密技术:
    1. 对称加密(私有密钥加密)
      加密和解密是同一把密钥,只有一把密钥
      密钥分发有缺陷 1. 加密解密速度很快 2. 适合加密大量明文数据
    2. 非对称密钥(公开密钥加密)
      加密和解密不是同一把密钥,一共有两把密钥 分别是公钥和私钥
      用公钥加密只能用私钥解密 用私钥加密只能用公钥解密
      不能通过一把推出另一把 用接收方的公钥加密明文,可以实现防止窃听的效果
      密钥分发没有缺陷 1.加密解密速度很慢
    3. 混合加密
  • 认证技术:
    1. 摘要:将发送的明文进行Hash算法后得到的摘要放在密文后一起发送过去,与接收方解密后的明文进行相同的Hash算法得到的摘要进行对比,如果一致,则没有篡改,否则有篡改。
    2. 数字签名:发送方用自己的私钥对摘要进行签名(加密)得到数字签名放在密文后一起发送过去
      接收方用发送方的公钥对数字签名进行验证(解密)如果验证成功则该消息没有被假冒且不能否认,否则该消息的真实性为假冒发送。
    3. 数字证书:用户向CA(权威机构)机构申请数字证书,将个人信息和公钥发给CA机构,CA机构颁给用户数字证书,数字证书用CA的私钥进行签名(加密)用CA的公钥验证(解密)数字证书得到用户的公钥。

认证是处理主动攻击

对称密钥(私钥、私有密钥加密)算法(共享密钥加密算法)非对称密钥(公钥、公开密钥加密)算法
DESRSA
3DESECC
RC-5DSA
IDEAHash函数
AESMD5 摘要算法(128位散列值)
RC4SHA-1 安全散列算法
1.3.3 计算机可靠性
计算机可靠性模型

串联系统:

R = R 1 R 2 ⋅ ⋅ ⋅ R n R= R₁R₂···Rn R=R1R2⋅⋅⋅Rn

并联系统:

R = 1 − ( 1 − R 1 ) ( 1 − R 2 ) ⋅ ⋅ ⋅ ( 1 − R n ) R = 1-(1-R₁)(1-R₂)···(1-Rn) R=1(1R1)(1R2)⋅⋅⋅(1Rn)

😄总结

经过这一章节的学习,我们已经对计算机系统的基本构造和工作原理有了深刻的理解。我们探讨了CPU的核心功能和组成,理解了数据的不同表示方式和转换方法,同时也了解了计算机体系结构的历史和发展。通过对不同的存储系统和I/O控制方式的学习,我们学到了计算机如何有效地管理和存储数据。最后,我们还介绍了一些基本的安全和认证技术,包括加密技术和认证技术,帮助我们更好地保护数据和信息安全。希望这一章节能为您提供一个坚实的基础,为深入探讨更多高级主题做好准备。

😁热门专栏推荐
想学习vue的可以看看这个

java基础合集

数据库合集

redis合集

nginx合集

linux合集

手写机制

微服务组件

spring_尘觉

springMVC

mybits

等等等还有许多优秀的合集在主页等着大家的光顾感谢大家的支持

🤔欢迎大家加入我的社区 尘觉社区

文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁
希望能和诸佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

更多推荐

深度学习归一化原理及代码实现(BatchNorm2d,LayerNorm,InstanceNorm,GroupNorm)

文章目录概述形式原理理解源代码实现1.BatchNorm2d2.LayerNorm3.InstanceNorm4.GroupNorm概述本文记录总结pytorch中四种归一化方式的原理以及实现方式。方便后续理解和使用。本文原理理解参考自https://zhuanlan.zhihu.com/p/395855181形式四种

【无标题】

文章目录ListView是怎么渲染的?ListView怎么做到控制性能?_ViewportElementRenderViewport先从这一块朴素的代码开启我们的旅程:ListView.builder(itemBuilder:((context,index){returnListTile(title:Text("thi

【PyTorch 攻略 (3/7)】线性组件、激活函数

一、说明神经网络是由层连接的神经元的集合。每个神经元都是一个小型计算单元,执行简单的计算来共同解决问题。它们按图层组织。有三种类型的层:输入层、隐藏层和输出层。每层包含许多神经元,但输入层除外。神经网络模仿人脑处理信息的方式。二、神经网络的组件激活功能确定是否应该激活神经元。神经网络中发生的计算包括应用激活函数。如果一

循环神经网络——下篇【深度学习】【PyTorch】【d2l】

文章目录6、循环神经网络6.7、深度循环神经网络6.7.1、理论部分6.7.2、代码实现6.8、双向循环神经网络6.8.1、理论部分6.8.2、代码实现6.9、机器翻译6.9.1、理论部分6.10、编码器解码器架构6.10.1、理论部分6、循环神经网络6.7、深度循环神经网络6.7.1、理论部分设计多个隐藏层,目的是为

科技云报道:分布式存储红海中,看天翼云HBlock如何突围?

科技云报道原创。过去十年,随着技术的颠覆性创新和新应用场景的大量涌现,企业IT架构出现了稳态和敏态的混合化趋势。在持续产生海量数据的同时,这些新应用、新场景在基础设施层也普遍基于敏态的分布式架构构建,从而对存储技术提出了新的要求。正因如此,分布式存储凭借高安全性、可靠性、可用性、易于扩展等特性,在敏态业务中得到了快速发

python安全工具开发笔记(五)——python数据库编程

一、PythonDBAPI在没有PythonDBAPI之前:有PythonDBAPI之后:PythonDBAPI包含内容PythonDBAPI访问数据库流程二、PythonMysql开发环境三、Python数据库编程实例数据库连接对象connection连接对象:建立Python客户端与数据库的网络连接创建方法:MyS

影响服务器稳定性的因素:

影响服务器稳定性的因素:1、服务器配置。配置是影响稳定性的因素之一,包括cpu、内存、带宽、硬盘、操作系统等,配置低了无法支撑网站服务器的正常运行,卡顿、崩溃,就会影响到服务器的稳定性。2、恶意GJ。如果服务器遭受了ddoslcc等恶意流量GJ,也会影响到服务器的稳定性,假如服务器没有搞好安全防范对策,非常容易因DDo

Linux —— 线程

目录一,线程概念二,Linux进程与线程三,Linux线程控制创建线程线程终止线程等待线程分离linux线程互斥一,线程概念在一程序内,一个执行路线称为线程thread,即线程是一个进程内部的控制序列;一切进程至少都有一个执行线程;线程在进程内部运行,本质是在进程地址空间内运行;在Linux系统中,CPU看到的PCB都

【校招VIP】前端JS之深拷贝和浅拷贝

考点介绍js中的浅拷贝和深拷贝,只是针对复杂数据类型(Objcet,Array)的复制问题。简单来讲浅拷贝和深拷贝都可以实现在原有对象的基础上再生成一份的作用。但是根据新生成的对象能否影响到原对象可以分为浅拷贝和深拷贝。前端JS之深拷贝和浅拷贝-相关题目及解析内容可点击文章末尾链接查看!一、考点题目1.实现浅拷贝的方法

RenderDoc基础类 + Python“基础”代码

这应该是国内第一份甚至是唯一份讲renderDoc的免费二开的文档,基于Python,Qt等(这是一个冷门的学科,本身做TA比例就只有1/10,技术TA的比例又1/10,然后会做工具几年资历的又1/10,假如1000个观众,应该只有1个观众会往下看,谢谢观看!!)RenderDoc生命周期和常用类qdCaptureVi

webpack、vue.config.js

一、webpack学习简述webpack是一个静态资源打包工具,它会以一个或多个文件作为打包的入口,将我们整个项目的文件编译组合成一个或多个文件输出出去。输出的文件就是编译好的文件,可以运行在浏览器中。一般的我们将webpack输出的文件叫做bundle为什么需要打包工具随着现在前端技术的发展,我们会使用各种框架(Vu

热文推荐