软件设计师备考笔记(一):计算机系统知识

文章目录

  • 一、计算机系统基础知识
    • (一)计算机系统硬件基本组成
    • (二)中央处理单元
    • (三)数据表示
    • (四)校验码
  • 二、计算机体系结构
    • (一)指令系统
    • (二)存储系统
    • (三)输入/输出技术
    • (四)总线结构
  • 三、安全性、可靠性与系统性能评测基础知识
    • (一)计算机安全概述
    • (二)加密技术和认证技术
    • (三)计算机可靠性
    • (四)计算机系统的性能评价


一、计算机系统基础知识

(一)计算机系统硬件基本组成

  1. 计算机的基本硬件:运算器、控制器、存储器、输入设备、输出设备。

(二)中央处理单元

  1. CPU的主要功能:程序控制、操作控制、时间控制、数据处理。

  2. CPU的主要组成:运算器、控制器、寄存器组和内部总线等。

  3. 运算器:数据加工处理部件,执行所有算术运算、逻辑运算和逻辑测试。

    a. 算术逻辑单元(ALU):负责处理数据,实现对数据的算术运算和逻辑运算。

    b. 累加寄存器(AC):为ALU运算提供工作区,存放操作数和运算结果。

    c. 数据缓冲寄存器(DR):作为数据传送的中转站,缓冲操作速度。

    d. 状态条件寄存器(PSW):保存运算条件码,主要分为状态标志和控制标志。

  4. 控制器:保证程序的正确执行,处理异常事件。

    a. 指令寄存器(IR):接受内存储器取到缓冲寄存器中的指令进行暂存。

    b. 程序计数器(PC):寄存后继指令的地址,计数。

    c. 地址寄存器(AR):保存当前CPU所访问的内存单元的地址。

    d. 指令译码器(ID):根据IR的内容产生各种微操作指令,指令包括操作码和地址码。

  5. CPU中的主要寄存器:数据缓冲寄存器(DR)、指令寄存器(IR)、程序计数器(PC)、数据地址寄存器(AR)、通用寄存器、程序状态字寄存器(PSWR),其中对用户透明的寄存器包括AR、DR、IR。

  6. 指令操作数的几种寻址方式。

    a. 立即寻址:操作数就包含在指令中。

    b. 直接寻址:操作数存放在内存单元,指令给出操作数所在地址。

    c. 寄存器寻址:操作数存放在寄存器中,指令给出操作数所在寄存器。

    d. 寄存器间接寻址:操作数存放在内存单元,指令给出存放内存单元地址的寄存器。

    e. 间接寻址:指令给出存放操作数地址的地址。

    f. 相对寻址:指令地址给出一个偏移量,操作数地址等于本条指令的地址加上该偏移量。

    g. 变址寻址:操作数地址等于变址寄存器的内容加偏移量。

(三)数据表示

  1. 计算机的基本单位:bit、Byte、KB、MB、GB、TB。

  2. 不同进制之间的转换和计算。

  3. 机器数的几种编码方式:原码、反码、补码、移码。

    a. 数值0的原码和反码有两种形式,而补码和移码有唯一的表示形式。

    b. 若机器字长为n,规定偏移量为 2 n − 1 2^{n-1} 2n1,则整数的移码为其补码符号位取反。

    c. 把一个数的补码作为新的原码再求一次补码,能得到这个数的原先的原码。

    d. 计算机系统中常采用补码来表示和运算数据是因为可以简化计算机运算部件的设计。

  4. 定点数和浮点数。

    a. 浮点表示法:一个二进制数N可以表示为更一般的形式 N = 2 E × F N=2^E×F N=2E×F,其中E为阶码,F为尾数。

    b. 浮点数规格化是将尾数的绝对值限定在[0.5,1]区间,当尾数用补码表示时,若M≥0则规格化后M=0.1XXX…X,若M<0则规格化后M=1.0XXX…X。

    c. 如果浮点数的阶码(包括阶符)用R位移码表示,尾数(包括数符)用M位的补码表示,则这种浮点数的数值范围为 − 1 × 2 2 R − 1 − 1 -1×2^{2^{R-1}-1} 1×22R11 ~ + ( 1 − 2 − M + 1 ) × 2 2 R − 1 − 1 +(1-2^{-M+1})×2^{2^{R-1}-1} +(12M+1)×22R11

    d. 工业标准IEEE754: ( − 1 ) S 2 E ( b 0 b 1 b 2 b 3 … b p − 1 ) (-1)^S2^E(b_0b_1b_2b_3…b_{p-1}) (1)S2E(b0b1b2b3bp1) ( − 1 ) S (-1)^S (1)S为数符,E为移码表示的指数, ( b 0 b 1 b 2 b 3 … b p − 1 ) (b_0b_1b_2b_3…b_{p-1}) (b0b1b2b3bp1)为原码表示的尾数。

