嵌入式软考学习笔记(1)超详细!!!
目录
第一章计算机系统基础知识
1、逻辑运算
2、数的表示
3、总线系统
5、流水线
6、存储器
7、可靠性、校验码
第一章计算机系统基础知识
1、逻辑运算
与:有0则0,全1才1
或:有1则1,全0才0
异或:相同为0,不同为1
例1:内存按字节编址从A5000H到DCFFFH区域其内存容量为?
解:DCFFFH-A5000H+1
=DCFFFH+1-A5000H
=DD000H-A5000H
=38000H=3*16^4+8*16^3
=3*2^16+8*2^12=(192+32)*2^10=224k
例2:内存按字节编址,地址从90000H到CFFFFH,若用存储容量为16K*8bit的存储器芯片构成该内存,至少需要多少片?
技巧:总片数=总容量/每片容量
解:CFFFFH-90000H+1
=D0000H-90000H
=40000H ———>需要转换成十进制
=4*16^4
=4*2^16
=4*2^6K
2、数的表示
(+1) (-1) (+1)+(-1)
原码: 0000 0001 1000 0001 1000 0010
反码: 0000 0001 1111 1110 1111 1111
补码: 0000 0001 1111 1111 0000 0000
移码: 1000 0001 0111 1111 1000 0000
计算机的基本组成
运算器
- 算术逻辑单元ALU:数据的算术运算和逻辑运算
- 累加寄存器AC:为ALU提供一个工作区,暂存数据
- 数据缓冲寄存器DR:写内存时,暂存指令或数据
- 状态条件寄存器PSW:存状态标志与控制标志
控制器
- 程序计数器PC:存储下一条要执行的指令地址
- 指令寄存器IR:存储即将执行的指令
- 指令译码器ID:对指令进行分析
- 时序部件:提供时序控制信号指令中的操作码字段
3、总线系统
性能指标:带宽B/s=位宽bit×工作频率 1/s
一条总线同一时刻仅允许一发多收
- 数据总线:在CPU与RAM之间来回传送需要处理/存储的数据 双向传送 CPU ⟷ RAM
- 地址总线:用来指定RAM中存储数据的地址 单向传送 CPU → RAM
- 控制总线:将微处理器控制单元信号传送到周边 双向传送 CPU ⟷ 外设
例3):总线宽度为32bit,时钟频率为200MHz,若总线上每5个时钟周期传送一个32bit的字,则该总线宽度为多少MB/s?
解: 带宽B/s=位宽bit×工作频率 1/s
带宽=数据总量(bit)/总时间(s)
t=1/f =1/200M (时间=频率的的倒数
4、寻址方式
最大的寻址空间范围(假设OP为13位,操作数最多19位,范围219=512KB
指令系统采用不同的寻址方式的目的是:扩大寻址空间,提高编程的灵活性
1)立即寻址:
MOV R1,#40H(立即寻址指令,存入R1计算器中
操作数直接在指令中,速度快灵活性差
2)直接寻址:
指令中存放操作数的地址
3)间接寻址:
操作数中放的是指向操作数地址的指针
4)寄存器寻址:
例:R0中存放MOV R0,#40H
在R1中 MOV R1,R0
5)寄存器间接寻址
在寄存器中存放操作数的地址
5、流水线
多指令重叠进行操作的一种准并行处理实现技术
流水线计算公式:
流水线周期:各部分中执行时间最久的一部分
通过流水线的总时间Tk:1条指令执行的时间+(指令条数-1)*流水线周期
例4)指令条数为4,指令分为2部分2s和3s ,1s,则总时间为?
解:Tk(2+3+1)+(4-1)*3=15s
流水线的吞吐率(TP):
TP=n/Tk (n条指令/通过流水线的总时间)单位时间内能完成的指令条数
流水线最大吞吐率:流水线周期的倒数1/t
6、存储器
- cache
平均系统周期时间(以读操作为例:使用cache+主存储器):t3=t1*h+(1-h)*t2
h:访问cache的访问命中率;
t1:cache的周期时间;
t2主存储器的周期时间;
t3:系统平均周期时间
2. 地址映像 由SRAM组成
- 直接映像和变换:主存地址:主存区号+区内块号+块内地址
主存与缓存分成大小相同的数据块,缓存每一区的块数与主存的块数相等,
主存中的某一区的一块存入缓存时只能存入缓存中块号相同的地址
特点
- 地址变换电路简单,访问速度快
- 空间利用率低,冲突概率高
- 对页面置换算法依赖度高,cache空间利用率低,命中率低
例5)假设一采用直接映像的高速缓存分成32块,主存共有2048块,问主存区号和块内区号分别应设几位?
解:2048÷32=64(区)
主存区号=64 ∴为6位,区内块号32位,∴为5位
- 全相联地址映像 主存地址:主存块号+块内地址
主存和缓存分成大小相同的数据块,主存的某一数据块可以装入缓存任一空间中,
特点:空间利用率高,命中率高,冲突率低
实现复杂,速度慢,适合小容量的cache
- 组相联地址映像 主存地址:主存区号+区内组号+组内块号+块内地址
主存和cache按同样大小分块,
组间采用直接映像(cache1组对主存1组,cache2组对主存2组),
组内采用全相联映像(cache1组0块对主存1组0块、1块;
cache2组0块对主存1组0块、1块)
特点:
直接映像和全相联映像的折中,实现难度和造价高
- 输入输出设备管理
- 直接程序控制:无条件传送方式(时时刻刻准备)、
程序查询方式(CPU不断访问查看外部设备是否空闲
若空闲,将数据传送给外部设备)
- 中断方式
- 直接存储器存取方式DMA:cpu将数据发送给DMA,DMA直接与外设交互
cpu只在开始和结束时干预
- 输入输出处理机(IOP):用在大型分布式主机
7、可靠性、校验码
(1)可靠性
- 串联系统 可靠度:R=R1×R2×R3×……×Rn
- 并联系统 可靠度:R=1-(1-R1)×(1-R2)×(1-R3)×……×(1-Rn)
- 混合系统 可靠度:R=R×(1-R)3×(1-R)2
- 校验码
- 码距(不同码字个数)
任意两个(所有)码字之间合法编码的最小距离
例如:
用1位长度的二进制编码,A=1,B=0,A,B之间最小码距为1
用2位长度的二进制编码,A=11,B=00,A,B之间的码距为2
用3位长度的二进制编码,A=111,B=000为合法编码,A,B之间的码距为3
- 检错
奇偶校验码:仅可检错,可检测1(奇位)位错
通过编码中增加一位校验位来使编码中1的个数位奇数(奇校验
或为偶数(偶校验),从而使码距变为2
CRC(循环冗余码):仅可检错,可检测多位错 模2运算
利用多项式为k个数据位 产生r个校验位来进行编码
编码长度:k+r
海明码:可检错,且可纠1位错
数据位是n位,校验位是k位,n和k必须满足2k-1≥n+k
相关文章:

嵌入式软考学习笔记(1)超详细!!!
目录 第一章计算机系统基础知识 1、逻辑运算 2、数的表示 3、总线系统 5、流水线 6、存储器 7、可靠性、校验码 第一章计算机系统基础知识 1、逻辑运算 与:有0则0,全1才1 或:有1则1,全0才0 异或:相同为0…...

【数据分享】2013-2023年我国省市县三级的逐年CO数据(免费获取\excel\shp格式)
空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2023年的省市县三级的逐年PM2.5数据、2000-2023年的省市县三级的逐年PM10数据、2013-2023年的省市县三级的逐年SO2数据、2000-2023年省市县三级的逐年O3数据和2008-2023年我国省市县三级的逐…...

C# 探险之旅:第十六节 - 整数类型:与八位数字精灵的奇幻舞会
嘿,勇敢的探险家们!欢迎再次踏上C#编程的奇幻之旅。今天,我们将进入一个充满魔法与数字的世界——整数类型的王国。想象一下,你站在一个华丽的舞池中,周围是八位身着华丽舞裙(其实是二进制位啦)…...
Cleo文件传输软件存在任意文件读取漏洞(CVE-2024-50623)
免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...
Java 小抄|解析 JSON 并提取特定层级数据
文章目录 前言环境准备依赖库 示例代码JSON 数据Java 类定义解析 JSON 数据代码解释 结论 前言 在日常开发中,我们经常需要从 JSON 数据中提取特定的信息。本文将介绍如何使用 Java 和 Gson 库解析 JSON 数据,并通过流式处理提取特定层级的数据。我们将…...

活动报名:Voice Agent 开发者分享会丨RTE Meetup
引入 voice agent 的口语学习应用 Speak 估值已达 10 亿美元 Voice Agent 开发者分享会 一同探索语音驱动的下一代人机交互界面,一场 voice agent builder 的小规模深度交流会。 RTE Meetup 迎来第六期!12 月 15 日(周日)上午&…...

DOA估计算法——ESPRIT算法
1 简介 ESPRIT(Estimation of Signal Parameters via Rotational Invariance Techniques)最早是由Roy等人于1986年提出,是一种广泛应用于高分辨率方向到达(DOA)估计和频率估计的子空间方法。其核心思想基于信号子空间的…...

CEF 数据加密与网络安全
随着网络攻击的日益猖獗,确保应用的安全性已经成为开发者的首要任务。特别是在现代Web应用中,如何确保数据的加密存储、网络通信的安全性以及有效的认证机制成为至关重要的问题。对于基于 Chromium Embedded Framework (CEF) 的应用,开发者必…...
go build command
文章目录 1.简介2.格式3.选项4.示例5.小结参考文献 1.简介 go build 是 Go 语言工具链中的一个命令,它用于编译 Go 源代码并生成可执行文件。 2.格式 go build [-o output] [build flags] [packages]可选的 -o 选项强制 build 将生成的可执行文件或对象写入指定的…...
理解音频采样率和transformer模型:给Python小白的简单解释
理解音频采样率和transformer模型:给Python小白的简单解释 引言什么是采样率?举个例子有趣的现象Python小实验总结 引言 大家好!今天我们来聊一个有趣的话题:音频采样率和AI模型。不要被这些专业术语吓到,我会用最简单…...
【RL Latest Tech】安全强化学习(Safe RL):理论、方法与应用
📢本篇文章是博主强化学习(RL)领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅…...
大模型qiming面试内容整理-系统设计与架构
在大模型和机器学习相关岗位的面试中,系统设计与架构的考察通常会涉及如何设计一个可扩展、可靠且高效的机器学习系统,特别是在面对大规模数据和复杂模型时。这一部分的考察不仅测试候选人对机器学习和深度学习的理解,还会评估其如何设计实际生产环境中的系统来满足需求。以…...

Mac/Windows端长期破解myBase8方法(无需安装火绒)
提醒 不管哪个端,都需要先退出myBase。 Mac 进入用户根目录/Users/c0ny100,即下边是Macintosh HD > 用户 > [你的用户名]这个界面然后按ShiftCommond.,显示隐藏文件。找到.Mybase8.ini文件 打开.Mybase8.ini文件,删除Fir…...
firewall
firewall 如果系统使用 firewalld 作为防火墙管理工具,可以使用以下命令: 查看防火墙是否运行: systemctl status firewalld查看防火墙的状态(简洁输出): firewall-cmd --state输出示例: r…...
XSS(跨站攻击)
XSS漏洞(跨站脚本) 1.XSS 漏洞简介 XSS又叫CSS(Cross Site Script)跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从…...
Tomcat添加各种响应头 X-Download-Options、Permissions-Policy等
AI越来越火了,我们想要不被淘汰就得主动拥抱。推荐一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。 最近部署的项目被绿盟扫出来很多web漏洞,其中tomcat响应占了很大一部分。下面我们整理一下如何处理。 首先说说常见…...

搭建Tomcat(一)---SocketServerSocket
目录 引入1 引入2--socket 流程 Socket(应用程序之间的通讯保障) 网卡(计算机之间的通讯保障) 端口 端口号 实例 client端 解析 server端 解析 相关方法 问题1:ServerSocket和Socket有什么关系? ServerSocket Soc…...
ubuntu 使用 Times New Roman 字体在 Matplotlib 中绘图并调整字体大小
ubuntu 使用 Times New Roman 字体在 Matplotlib 中绘图并调整字体大小 文章目录 ubuntu 使用 Times New Roman 字体在 Matplotlib 中绘图并调整字体大小1. 安装 Times New Roman 字体验证字体是否安装成功 2. 在 Matplotlib 中加载 Times New Roman 字体3. 在 Matplotlib 中使…...

openGauss开源数据库实战二十三
文章目录 任务二十三 openGauss 参数管理任务目标实施步骤一、启动参数文件及参数类型1.参数值修改后必须重新启动数据库的参数2.参数值修改后只需要reload操作的参数 二、设置数据库级参数三、设置用户级参数四、设置会话级参数五、将参数设置为默认值 任务二十三 openGauss 参…...

MySQL 复合查询(重点)
个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 MySQL 复合查询(重点) 收录于专栏[MySQL] 本专栏旨在分享学习MySQL的一点学习笔记,欢迎大家在评论区交流讨论💌 …...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...

Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...

Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...

通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...

C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...