首页 > 其他分享 >软件设计师基础学习 一、二

软件设计师基础学习 一、二

时间:2024-04-19 17:58:04浏览次数:14  
标签:主存 Cache 总线 学习 地址 指令 软件 设计师 CPU

一、考试介绍

  • 考试介绍

考试简介:计算机技术与软件专业技术资格(水平)考试,由国家人力资源和社会保障部、工业和信息化部领导组织

考试报名:https://bm.ruankao.org.cn/sign/welcome

证书价值:中级专业技术资格、以考代评、招投标时加分项

关注当地人才引进官网,评标专家(关注相关网站)

常用网站:中国计算机技术职业资格网(http://www.ruankao.org.cn/

  • 考点分析(考试总纲)

  1. 掌握计算机内的数据表示、算术和逻辑运算方法

  2. 掌握相关的应用数学及离散数学基础知识

  3. 掌握计算机体系结构以及各主要部件的性能和基本工作原理

  4. 掌握操作系统、程序设计语言的基本知识,了解编译程序的基本知识

  5. 熟练掌握常用数据结构和常用算法

  6. 掌握数据库和网络基础知识

  7. 熟练掌握一种结构化程序设计语言(C语言)和一种面向对象程序设计语言(C++或JAVA)

  8. 熟悉软件工程、软件过程改进和软件开发项目管理

  9. 掌握软件设计的方法和技术

  10. 了解信息化、常用信息技术标准、安全性,以及有关法律、法规的基础知识

  11. 正确阅读和理解计算机领域的英文资料

科目一考点详解

科目二考点详解:数据流图DFD、数据库设计、UML建模、C算法设计、C++语言程序设计、Java语言程序设计

通过率分析

  • 备考复习

配套学习资料,学习方法推荐

二、计算机组成与结构

2.1 计算机系统基础

2.1.1 计算机硬件组成

  • 计算机的基本硬件系统:(运算器、控制器)CPU、存储器、(输入设备、输出设备)外设

    • CUP:中央处理单元。cpu是硬件系统的核心,用于数据的加工处理,能完成各种算术、逻辑运算及控制功能

    • 存储器:计算机系统中的记忆设备,分为内部存储器(速度快、容量小、临时存放数据)和外部存储器(容量大、速度慢、长期保存数据)

    • 外设:输入设备用于输入原始数据和各种命令,输出设备用于输出计算机运行的结果

2.1.2 中央处理单元

CPU的功能

运算器:数据处理

  • 算术逻辑单元ALU、累加寄存器AC、数据缓存寄存器DR、状态条件寄存器PSW

控制器:程序控制、操作控制、时间控制

  • 指令寄存器IR、程序计数器PC、地址寄存器AR、指令译码器ID

2.1.3 数据表示

进制的表示:二进制、十六进制

  • 二进制符号位0b,一般为0b0011

  • 十六进制符号为0x或H,可表示为0x18F或18FH

  • 浮点数:表示方法为N=F*2^E,其中E是阶码,F是尾数

编码方式

  • 机器数:各种数值在计算机中的表示,其特点是使用二进制,数的符号用0和1表示,小数点则隐含,不占位置

机器数有无符号数和带符号数之分。无符号数表示证书,没有符号位。带符号数最高位为符号位,正数符号位为0,负数符号位为1

  • 定点表示法分为纯小数和纯整数两种

    • 纯小数:约定小数点的位置在机器数的最高数值位之前

    • 纯整数:约定小数点的位置在机器数的最低数值位之后

  • 真值:机器数对应的实际数值

2.1.4 校验码

  • 码距:在两个编码中,从A码到B码转换所需要改变的位数称为码距。一般来说,码距越大,越利于纠错和检错

  • 奇偶校验码:在编码中增加1位校验位来使编码中1的个位数为奇数或者偶数,从而使码距变为2

    • 奇校验:编码中,含有奇数个1。发送给接收方,接收方收到后,会计算收到的编码由多少个1,如果奇数个,则无误

    • 偶校验:同理奇校验,只是编码中有偶数个1。

奇偶校验只能检1位错,并且无法纠错

  • CRC(循环冗余校验码):只能检错,不能纠错。使用CRC编码,需要先约定一个生成多项式G(x),生成多项式的最高位和最低位必须是1。生成校验码的思想就是在原始信息位后追加若干校验位,使得追加的信息能被G(x)整除。接收方接收到带校验位的信息,然后用G(x)整除。余数位0,则没有错误;反之则有错误。

收发信息双方需要使用相同的生成多项式

  • 海明码:本质也是利用奇偶性来检错和纠错的检验方法,构成方法实在数据位之间的确定位置上插入k个校验位,通过扩大码距实现检错和纠错。设数据位是n位,校验位是k位,则n和k必须满足一下关系:2^k-1>=n+k

2.2 计算机体系结构

2.2.1 体系结构分类

  • 按处理机数量分:

  1. 单处理系统:一个处理单元和其他设备集成

  2. 并行处理系统:两个以上的处理机联机

  3. 分布式处理系统:物理上远距离且松耦合的多计算机系统

  • Flynn分类法:

  1. 指令流:指令流由控制部分处理,每一个控制部分处理一条指令流,多指令流就有多个控制部分

  2. 数据流:数据流由处理器来处理,每一个处理器处理一条数据流,多数据流就有多个处理器

  3. 主模块:用来存储指令流或者数据流

体系结构类型结构关键特性代表
单指令流单数据流SISD 控制部分:一个;处理器:一个;主存模块:一个;   单处理系统
单指令流多数据流SIMD 控制部分:一个;处理器:多个;主存模块:多个; 各处理器以异步的形式执行同一条指令 并行处理机;阵列处理机;超级向量处理机
多指令流单数据流MISD 控制部分:多个;处理器:一个;主存模块:多个; 被证明不可能,至少是不实际 目前没有,有文献称流水线计算机为此类
多指令流多数据流MIMD 控制部分:多个;处理器:多个;主存模块:多个; 能够实现作业、任务、指令等各级全面并行 多处理机系统;多计算机
  • 依据计算机特性

    • 由指令来控制数据的传输,一条指令可以控制一条或多条数据流,但一条数据流不能被多条指令控制

2.2.2 指令系统

  • 计算机指令的组成:一条指令由操作码和操作数两部分组成,操作码决定要完成的操作,操作数指参加运算的数据及其所在的单元地址。

    • 在计算机中,操作要求和操作数地址都以二进制数码表示,分别称作操作码和地址码,整条指令以二进制编码的形式存放在存储器中

  • 计算机指令执行过程:取指令--分析指令--执行指令

    • 首先将程序计数器PC中的指令地址取出,送入地址总线,CPU依据指令地址去内存中取出指令内容存入指令寄存器IR;而后由指令译码器IC进行操作,分析指令操作码;最后执行指令,取出指令执行所需要的源操作数

  • 指令寻址方式

  1. 顺序寻址方式:当执行一段程序时,是一条指令接着一条指令顺序执行

  2. 跳跃寻址方式:指下一条指令的地址码不是由程序计数器给出,而是由本条指令直接给出。

  • 指令操作数的寻址方式

  1. 立即寻址方式:指令的地址码支出的不是地址,而是操作数本身

  2. 直接寻址方式:在指令的地址字段中直接指出操作数在主存中的地址

  3. 简介寻址:指令地址码字段所指向的存储单元中存储的是操作数的地址

  4. 寄存器寻址方式:指令中的地址码是寄存器的编号

  5. 基址寻址方式:将基址寄存器的内容加上指令中的形式地址而形成操作数的有效地址,其优点是可以扩大寻址能力

  6. 变址寻址方式:将变址寻址寄存器的内容加上指令中的形式地址而形成操作数的有效地址

  • CISC:复杂指令系统,兼容性强,指令繁多,长度可变,由微程序实现

  • RISC:精简指令系统,指令号,使用频率接近,主要依靠寄存器实现(通用寄存器,硬布线逻辑控制)

指令系统类型指令寻址方式实现方式其它
CISC(复杂) 数量多,使用频率差别大,可变长格式 支持多种 微程序控制技术 研制周期长
RISC(精简) 数量少,使用频率接近,定长格式,大部分为单指令周期,操作寄存器只有Load/Store操作内存 支持方式少 增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线 优化编译,有效支持高级语言

流水线

  • 指令流水线原理:将指令分成不同段,每段由不同的部分去处理。

  • RISC中的流水线技术:

    • 超流水线技术(Super Pipe Line):通过细化流水、增加级数和提高主频,使得在每一个机器周期内能完成一个甚至两个浮点操作。其实质是以时间换取空间

    • 超标量技术(Super Scaler):通过内装多条流水线来同时执行多个处理,其时钟频率虽然与一般流水接近,却有更小的CPI。其实质是以空间换取时间

    • 超长指令字(Very Long Instruction Word,VLIW):VLIW和超标量都是20世纪80年代出现的概念,其共同点是同时执行多条指令,其不同在于超标量依靠硬件实现并行处理的调度,VLIW则充分发挥软件的作用,而使硬件简化,性能提高

计算:->取指->分析->执行

  1. 流水线周期:指令分成不同执行段,其中执行时间最长的段为流水线周期

  2. 流水线执行时间:一条指令的总执行时间+(总指令条数-1)+流水线周期

  3. 流水线吞吐率:单位时间内执行的指令条数

    公式:指令条数/流水线执行时间

  4. 流水线加速比:不使用流水线的执行时间/使用流水线的执行时间

2.2.3 存储系统

  • 计算机采用分级存储体系,主要为了解决存储容量、成本和速度之间的矛盾问题

  • 两集存储:Cache--主存、主存--辅存(虚拟存储体系)

  • 局部性原理:总的来说,CPU运行时,所访问的数据会趋向于一个较小的局部空间之地,包括以下两个方面

    • 时间局部性原理:如果一个数据项正在被访问,那么在近期它很可能会被再次访问,即再相邻的时间里访问同一个数据项

    • 空间局部性原理:在最近的将来会用到的数据地址和现在正在访问的数据地址很可能是相近的,即相邻的空间会被连续访问

CPU通用寄存器-->Cache-->主存储器-->联机 磁盘存储器-->脱机光盘、磁盘存储器

  1. 高速缓存Cache用来存储当前最活跃的程序和数据,直接与CPU交互,位于CPU和主存之间,容量小,速度为内存的5-10倍,由半导体材料构成。

  2. Cache是由控制部分和存储器组成,存储器存储数据,控制部分判断CPU要访问的数据是否在Cache中,在则命中,不在则依据一定的算法从主存中获取

  3. 地址映射:在CPU工作时,送出的是主存单元的地址,而应从Cache存储器中读/写信息。这就需要将主存地址转换为Cache存储器地址,这种地址的转换称为地址映像,由地址自动检测完成

  • 直接映射:将Cache存储器等分成块,主存也等分成块并编号。主存中的块与Cache中的块的对应关系是固定的,即两者块号编号相同才能命中

  • 全相连映射:同样都等分成块并编号。主存中任意一块都与Cache中任意一块对应。因此可以随意调入Cache任意位置,但是地址变换复杂,速度较慢。因为主存可以随意调入Cache块,只有当Cache满了才会发生

  • 组组相连映射:前两种方式的结合,将Cache存储器先分块再分组,主存也同样先分块再分组,组间采用直接映像,即主存中组号与Cache中组号相同的组才能命中,但是组内全相连映像。即组号相同的两个组内的所有块可以任意调换

替换算法:目标是使Cache获得尽可能高的命中率

  1. 随机替换算法

  2. 先进先出算法

  3. 近期最少使用算法

  4. 优化替换算法:先执行一次程序,统计Cache的替换情况。有了这样的先验信息,在第二次执行程序时便可以用最有效的方式来替换

命中率及平均时间

Cache有一个命中率的概念,即当CPU所访问的数据在Cache中,命中,直接从Cache中读取数据,若CPU访问的数据不在Cache中,则需要从内存中读取。

磁盘的机构和参数

磁盘有正反两个盘面,每个盘面有多个同心圆,每个同心圆是一个磁道,每个同心圆又被划分为多个扇区,数据就被存放在一个个扇区中。

磁头首先要寻找到对应的磁道,然后等待磁盘进行周期旋转,旋转到指定的扇区,才能读取到对应的数据,因此,会产生寻道时间和等待时间。

公式:存取时间=寻道时间+等待时间(平均时间+转动延迟)

注意:寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间。

磁盘调度算法

寻道时间耗时最长,需要重点调度,有如下调度算法:

先来先服务FCFS:根据进程请求访问磁盘的先后顺序进行调度。

最短寻道时间优先SSTF:请求访问的磁道和当前磁道最近的进行优先调度,使得每次的寻道时间最短。

扫描算法SCAN:有称“电梯算法”,磁头在磁盘上双向移动,其会选择离磁头当前所在磁道最近的请求访问的磁道,并且与磁头移动方向一致,磁头永远都是从里向外或者从外向里一直移动完才掉头,与电梯类似。

单向扫描调度算法CSCAN:与SCAN不同的是,其只做单向移动,即只能从里向外或者从外向里。

2.2.4 输入/输出技术

  • 计算机系统中存在多种内存与接口地址的编址方法

    1)内存与接口地址独立编址方法

    内存地址和接口地址是完全独立的两个地址空间。访问数据时所使用的指令也完全不同,用于接口的指令只用于接口的读/写,其余的指令全都是用于内存的。因此,在编程序或者读程序的时候很容易使用和辨认。这种编址方法的缺点是用于接口的指令太少、功能太弱

    2)内存与接口地址统一编址方法

    内存地址和接口地址统一在一个公共的地址空间里,即内存单元和接口共用地址空间。优点是原则上用于内存的指令全部都可以用于接口,这就大大增强了对接口的操作功能,而且在指令上也不再区分内存和接口指令。该编址方法的缺点就在于整个地址空间被分成了两部分,其中一部分分配各接口使用,另一部分分配给内存使用,这经常会导致内存地址不连续