(四)校验码

  1. 奇偶校验码:通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),码距为2,可以检错但不能纠错。包括水平奇偶校验码、垂直奇偶校验码和水平垂直校验码。

  2. 海明码:在数据为之间的特定位置插入k个校验位,码距为3,可以检错和纠错。设数据位是n位,校验位是k位,则n和k必须满足 2 k − 1 ≥ n + k 2^k-1≥n+k 2k1n+k

  3. 循环冗余校验码:利用生成多项式为k个数据位产生r个冗余校验位来进行编码,再校验码位数越多,该代码校验能力就越强,码距为1,可以检错但不能纠错。在求CRC编码时,采用的是模2运算,加减按位运算不发生借位和进位。


二、计算机体系结构

(一)指令系统

  1. CISC和RISC是指令集发展的两种途径。

    a. 复杂指令集计算机(CISC):指令种类丰富、复杂、长度变化、寻址多样、采用微程序控制技术。目前绝大多数计算机属于这个类型。

    b. 精简指令集计算机(RISC):指令种类较少、精简、长度固定、寻址相对较少,采用硬布线逻辑与微程序相结合的组合逻辑控制器,使用了大量的寄存器。

  2. 指令的流水线技术。

    a. 指令控制方式:顺序方式、重叠方式、流水方式。

    b. 流水线实际吞吐率: T P = n ∑ i = 0 k ∆ t i + ( n − 1 ) m a x { ∆ t 1 , ∆ t 1 , … ,∆ t m } TP=\frac{n}{{\sum_{i = 0}{k}∆t_i}+(n-1)max\lbrace∆t_1,∆t_1,…,∆t_m\rbrace} TP=i=0kti+(n1)max{t1,t1,tm}n

    c. 流水线最大吞吐率: T P = 1 m a x { ∆ t 1 , ∆ t 1 , … ,∆ t m } TP=\frac{1}{max\lbrace∆t_1,∆t_1,…,∆t_m\rbrace} TP=max{t1,t1,tm}1

    d. 流水线加速比: S = n ∑ i = 0 k ∆ t i ∑ i = 0 k ∆ t i + ( n − 1 ) m a x { ∆ t 1 , ∆ t 1 , … ,∆ t m } S=\frac{n\sum_{i = 0}{k}{∆t_i}}{\sum_{i = 0}{k}{∆t_i}+(n-1)max\lbrace∆t_1,∆t_1,…,∆t_m\rbrace} S=i=0kti+(n1)max{t1,t1,tm}ni=0kti

    e. 流水线效率: E = n ∑ i = 0 k ∆ t i k [ ∑ i = 0 k ∆ t i + ( n − 1 ) m a x { ∆ t 1 , ∆ t 1 , … ,∆ t m } ] E=\frac{n\sum_{i = 0}{k}{∆t_i}}{k[\sum_{i = 0}{k}{∆t_i}+(n-1)max\lbrace∆t_1,∆t_1,…,∆t_m\rbrace]} E=k[i=0kti+(n1)max{t1,t1,tm}]ni=0kti

    f. 流水线的操作周期为流水线中最长一段的时间。

(二)存储系统

  1. 存储器的层次结构:CPU内部通用寄存器,Cache,主存储器,联机磁盘存储器,脱机光盘、磁盘存储器。

  2. 存储器的分类。

    a. 按所处位置分类:内存(主存,主要由DRAM构成)、外存(辅存)。

    b. 按构成材料分类:磁存储器、半导体存储器(包括静态Static Memory和动态Dynamic Memory两类)、光存储器。

    c. 按工作方式分类:读/写存储器(RAM)、只读存储器(包括固定只读存储器ROM等多种)

    d. 按访问方式分类:按地址访问的存储器、按内容访问的存储器。

    e. 按寻址方式分类:随机存储器(RAM)、顺序存储器(SAM)、直接存储器(DAM)。

  3. 相联存储器:按内容访问的存储器。

  4. 高速缓冲存储器(Cache):位于CPU与主存之间,由快速半导体存储器构成,地址映射由硬件自动完成,对程序员来说是透明的。

    a. 全相联映像:主存中任一块可以被放置到Cache中的任意一个位置。

    b. 直接映像:主存中的每一块只能被放置到Cache中唯一的一个位置。

    c. 组相联映像:主存中的每一块可以被放置到Cache中唯一的一个组中的任何一个位置。

  5. 虚拟存储器:使用虚拟地址的概念来访问主存,使用专门的MMU将虚拟地址转换为物理地址后访问主存。

  6. 外存储器:用来存放暂时不用的程序和数据,并且以文件的形式存储。

  7. 磁盘阵列技术:有多台磁盘存储器组成的一个快速、大容量、高可靠的外存子系统。

