嵌入式软件考试 --- 计算机系统/安全基础

2024-05-15 06:20

本文主要是介绍嵌入式软件考试 --- 计算机系统/安全基础,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

嵌入式软件考试 --- 计算机系统基础

  • 1. 考试重点
    • 1.1. 具体考点
  • 2. 计算机系统结构
    • 2.1. 简介
    • 2.2. 冯诺依曼结构和哈佛结构的区别
    • 2.2. 分类
    • 2.3. 寻址方式
  • 3. 数据表示和运算
    • 3.1. 补码、原码和反码
  • 4. 常用对称、非对称加密算法

1. 考试重点

  • 计算机系统组成:包括计算机硬件系统和软件系统的组成,如中央处理器(CPU)、内存、输入输出设备等硬件组件,以及操作系统、应用软件等软件组件。
  • 计算机系统结构:包括计算机的层次结构、指令系统结构、存储器层次结构等方面的内容。
  • 计算机系统性能评价:包括计算机系统的性能指标、性能评价方法、性能优化技术等内容。
  • 计算机系统中的数据表示和运算:包括数据的表示方式(如原码、补码、浮点数表示等)、数据的运算(如加法、减法、乘法、除法等)等内容。
  • 计算机系统中的存储器管理:包括内存管理、虚拟存储器、页面置换算法、缓存技术等内容。
  • 计算机系统中的输入输出系统:包括输入输出设备的分类、输入输出接口、中断处理、设备驱动程序等内容。
  • 常用的加/解密算法,以及用法;

1.1. 具体考点

1. 计算机系统组成:

计算机硬件系统包括中央处理器(CPU)、内存、输入输出设备等。CPU负责执行指令和处理数据,内存用于存储程序和数据,输入输出设备用于与外部环境进行数据交换。计算机软件系统包括操作系统、应用软件等。操作系统管理计算机硬件资源,提供用户接口,应用软件用于完成特定的任务。

2. 计算机系统结构:

计算机的层次结构包括硬件层次、操作系统层次和应用软件层次,每个层次提供不同的功能和抽象。指令系统结构定义了CPU执行指令的方式,包括指令格式、寻址方式、指令集等。存储器层次结构包括寄存器、高速缓存、主存和辅助存储器,不同层次的存储器速度和容量不同。

3. 计算机系统性能评价:

性能指标包括响应时间、吞吐量、效率等,不同应用有不同的性能需求。性能评价方法包括基准测试、负载测试、性能建模等,用于评估计算机系统的性能。性能优化技术包括代码优化、并行计算、硬件加速等,用于提高计算机系统的性能。

4. 计算机系统中的数据表示和运算:

数据的表示方式包括原码、反码、补码、浮点数表示等,不同表示方式适用于不同的计算需求。数据的运算包括加法、减法、乘法、除法等,需要考虑数据溢出、舍入等问题。

5. 计算机系统中的存储器管理:

内存管理包括地址映射、页面置换、内存保护等,操作系统负责管理内存资源。虚拟存储器允许程序使用比实际物理内存更大的地址空间,通过页面置换算法将数据从磁盘交换到内存。缓存技术用于提高存储器访问速度,包括高速缓存、缓存替换算法等。

6. 计算机系统中的输入输出系统:

输入输出设备包括键盘、鼠标、显示器、打印机等,通过输入输出接口与计算机通信。中断处理用于处理外部设备发来的中断信号,操作系统通过中断服务程序响应中断。设备驱动程序负责控制输入输出设备,向操作系统提供统一的接口。

2. 计算机系统结构

2.1. 简介

计算机系统结构(Computer Architecture)也称为计算机体系结构,它是由计算机结构外特性,内特性,微外特性组成的。经典的计算机系统结构的定义是指计算机系统多级层次结构中机器语言机器级的结构,它是软件和硬件/固件的主要交界面,是由机器语言程序、汇编语言源程序和高级语言源程序翻译生成的机器语言目标程序能在机器上正确运行所应具有的界面结构和功能。

2.2. 冯诺依曼结构和哈佛结构的区别

区别:
哈佛结构:指令和数据分开存储,有各自独立的存储空间,即程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问。

冯诺依曼结构:指令和数据存储在同一个存储空间,共享同一条总线;

运行速度与效率:
冯诺依曼结构取指令和取操作数是通过一条总线分时进行,当进行高速运算时,不能同时进行取指令和取操作数,会造成数据传输通道的瓶颈现象,工作速度较慢;而哈佛结构可以对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。

应用
冯诺依曼结构较多用在通用计算机上;而哈佛结构较多出现在嵌入式应用中。

2.2. 分类

按"流"分类的方法:

  • SISD 单指令流单数据流,传统的单处理机属于SISD计算机。
  • SIMD 单指令流多数据流,并行处理机是SIMD计算机的典型代表。中国的YH-I型是此类计算机型。
  • MISD 多指令流单数据流,实际上不存在,但也有学者认为存在。
  • MIMD 多指令流多数据流,包括了大多数多处理机及多计算机系统。中国的YH-Ⅱ型计算机是这种类型的计算机。

一般将标量流水机视为SISD类型,把向量流水机视为SIMD类型。

2.3. 寻址方式