计算机和外设间的数据交互方式

  1. 程序控制(查询)方式:CPU主动查询外设是否完成数据传输,效率低

  2. 程序中断方式:外设完成数据传输后,向CPU发送中断,等待CPU处理数据,效率相对较高。中断响应时间指的是从发出中断请求到开始进入中断处理程序;中断处理时间指的是从中断处理开始到中断处理结束。中断向量提供中断服务程序的入口地址。多级中断嵌套,使用堆栈来保护断点和线程

  3. DMA方式(直接主存存取):CPU只需要完成必要的初始化等操作,数据传输的整个过程都由DMA控制器完成,在主存和外设之间建立直接的数据通道,效率很高。

  • 在一个总线周期结束后,CPU会响应DMA请求开始读取数据;CPU响应程序中断方式请求实在一条指令结束时。

2.2.5 总线结构

  • 总线Bus:是指计算机设备和设备之间传输信息的公共数据通道。总线是连接计算机硬件系统内多种设备的通信线路,它的一个重要特征是由总线上的所有设备共享,因此可以将计算机系统内的多种设备连接到总线上

  • 从广义上讲,任何两节两个以上电子元器件的导线都可以被称为总线,通常分以下三类

    • 内部总线:内部芯片级的总线,芯片与处理器之间通信的总线

    • 系统总线:是板级总线,用于计算机内各部分的连接,具体分为数据总线(并行数据传输位数)、地址总线(系统可管理的内存空间的大小)、控制总线(传送控制命令)。代表有ISA总线、EISA总线、PCI总线

    • 外部总线:设备一级的总线,微机和外部设备的总线。代表有RS232(串行总线)、SCSI(并行总线)、USB(通用串行总线,即插即用,支持热插拔)