(三)输入/输出技术

  1. 无条件传送方式:可以无条件地接受CPU发来的输出数据和随时向CPU提供需要输入的数据。

  2. 程序查询方式:通过CPU执行程序查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据。这种方式下CPU和I/O只能串行工作,按字读取,CPU利用率低。

  3. 中断驱动方式:当I/O系统与外设交换数据时可以处理其他任务,待I/O系统发出中断请求时CPU保存现场处理I/O数据。这种方式下CPU和I/O可以并行工作,按字读取,CPU利用率得到提高。

    a. 中断:计算机执行过程中当遇到急需处理的事情时,暂停当前正在运行的程序,转去执行有关服务程序,处理完后自动返回源程序。

    b. 中断向量提供中断服务程序的入口地址,中断响应时间指发出中断请求到进入中断服务程序的时间,保存现场是为了中断处理结束后返回来执行源程序。

  4. 直接存储器方式(DMA方式):数据在内存与I/O设备间直接成块传送,CPU只需在过程开始与过程结束时处理,实际操作由DMA硬件执行。

    a. 占用系统总线资源,间隔总线周期,每传送一个数据占用一个存储周期。

    b. 这种方式下CPU和I/O可以并行工作,按块读取,在外设和内存之间建立通路。

(四)总线结构

  1. 总线分类:数据总线(DB)、地址总线(AB)、控制总线(CB)。

  2. PCI总线是并行内总线,SCSI总线是并行外总线。

  3. 内存容量决定内存单元的地址宽度(如内存容量4GB则内存单元地址宽度为32位),字长决定数据总线的宽度(如字长32位则数据总线的宽度为32位)。

  4. 采用总线结构便于实现系统的积木化构造,同时可以减少信息传输线的数量。


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

(一)计算机安全概述

  1. 计算机的三类安全性:技术安全性、管理安全性、政策法律安全性。

  2. 安全性的级别:美国国防部和国家标准局的《可信计算机系统评测标准》TCSEC/TDI将系统划分为4组7个等级。4组D级为最低级别。

  3. 典型的安全威胁:授权侵犯、拒绝服务、窃听、信息泄露、截获/修改、假冒、否认、非法使用、人员疏忽、完整性破坏、媒体清理、物理入侵、资源耗尽。

(二)加密技术和认证技术

  1. 加密技术:关键在于加密/解密算法和密钥管理,主要解决数据窃取(被动攻击)问题。

    a. 对称加密技术(私人密钥加密技术):只有一把密钥,文件加密和解密使用相同的密钥,加密解密速度很快,适合加密大量明文数据,但密钥分发有缺陷。

    b. 非对称加密技术(公开密钥加密技术):有公开密钥和私有密钥,公钥加密只能用私钥解密,私钥加密只能用公钥解密,用接收方的公钥加密明文可以实现防止窃听的效果,但加密解密速度很慢。

    c. 混合加密:对于大量的明文数据,可以先进行对称密钥加密,再把对称密钥和对称密钥加密结果用接收方的公钥加密,防止窃听。

  2. 加密算法:包括对称加密算法和非对称加密算法。

    a. 对称加密算法(私人密钥加密算法):DES、3DES或称TDEA(三重DES)、RC-5、IDEA、AES(分组加密)、RC4。

    b. 非对称加密算法(公开密钥加密算法):RSA、ECC、DSA。

  3. 认证技术:认证技术主要解决网络通信过程中通信双方的身份认可,主要解决数据篡改(主动攻击)、假冒、否认问题。

    a. 信息摘要:信息摘要简要的描述了一份较长的信息或文件,单向Hash函数用于产生信息摘要。

    b. 数字签名:发送者首先对信息生成信息摘要,并使用自己的私钥签名信息摘要,然后把信息本身和已签名的信息摘要一起发出去;接收者使用相同的Hash函数对接收信息本身生成新的摘要,与发送者的信息摘要比较。

    c. 数字证书:用户向CA权威机构申请数字证书,将个人信息和公钥发给CA机构,CA机构颁给用户数字证书,数字证书用CA的私钥进行签名,需要用CA的公钥验证数字证书才能得到用户的公钥。用户通过CA的签名来验证网站的真伪。

  4. 认证算法:Hash函数、MD5摘要算法(生成结果长度128位)、SHA-1安全散列算法