嵌入式系统中的微控制器(MCU)通常采用三种主要的寻址方式:直接寻址、间接寻址和寄存器间接寻址。下面将具体介绍这三种寻址方式:

  1. 直接寻址:
    • 直接寻址是最简单的寻址方式,指令中包含了要操作的操作数的地址。
    • 当执行指令时,CPU直接从指令中获取操作数的地址,然后直接访问该地址的数据进行操作。
    • 例如,MOV A, 0x1234表示将地址0x1234处的数据移动到寄存器A中。
  2. 间接寻址:
    • 间接寻址是通过一个地址指向另一个地址,间接获取操作数的地址。
    • 指令中包含了一个指向操作数地址的指针,CPU首先获取指针指向的地址,然后再访问该地址的数据进行操作。
    • 例如,MOV A, [0x5678]表示将地址0x5678处的数据作为地址,再从该地址获取数据移动到寄存器A中。
  3. 寄存器间接寻址:
    • 寄存器间接寻址是通过一个寄存器中存储的地址来间接获取操作数的地址。
    • 指令中包含了一个寄存器作为指针,CPU首先获取该寄存器中存储的地址,然后再访问该地址的数据进行操作。
    • 例如,MOV A, [R0]表示将寄存器R0中存储的地址作为地址,再从该地址获取数据移动到寄存器A中。

3. 数据表示和运算

3.1. 补码、原码和反码

补码、原码和反码是用来表示负数的三种不同的编码方式。

  1. 原码:原码是最基本的表示方式,即将一个数的符号位和数值位分开,符号位为0表示正数,为1表示负数。例如,+5的原码表示为00000101,-5的原码表示为10000101。
  2. 反码:反码是将原码中正数保持不变,负数的符号位不变,数值位取反。例如,+5的反码和原码相同为00000101,-5的反码为11111010。
  3. 补码:正数的补码和原码相同,负数的补码为反码加1。例如,+5的补码和原码相同为00000101,-5的补码为11111011。

在计算机中,通常使用补码来表示负数,因为补码的加减法运算更加方便。补码的一个特点是,负数的补码加上它的绝对值的补码等于0,这样可以简化运算。

4. 常用对称、非对称加密算法

以下是一些常见的对称加密和非对称加密算法,以及它们通常用在哪些方面:
1. 对称加密算法:

  • DES (Data Encryption Standard):用于加密敏感数据,文件和通信。
  • AES (Advanced Encryption Standard):用于加密文件、数据库、通信等。
  • 3DES (Triple Data Encryption Standard):用于加密金融交易和通信等。
  • Blowfish:用于加密文件和通信。
  • RC4 (Rivest Cipher 4):用于加密网络通信和流媒体传输。

2. 非对称加密算法:

  • RSA:用于数字签名、密钥交换、数据加密等。
  • ECC (Elliptic Curve Cryptography):用于数字签名、密钥交换、数据加密等。
  • DSA (Digital Signature Algorithm):用于数字签名。
  • DH (Diffie-Hellman):用于密钥交换。
  • ElGamal:用于数字签名、加密通信等。

总结:
对称加密算法通常用于加密大量数据,如文件、数据库等,以保护数据的机密性。
非对称加密算法通常用于数字签名、密钥交换和数据加密,以确保数据的真实性和完整性。

这篇关于嵌入式软件考试 --- 计算机系统/安全基础的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/991047

相关文章

input的accept属性让文件上传安全高效

《input的accept属性让文件上传安全高效》文章介绍了HTML的input文件上传`accept`属性在文件上传校验中的重要性和优势,通过使用`accept`属性,可以减少前端JavaScrip... 目录前言那个悄悄毁掉你上传体验的“常见写法”改变一切的 html 小特性:accept真正的魔法:让

Java利用Spire.Doc for Java实现在模板的基础上创建Word文档

《Java利用Spire.DocforJava实现在模板的基础上创建Word文档》在日常开发中,我们经常需要根据特定数据动态生成Word文档,本文将深入探讨如何利用强大的Java库Spire.Do... 目录1. Spire.Doc for Java 库介绍与安装特点与优势Maven 依赖配置2. 通过替换

JavaScript装饰器从基础到实战教程

《JavaScript装饰器从基础到实战教程》装饰器是js中一种声明式语法特性,用于在不修改原始代码的情况下,动态扩展类、方法、属性或参数的行为,本文将从基础概念入手,逐步讲解装饰器的类型、用法、进阶... 目录一、装饰器基础概念1.1 什么是装饰器?1.2 装饰器的语法1.3 装饰器的执行时机二、装饰器的

Java JAR 启动内存参数配置指南(从基础设置到性能优化)

《JavaJAR启动内存参数配置指南(从基础设置到性能优化)》在启动Java可执行JAR文件时,合理配置JVM内存参数是保障应用稳定性和性能的关键,本文将系统讲解如何通过命令行参数、环境变量等方式... 目录一、核心内存参数详解1.1 堆内存配置1.2 元空间配置(MetASPace)1.3 线程栈配置1.

Redis的安全机制详细介绍及配置方法

《Redis的安全机制详细介绍及配置方法》本文介绍Redis安全机制的配置方法,包括绑定IP地址、设置密码、保护模式、禁用危险命令、防火墙限制、TLS加密、客户端连接限制、最大内存使用和日志审计等,通... 目录1. 绑定 IP 地址2. 设置密码3. 保护模式4. 禁用危险命令5. 通过防火墙限制访问6.

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Spring的基础事务注解@Transactional作用解读

《Spring的基础事务注解@Transactional作用解读》文章介绍了Spring框架中的事务管理,核心注解@Transactional用于声明事务,支持传播机制、隔离级别等配置,结合@Tran... 目录一、事务管理基础1.1 Spring事务的核心注解1.2 注解属性详解1.3 实现原理二、事务事

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例