- 博客(42)
- 收藏
- 关注
原创 嵌入式系统设计|程序设计与分析(下)
文章目录程序级性能分析程序性能的要素测量驱动的性能分析软件性能优化循环优化代码移出(code motion)归纳变量消除(induction variable elimination)强度消弱cache 优化数据重排和数组填充性能优化的策略程序级功耗分析与优化程序验证与测试白盒测试执行路径与测试黑盒测试程序级性能分析程序性能 ≠\neq= CPU性能CPU时钟频率不是衡量程序性能的可靠度量CPU流水线和高速缓存在程序扮演窗口的作用流水线和高速缓存影响执行时间,但是执行时间是程序的全局特性
2021-06-28 23:59:54 639 3
原创 计算机组成与实践|缓存 & 虚拟存储
文章目录简介缓存-内存映射直接映射MIPS中的直接映射缓存MIPS缓存设计组相联策略全相联映射组相联映射MIPS中的组相联映射缓存替换策略处理缓存写命中处理缓存写缺失替换算法虚拟存储简介**虚拟存储器(Virtual Memory)****虚拟存储器架构**虚拟地址到内存地址**地址转换****页表映射****采用页表进行地址转换**加速地址转换:TLB简介缓存-内存映射内存单元到缓存行间的对应关系缓存行(Cache line)=缓存块(Cache block)设计点可以快速判断缓存命中或
2021-06-22 00:06:35 241
原创 计算机组成与实践|存储
文章目录存储体系结构简介存储系统存储访问模式存储体系结构局部性原理随机访问存储器(RAM)静态随机存储器(SRAM)1-T DRAM存储单元交叉存取存储控制器存储模块交叉存取存储体系结构简介存储系统存储器的容量由寻址策略决定例如采用16位地址,寻址空间为216=65536存储单元大多数存储器是字节可寻址(byte-addressable)每个存储单元的大小为1字节大多数计算机是以字为单位(word)检索或存储数据常用缩写1K=210(Kilo)1M=220
2021-06-21 23:03:15 442
原创 计算机组成与实践|流水线
文章目录流水线概述MIPS流水线流水线数据通路及其控制正确的流水线数据通路流水线控制流水线冒险结构冒险(Structural Hazard)解决结构冒险数据冒险(Data Hazard)检测数据冒险解决数据冒险旁路(寄存器导致的数据冒险)旁路的数据通路旁路多选器的控制信号旁路条件阻塞(取数-使用 冒险)控制冒险(Control Hazard)解决控制冒险跳转提前计算分支结果编译器优化:延迟分支动态分支预测异常流水线中的异常流水线中的异常处理指令级并行(ILP)依赖数据冒险解决存储冲突静态多发射动态多发射流
2021-06-21 22:01:55 2466
原创 嵌入式系统设计|程序设计与分析(上)
文章目录嵌入式程序组件状态机循环缓冲区和面向流的程序设计FIR滤波器C编写的数字滤波器II型IIR 滤波器队列和生产者 / 消费者系统程序的模型数据流图(DFG,Data flow graph)控制/数据流图(CDFG)嵌入式程序组件考虑三种广泛应用于嵌入式软件的结构或组件的代码,这三种结构或组件分别是:状态机,循环缓冲器,队列。状态机状态机通过状态来表示系统的内部特性,状态的变化是基于输入的变化。应用:面向控制的代码;响应式系统;非周期性采样作为输入C语言实现的一个软件状
2021-06-05 19:21:17 1329 5
原创 ARM微处理器编程|指令系统-寻址方式
文章目录ARM汇编语法格式立即寻址合法的立即数寄存器寻址寄存器间接寻址基址变址寻址偏移寻址(offset addressing)事先/事后 更新寻址多寄存器寻址堆栈寻址相对寻址ARM汇编语法格式<opcode>{cond}{S}<Rd>,<Rn>,<shifter_operand><opcode>\{cond\}\{S\}<Rd>,<Rn>,<shifter\_operand><opcode>{c
2021-05-09 16:55:26 1023
原创 ARM微处理器编程|指令系统-算术指令
文章目录ARM指令指令分区指令可选后缀S 后缀!后缀B 后缀 / H 后缀T 后缀条件后缀指令类型跳转指令实现跳转的两种方法跳转指令的编码B 指令BL 指令BX指令ARM指令指令分区ARM指令代码一般可以分为五个域条件码域[31:28] ,4位条件码共有16种组合指令代码域[27:20],除指令编码外、还包含几个很重要的指令特征位和可选后缀的编码地址基址Rn域[19:16],4位可编码R0-R15共16个寄存器目标或源寄存器Rd域[15:12],4位可编码R0-R15共16个寄存器地址
2021-05-07 22:03:54 1715 5
原创 深入理解计算机系统|Attack Lab
文章目录Code InjectionPhase_1Phase_2Phase_3R O PPhase_4Phase_5小结Code InjectionPhase_1任务执行完 getbuf 函数之后不跳转到 test 函数,而是执行 touch1 函数。分析流程首先得到getbuf的汇编代码得知getbuf的缓冲区大小为0x28(即40)。为了使它跳转到touch1,通过缓冲区溢出把栈帧上面的返回地址改掉;填充40字节内容+touch1地址即可。查看touch1的汇编代码得到to
2021-04-16 23:57:52 1723 3
原创 深入理解计算机系统|Bomb Lab
文章目录Phase_1Phase_2Phase_3Phase_4Phase_5Phase_6Secret_phase小结Phase_1汇编代码思路分析由此两行可知程序将一个地址放入了%esi并调用了 strings_not_equal 函数,应该是将输入的内容与 %esi 中地址存储的内容比较,若不相等则爆炸。用examine命令查看地址中的内容得到一个字符串应该就是拆弹密码。退出gdb并验证拆弹成功。Phase_2汇编代码思路分析一开始先保护寄存器值,然后将栈的长
2021-04-16 23:25:13 850
原创 嵌入式系统设计|CPU
文章目录I/O编程I/O设备I/O设备与CPU之间通信I/O设备的分类应用:8251UART控制器I/O编程内存映射I/OARM内存映射I/O高级语言I/O操作的方法忙等待I/O忙等待I/O编程输入/输出同步方式编程中断基本部分应用基本中断将字符从输入设备复制到输出设备具有缓冲区的中断I/O调试中断代码优先级和向量优先级中断向量中断开销ARM中的中断ARM Cortex M4特权模式、异常和陷阱特权模式模式类型模式转换异常基本内容ARM Cortex M4支持的异常异常中断前后的状态转换陷阱(Trap)协处
2021-04-14 10:27:35 1784
原创 嵌入式系统设计|嵌入式计算
文章目录嵌入式系统定义嵌入式计算机结构发展历程嵌入式计算应用的特点提供精细的功能处理时限问题实时多速率成本特点为什么要使用微处理器信息物理系统 Cyber-Physical System (CPS)软件物理化嵌入式系统定义IEEE:Devices used to control, monitor, or assist theoperation of equipment, machinery or plants.Microsoft:An embedded system is any comput
2021-03-20 19:41:49 1448 3
原创 EOJ 3294. WiFi
久违的eoj题解题面单点时限: 3.0 sec内存限制: 512 MB章鱼王沿着国王大道巡视着他强大的王国,国王大道可以被看做一条直线,章鱼王的城堡的位置是 000。章鱼王知道他的国家里有 nnn 个 WiFi 信号发射器,第 iii 个发射器在 aia_iai 位置,代表章鱼王城堡向东 aia_iai 米(若 ai<0a_i<0ai<0 则为向西),WiFi 的强度为 bib_ibi,代表 aia_iai 处能接收到强度为 bib_ibi 的信号,而与信号发射器距离
2021-02-07 16:39:27 1338 4
原创 计算机网络|计算机网络体系结构
文章目录计算机网络分层结构层次结构划分的原则分层结构中的相关概念实体协议(protocol)接口(interface)服务服务原语计算机网络分层结构为了降低网络设计的复杂性,绝大多数网络都组织成一个层次栈(a stack of layer)或分级栈(a stack of level),每一层都建立在其下一层的基础之上。层次结构划分的原则各层之间相互独立,每层只能实现一种相对独立的功能每层之间界面自然清晰,易于理解,相互交流少结构上可分割开,每层都采用最合适的技术来实现保持下层对上层的独立性
2021-01-22 18:21:15 793
原创 计算机网络|计算机网络概述
文章目录计算机网络概述概念组成从组成部分上看从工作方式上看从功能组成来看功能数据通信资源共享分布式处理提高可靠性负载均衡分类按分布范围分类按传输技术分类按拓扑结构分类按使用者分按交换技术分类按传输介质分类性能指标速率(speed)带宽(bandwidth)吞吐量()计算机网络概述概念一般认为,计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备(路由等)与线路(光纤等)连接起来,由功能完善的软件实现资源共享和信息传递的系统。是一些互联的、自治的计算机系统的集合组成从组成部分上看一
2021-01-20 18:00:17 577
原创 JAVA核心技术:Java 数据库编程
文章目录知识点数据库和SQLDB表SQL基础知识示例JDBC基本操作JDBCJava SQL 操作类库Java连接数据库操作步骤Statement示例代码知识点数据库和SQLDBDB: Database = Data + Base 保存数据的地方数据库:数据+库,存放数据的库(场所)优点数据安全、安全、安全存取效率性价比高DBMS: Database Management System操纵和管理数据库的软件,可建立、使用和维护数据库DB种类文本文件/二进制
2020-11-28 15:11:39 1236
原创 JAVA核心技术:Java网络编程(续)
文章目录知识点Java NIO 编程BIONIOBuffer 缓冲区Channel 通道Selector多路选择器示例代码Java AIO 编程基础知识示例代码三种I/O的区别Netty 编程基础知识关键技术通道 Channel基于事件驱动 EventLoop事件事件处理 ChannelHandlerChannelHandler工作模式:责任链ByteBuf示例代码知识点Java NIO 编程BIO传统的TCP和UDP通讯:Blocking I/O通讯效率可能由于网络不稳定等情况造成通讯效率低下
2020-11-22 19:47:09 685
原创 JAVA核心技术:Java网络编程
文章目录知识点网络基础知识ip地址端口公网和内网通讯协议:TCP和UDPJava UDP编程基础知识实现类示例代码UdpRecvUdpSendJava TCP 编程基础知识实现类示例代码TcpServer和TcpClint交互多个客户端对应一个服务端Java HTTP 编程网页访问HTTPHTMLHTTP访问方式HTTP编程示例代码GetPostJava HTTP 编程 (HttpClient)HttpClientJDK HttpClientHttpComponents练习知识点网络基础知识ip地址
2020-11-15 19:10:54 742
原创 JAVA核心技术:多线程和并发编程(续)
文章目录知识点并行计算线程组管理Java并发框架ExecutorJava并发框架Fork-JoinJava并发数据结构ListSetMapQueue & DequeJava并发协作控制线程协作LockSemaphoreLatchBarrierPhaserExchangerJava定时任务执行定时任务简单定时器机制(Timer)Executor +定时器机制Quartz练习知识点并行计算并行模式主从模式 (Master-Slave)Worker模式(Worker-Worker)Ja
2020-11-08 08:42:40 533
原创 JAVA核心技术:多线程和并发编程
文章目录知识点多进程和多线程简介多进程概念多线程概念多进程和多线程对比Java多线程实现Java 多线程创建Java 多线程启动Java 多线程实现对比Java多线程信息共享static变量普通成员变量存在问题volatile关键字关键步骤加锁Java多线程管理线程状态生产者与消费者问题线程要做自己的主多线程死锁守护(后台)线程练习知识点多进程和多线程简介多进程概念OS都讲过的当前的操作系统都是多任务OS,每个独立执行的任务就是一个进程。OS将时间划分为多个时间片(时间很短),每个时间片内将C
2020-11-06 17:45:23 652
原创 JAVA核心技术:JUnit
文章目录知识点软件测试单元和集成测试白盒和黑盒测试自动和手动测试回归测试测试策略JUnit简介问题分析和测试用例pom文件三角形边长代码三角形边长测试类代码JUnit执行结果Maven执行结果练习知识点软件测试软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。软件测试分类单元 vs 集成测试白盒 vs 黑盒测试自动 vs 手动测试回归测试压力测试。。。。。单元和集成测试单元测试(unit t
2020-11-01 14:53:51 344
原创 JAVA核心技术:Maven
文章目录前言知识点1.构建工具传统方法2.Maven基础概念和实战Maven基础概念创建Maven项目直接创建间接创建导入第三方jar包Maven编译问题练习前言课程在中国大学MOOC上有的,关键词Java核心技术(进阶)。你们可能对这门课的赚钱能力没有一个认识,但你们现在每写一行代码就能赚一块钱。 ——cly知识点1.构建工具怎样导入第三方库以便我们调用现成的方法?(例如调用已有的第三方库ApacheCommonsMathApacheCommons MathApacheCommonsMat
2020-10-12 23:35:19 483 2
原创 深入理解计算机系统|期末整理与复习
文章目录前言第一章:概述知识点前言不过是一个软工的秃头学生的临死挣扎罢了第一章:概述知识点编译在Unix系统上,从源文件到目标文件的转化是由 编译器驱动程序 完成的。系统硬件组成系统之间的网络通信示List item...
2020-09-06 02:37:59 14069 7
原创 数据结构 大作业-空间和文本查询效率分析
文章目录前言Task 1 商户位置点查询题面思路设计实现代码hash_(sequential / binary)_searchBinary_search_tree数据分析Task 2 top−ktop-ktop−k 商户查询题面思路设计实现代码书本排序算法shell_sortheap_sortquick_sort快速选择BFPTR优先队列注意事项数据分析小结参考资料前言主要的内容,代码都是课堂上讲过的,贴就好了。Task 1 商户位置点查询题面单点时限: 24.0 sec内存限制: 2048
2020-06-25 13:15:41 2621 9
原创 EOJ 2845.符号方程求解
题面单点时限: 2.0 sec内存限制: 256 MB解一元一次方程,输出方程的解(精确至小数点后 3 位)。例如,以下是几个一元一次方程的实例:4+3x=84+3x=84+3x=86a−5+1=2−2a6a-5+1=2-2a6a−5+1=2−2a−5+12y=0-5+12y=0−5+12y=0+a−a−a−a−a−a−a−a−a−a−a−a−a−a−a−a−a−a−a−a−a−a+1098=123−1245+23712−1−1−0−20+a-a-a-a-a-a-a-a-a-a-a-a-a-
2020-06-10 15:56:55 294
原创 EOJ 2891. 多次函数
/* 一道多项式相关的实训题 */题面单点时限: 2.0 sec内存限制: 256 MB在一个平面坐标系统中显示一个多次函数的图像。为简化起见,设多次函数的最大次数为333,系数最多为222位数。函数表示为:f(x)=c3x3+c2x2+c1x+c0f(x)=c_3x^3+c_2x^2+c_1x+c_0f(x)=c3x3+c2x2+c1x+c0。给出的函数是最简形式。cic_ici为111时可省略,c3c_3c3为正数时可省略+++,次方为 111时可省略 ^1。坐标系统的 x 轴
2020-06-10 15:34:21 636
原创 EOJ 3126. 商品推荐
/ 一道easy实训题,依然是排序,主要还是熟悉熟悉cmp函数的编写 /题面单点时限: 2.0 sec内存限制: 256 MB一个电子商务网站要向顾客推荐商品,可以让顾客指定规则。现在某类顾客指定的规则是:对于同一类商品,如果一个商品的销量高于所有该类商品销量的中位数,并且价格低于所有该类商品价格的中位数 *,则向他推荐,显示商品编号,销量和价格。如果有多个商品符合要求,推荐的顺序是按...
2020-05-06 20:49:34 416
原创 EOJ 2015. 自修室
/ 没什么新奇的,但是很久以前写的,用的C,没有oop,希望以后回来更新oop版本 /题目单点时限: 2.0 sec内存限制: 256 MB一直不去自修室的 Rocker 最近迫于学习压力决定每天都要去自修,鉴于自修室多多,何必与人争挤,所以 Rocker 要坐在左右一个座位都没人,如果不是第一排,那么他的前面一个座位也没有人的位置上,当然 Rocker 也可以坐在墙边但前面或左边或右边有...
2020-04-30 22:03:45 267
原创 数据结构 双向链表的应用之大整数运算
/ 好叫你见识见识,什么叫做又臭又长的裹脚布代码,这篇帖子也是 /文章目录题目思路定义类输入判断计算加法减法乘法除法符号判断输出完整代码小结推荐题目(大数运算)long long类型一般占8个字节是C/C++中的精度最高的整数类型,取值范围在 -9223372036854775808~+9223372036854775807。在很多场景中,整数范围超出了long long的最值,例如在非对...
2020-04-30 01:08:23 2555 2
原创 数据结构 回溯法的应用之迷宫最短路径问题
/ 回溯法倒是不难理解,大家可以叫我迷宫大师了 /题目A maze is to be represented by a 12*12 array composed of three values: Open, Wall, or Exit. There is one exit from the maze. Write a program to determine whether it is pos...
2020-04-30 00:12:59 1261
原创 EOJ 1594. Triangle
/* 一道艰难的实训题 */单点时限: 2.0 sec内存限制: 256 MBA triangle is a basic shape of planar geometry. It consists of three straight lines and three angles in between. Sides are usually labeled a,b,c, with their o...
2020-04-23 21:02:29 641 3
原创 EOJ 205. 数列项
单点时限: 2.0 sec内存限制: 256 MB非负数列项的第1项为0,第2项为1,后面的每项为其前面的 k(2≤k≤10) 项之和(若不存在前面的某个项,计算时以0表示)。例如: k=3, 则数列项依次为:0,1,1(因前面的项不足3项,计算时以(0)表示,1+0+(0)=1),2,4,……输入格式一行由一个空格分隔的正整数 k 和 n。80%的数据点: 2≤k≤3,1≤n≤10...
2020-04-23 19:13:38 444
原创 数据结构 链式队列的应用之多项式运算
/是数据结构课作业,用老师的话说就是造轮子的一道题,记录一下/(多项式的运算)请编写程序实现多项式的加法、减法、乘法的运算。【输入】第一行运算符c(c可能为+,-, *)第二行,运算符c的第一个多项式且按照指数的降序排列第三行,运算符c的第二个多项式且按照指数的降序排列其中,输入多项式每一项的系数与指数均为整数,指数非负且系数不为0。【输出】多项式运算后的结果。用 ^ 表示指数项。例...
2020-04-21 23:05:53 574
原创 EOJ 97. 邮件地址排序
单点时限: 2.0 sec内存限制: 256 MB现接收到一大批电子邮件,邮件地址格式为:用户名@主机域名,要求把这些电子邮件地址做主机域名的字典序升序排序,如果主机域名相同,则做用户名的字典序降序排序。输入格式第一行输入一个正整数 n,表示共有 n 个电子邮件地址需要排序。接下来 n 行,每行输入一个电子邮件地址(保证所有电子邮件地址的长度总和不超过 10^6)。· 对于 50% 的...
2020-04-18 20:41:16 735
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人