(三)计算机可靠性

  1. 计算机系统的可靠性是指它从开始运行(t=0)到某时刻t这段时间内能正常运行的概率,用R(t)表示。

  2. 计算机可靠性模型。

    a. 串联系统:当且仅当所有子系统都能正常工作时系统才能正常工作, R = R 1 R 2 … R N R=R_1R_2…R_N R=R1R2RN

    b. 并联系统:只要有一个子系统正常工作,系统就能正常工作, R = 1 − ( 1 − R 1 ) ( 1 − R 2 ) … ( 1 − R N ) R=1-(1-R_1)(1-R_2)…(1-R_N) R=1(1R1)(1R2)(1RN)

(四)计算机系统的性能评价

  1. 性能评测的常用方法:时钟频率、指令执行速度、等效指令速度法、数据处理速率、核心程序法;

  2. 基准测试程序:整数测试程序、浮点测试程序、SPEC基准程序、TPC基准程序。

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

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

相关文章

酷得电子机器狗玩具 MCU方案介绍

机器狗是一种多功能、互动性强的机器人,适合家庭和学校环境。它不仅可以陪伴孩子们玩耍,还能帮助他们学习和成长。功能如下: 关节可动:机器狗的关节设计灵活,可以执行各种动作,如“坐下”、“俯卧撑”、“…

【Ant-Desgin-React 步骤条】步骤条配合组件使用

步骤条配合组件使用 基础使用多分组进度 基础使用 /* eslint-disable no-unused-vars */ import React, { useState } from react import { Button, message, Steps, theme } from antd import After from ./components/after import Now from ./components/now const steps …

纯js对比excel小工具

如何使用JavaScript和xlsx.js实现Excel文件对比:实战指南 在日常办公或数据分析工作中,我们经常需要比较两个Excel文件中的数据差异。手动对比不仅耗时费力,还容易出错。本文将带你通过一个简单的网页应用,利用JavaScript和开源库…

【产品经理】如果人人都是产品经理,那么如何提升自己的不可替代性?

任何职业都需要有危机感,不只是产品经理。 人有生老病死,相应的职场上也有升降变离。当乔布斯站在宇宙之巅望着芸芸众生说“活着就是为了改变世界”的时候,这话着实燃烧了我们一把。随之,马化腾、周鸿祎、张小龙、王小川等汹涌而入…

前端canvas项目实战——在线图文编辑器(九):逻辑画布

目录 前言一、 效果展示二、 实现步骤1. 调整布局,最大化利用屏幕空间2. 添加逻辑画布3. 添加遮罩4. 居中显示逻辑画布5. 一个容易被忽视的bug点 三、Show u the code后记 前言 上一篇博文中,我们实现了一组通用的功能按钮:复制、删除、锁定…

Eclipse内存分析器 Java内存分析工具MAT(Memory Analyzer Tool)的介绍与使用

1.visualvm实时监测 2.Memory Analyzer Tool打开 3.工具的使用可以参考 Java内存分析工具MAT(Memory Analyzer Tool)的介绍与使用 ------------------------ 1.我远程发现是其中一个客户端A请求服务器页面响应,一直得不到响应,然后客户端A一直请求&am…

js 字符串 第一个斜杠前最后一次出现英文字母的位置并添加自定义值,返回新值