2.3 计算机可靠性计算

  • 可靠性指标

    • 平均无故障时间 MTTF=1/失效率

    • 平均故障修复时间 MTTR=1/修复率

    • 平均故障间隔时间 MTBF=MTTF+MTTR

    • 系统可用性 MTTF/(MTTF+MTTR)*100%

  • 串并联系统可靠性

串联系统,一个设备不可靠,整个系统崩溃,整个系统的可靠性R=R1 * R2 *` … *Rn。

并联系统,所有设备都不可靠,整个系统才回崩溃,整个系统的可靠性R=1-(1-R1) * (1-R2) * … * (1-Rn)。

N模冗余系统:N模冗余系统由N个(N=2n+1)相同的子系统和一个表决器组成,表决器把N个子系统中占多数相同结果的输出作为输出系统的输出。在N个子系统中,只要有n+1或n+1个以上的子系统能正常工作,系统就能正常工作,输出正确的结果。

标签:主存,Cache,总线,学习,地址,指令,软件,设计师,CPU
From: https://www.cnblogs.com/-Gin/p/18146535

相关文章

  • 错误:System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本问题
    最近在虚拟机上搭一套新的开发环境,运行项目时报错。如果你的系统中已经安装了Oracle客户端软件,那么可能需要检查一些环境变量。例如,你可以通过在系统的环境变量中设置PATH变量来包含Oracle客户端的路径,这样可以帮助.NET框架找到所需的Oracle客户端软件。此外,如果你的Oracle客户......
  • 【机器学习】第二节-如何选择和评估模型
    目录一、经验误差与过拟合错误率精度误差训练误差/经验误差度量指标泛化误差欠拟合过拟合二、评估方法专家样本1.留出法(1)单次留出法(2)多次留出法2.交叉验证(1)k折交叉验证(2)留一法(3)P次k折交叉验证3.自助法三、性能度量四、偏差与方差一、经验误差与过拟合错误率分类错误样......
  • Delphi10.3开发的SQLite3的图形操作小软件
    链接:https://pan.baidu.com/s/1Glye61WgYd_wC0uOfx9ZoQ提取码:dqd9关键部份FDConnection1.GetTableNames('','','',ListBox1.Items);StringGrid1.Cells[1,i+1]:=FDMetaInfoQuery1.FieldByName('COLUMN_NAME').AsString;......
  • Visual Components软件为您带来的价值 衡祖仿真
    VisualComponents具备丰富的3D仿真功能、快速建模能力、定制化应用程序逻辑和大量预定义组件库等多种特点,为自动化设备制造商、整合商、制造型公司提供简单、快速和的设计方式,可以有效提高生产效率,并优化资源分配,避免制造过程中各种不可控事件带来的影响。VisualComponents软......
  • 系统里的查询奇慢无比,但是sqlserver中只要6s,在软件中要40几秒。
    最近客户反应,有个报表查询报“查询失败”,然后亲测以后发现真的是“查询失败”,一看数据也就几K条,这个哪有可能呢。1、检查过程写得是否有问题。在sqlserver中进行了查询,发现只要6s。基本排除。2、到了软件里一查询,至少也得40s多,这个不是一个量级的,一个是稍等马上就好,一个是等了......
  • 科学可视化软件介绍 – OpenSceneGraph
    科学可视化软件介绍–OpenSceneGraph叶刘克拉克莫夫​中国石油大学有机化工硕士​关注他 6人赞同了该文章 OpenSceneGraph(有时候简称为OSG)是一个开源的高性能三维图形开发工具包,供软件开发人员在可视模拟、游戏、虚拟现实、科学可视化和建模......
  • 【使用PADS软件将PCB由N(N>2)层板改为2层板】
    最近接触PADS软件比较多,相比Altium Designer来说,PADS软件操作更为繁琐,使用中遇到的一些问题,常常百度很久之后也找不到确切结果。。。此文章记录将PCB由N(N>2)层板改为2层板的操作过程,实践无误,特此总结,希望对遇到相同困惑的朋友有所帮助~ps:笔者使用的软件为PADS_VX2.11;演示以6层板......
  • SeaTunnel JDBC DB2 Sink Connector支持的工作原理,快来学习吧!
    DB2是IBM的一款关系型数据库管理系统,JDBCDB2SourceConnector是一个用于通过JDBC读取外部数据源数据的连接器。ApacheSeaTunnel如何支持JDBCDB2SinkConnector?请参考本文档。支持引擎SparkFlinkSeaTunnelZeta主要功能精确一次性CDC(变更数据捕获)使用Xa事务......
  • ImageJ软件使用教程(三):目标计数
    目录多点工具法阀值分割法二值化填充分割自动计数显示结果总结参考资料本文以钢筋计数为例,讲解一下如何使用ImageJ软件进行计数,这里只介绍两种方法:多点工具法阀值分割法钢筋计数是我接触的第一个视觉项目,虽然项目最后不了了之,但作为我机器视觉的开荒项目还是很有纪念意义。......
  • day16_我的Java学习笔记 (Set、案例、Collections、Map、集合嵌套)
    1.Set系列集合1.1Set系列集系概述1.2HashSet元素无序的底层原理:哈希表JDK1.7HashSet原理解析:JDK1.8HashSet原理解析:1.3HashSet元素去重复的底层原理Set集合去重复的原因,先判断哈希值,再判断equals重写equals()和HashCode()方......