要找到字符串中第一个斜杠(/)前最后一次英文字母出现的位置,可以使用正则表达式配合lastIndexOf方法。以下是实现这一功能的示例代码: 如果是匹配第一个数字前的字母加值可以看这里 function findLastLetterIndexBeforeSlash(str…

外贸旺季外贸人如何做好时间管理

第1步 记住这些原则 50-30-20原则 你工作日里50%的时间应该花在有益于你长期发展目标的事情上,30%的时间应该用于你完成中期(两年左右)目标的事情,20%的时间用于完成未来90天以内需要完成的任务。 “一个篮子”原则 One Bucket 尽可能减少自己接收新任务…

《QT实用小工具·四十六》多边形窗口

1、概述 源码放在文章末尾 该项目实现了可以移动的多边形窗口&#xff0c;项目demo演示如下所示&#xff1a; 项目部分代码如下所示&#xff1a; #include "polygonwindow.h"#include <QBitmap> #include <QQuickItem> #include <QQmlFile> #in…

JAVASE->数据结构|顺序表底层逻辑

✅作者简介&#xff1a;大家好&#xff0c;我是橘橙黄又青&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;再无B&#xff5e;U&#xff5e;G-CSDN博客 目标&#xff1a; 1. 什么是 List 2. List 常见接口介绍 3. …

第8章 软件工程

一、软件工程概述 &#xff08;一&#xff09;软件危机 1、含义&#xff1a;落后的软件生产方式无法满足迅速增长的计算机软件需求&#xff0c;从而导致软件开发与维护过程中出现一系列严重问题的现象。 2、解决方案&#xff1a;引入软件工程的思想。 &#xff08;二&#x…

Unity 问题之 开发应用在设备上运行闪屏花屏问题的分析处理

Unity 问题之 开发应用在设备上运行闪屏花屏问题的分析处理 目录 Unity 问题之 开发应用在设备上运行闪屏花屏问题的分析处理 一、简单介绍 二、问题现象 三、问题分析 四、使用空后处理&#xff0c;解决闪屏花屏的显示问题 五、空后处理完整代码 一、简单介绍 Unity 在…

国密SSL证书在等保、关保、密评合规建设中的应用

在等保、关保、密评等合规建设中&#xff0c;网络和通信安全方面的建设是非常重要的部分&#xff0c;需要实现加密保护和安全认证&#xff0c;确保传输数据机密性、完整性以及通信主体可信认证。国密SSL证书应用于等保、关保和密评合规建设中&#xff0c;不仅能够提升网络信息系…

API接口调用失败的常见原因?如何进行排查和处理?

API接口调用失败的常见原因有以下几种&#xff1a; 1. 无效的请求参数&#xff1a;可能是由于请求参数缺失、格式错误或者不符合接口要求导致的。解决方法是检查请求参数是否正确&#xff0c;并确保按照接口文档提供正确的参数。 2. 接口权限不足&#xff1a;有些接口需要特定…

JAVA自定义日期选择器

下载jar地址&#xff0c; https://toedter.com/jcalendar/ jar包下载地址 依赖包如下图所示&#xff1a; 整个项目代码已经上传到CSDN https://download.csdn.net/download/qq_30273575/89241601?ydrefereraHR0cHM6Ly9tcC5jc2RuLm5ldC9tcF9kb3dubG9hZC9tYW5hZ2UvZG93bmxvYWQ…

Swift-31-泛型和类型操作

泛型 Swift泛型(generics) 让我们写出的类型和函数可以使用对于我们或编译器都未知的类型。 很多内建类型(包括可空类型、数组和字典)都是用泛型实现的&#xff0c;比如数组和一些集合就是用泛型方式来实现的。 一种运行时进行类型检查的技术&#xff0c;效率高但是不安全。在…

Java零基础入门到精通_Day 8

1.API 应用程序接口 Java API:指的就是JDK 中提供的各种功能的Java类这些类将底层的实现封装了起来&#xff0c;我们不需要关心这些类是如何实现的&#xff0c;只需要学习这些类如何使用即可&#xff0c;我们可以通过帮助文档来学习这些API如何使用。 2. String String 类…

记录-执行Grad-CAM所遇问题

在执行Grad-CAM所遇问题 1&#xff09; 修改后解决 2&#xff09; 修改后解决&#xff0c;因为numpy需要在cpu上进行&#xff0c;所有需要加上.cpu() 3&#xff09;plt.matshow(heatmap)出错 原因是get_heatmap()中的mean_gradients torch.mean(gradients, dim[0, 2, 3]…

Spring IOC(一)

1. Spring IOC入门 1.1 什么是Spring IoC IoC&#xff08;Inversion of Control&#xff09;&#xff0c;即控制反转&#xff0c;是一种设计原则。简单来说&#xff0c;IoC就是将程序的某种传统控制流程反转了。 在Spring框架中&#xff0c;控制反转体现在对象的创建和管理上。…

面试:Redis(缓存穿透、缓存击穿、缓存雪崩、双写一致、Redis的持久化、Redis的过期策略、Redis的数据淘汰策略、Redis的分布式锁、Redis的集群方案、Redis网络模型)

目录 一、缓存穿透 1、解决方案一&#xff1a; 2、解决方案二&#xff1a; 二、缓存击穿 1、解决方案一&#xff1a; 2、解决方案二&#xff1a; 三、缓存雪崩 1、解决方案一&#xff1a; 2、解决方案二&#xff1a; 3、解决方案三&#xff1a; 4、解决方案四&#…
最新文章