狄泰学院_十二月提升_ 学习任务(2017.03.02 -- 2017.03.08)

 

这一周的学习任务为《专业嵌入式软件开发》中的第一章。

大家在阅读的时候请思考下面的问题:

  • 1) 微处理器和微控制器有什么不同?
 
答:在编程的角度来看,微处理和微控制器没有什么不同,两者之间的区别是在内存与外设的分布上:
     如果存在片内内存与片内外设,就是微控制器,反之则是微处理器,我们常用的PC的CPU就是微处理器; 嵌入式设备都使用微控制器,一为了节约成本,二为了功耗更低,三为了硬件设计简化.
 
  • 2) 寄存器的作用是什么?
 
答:寄存器是CPU的组成部分,处理单元是通过寄存器来运行程序和加工数据的.  寄存器可分为两个大类:  一为通用寄存器,二为浮点寄存器;
     细分分别是:  1 累加寄存器  2  标志寄存器  3  程序计数寄存器  4  基址寄存器  5  变址寄存器    6 通用寄存器   7   指令寄存器  8  栈寄存器
 
    • 累加寄存器  :   它主要用来存储我们进行计算之后的数据,它根我们的运算器之间的沟通是最快的,cpu只做累加。
    •     
    • 标志寄存器,是我们寄存器中比较重要的一种寄存器,它记录了cpu状态,和内存完全没有关系,但跟内存完全是一模一样的。操作也是读取,复制,删除等等。标志寄存器,它记录了cpu的状态,包括了:运算了之后,它的值是否溢出?它是否为零?等等......它帮助我们进行逻辑判断,cpu如何逻辑判断?它比较两个数,得出结果,来改变标志寄存器的值。
    • 程序计数寄存器:就是存储了我们的程序运行下一条指令的内存所在地址!下一条指令在内存当中的地址.
    • 基址寄存器,它存储了当前内存开始的位置。用来存储我们整个数据内存的开始地址。
    • 通用寄存器    我们用得最多的寄存器,意思就是什么都能用.
    • 指令寄存器   这个是我们接触不到的寄存器,要查询指令手册.
    • 栈寄存器     堆栈指针寄存器在堆栈操作中使用,PUSH和POP指令是从SP寄存器得到现行堆栈段的段内偏移量,所以称SP寄存器为堆栈指针,SP始终指向栈顶。堆栈是计算机中广泛应用的技术,基于堆栈具有的数据进出LIFO特性,常应用于保存中断断点、保存子程序调用返回点、保存CPU现场数据等,也用于程序间传递参数。
 
  • 3) 处理器是如何启动的?
 
答:首先出厂固化寄存器的默认值,这些值决定了上电时刻CPU的行为; 通过硬件来实现CPU的第一条执行指令的地址,完成地址与外设间的映射.第一条指令的获取,标志着引导加载程序开始运行.
 
  • 4) 处理器的输入输出方式有几种?每一种方式的工作机制是什么?
 
答:输入输出(I/O)的方式有两种:一是通过不同的I/O端口来实现对接通信,二是通过中断机制来实现对应通信.
     每一个在处理器的地址空间中占用不同的I/O端口,I/O空间如果是独立于内存所在的空间,从编程角度,是需要调用相应的函数来读写I/O端口的;
     另一种:I/O空间与内存在同一个地址空间,它被称为内存映射I/O空间,可以用C语言的指针访问.与内存访问一样的.
 
  • 5) 什么是中断?中断的机制是什么?
 
答:中断是指CPU暂停正在处理的指令流,切换到另外一种工作模式,称为"中断模式".中断的机制:进入中断模式首先,保存中断时刻所有寄存器的值,处理器完成了所需工作后,外设发清中断请求,最后是消除处理器的中断信号标识.
 
  • 6) 边界对齐的意义是什么?
 
答:边界对齐的意义在于:减少对内存的访问次数,对数据结构进行高效的操作.
 
  • 7) 程序的断点是什么?有哪些类型的断点?不同类型的断点的工作机制是什么?
 
答:通过断点,方便程序调试,在嵌入式开发中,两种断点:一是程序断点,二是数据断点;  程序断点又一分为二: 1 软件程序断点 2 硬件程序断点.
 
程序断点工作机制:CPU遇到无效或非法指令,会出现一个异常中断,当设置一个软件程序断点时,调试工具就在相应的内在位置放置无效或非法指令一条,并保存原来指令;此时运行到断点处,处理器产生异常中断,并在中断服务程序中恢复被替换的指令,另一方面将操控权交给调试工具.上面是软件程序断点的机制.
硬件程序断点的机制:通过配置处理器的断点寄存器来实现:当CPU运行到断点寄存器所指示位置的指令时,产生中断,调试工具通过该中断来进行干预.硬件程序断点数量最多4个.
 
数据断点的机制:在处理器寄存器中设置监视,当被监视的内存单元被修改时,处理器产生中断,调试工具利用这一中断,便于我们检查.和硬件程序断点一样,数量有限.
 
 
 
  • 8) 内存管理单元的作用是什么?
 
答:主要用于实现内存保护.
 
 
  • 9) 什么是缓存?缓存的意义是什么?
 
答:缓存CPU内部集成的内存,有着非常高的工作频率,我们经常听到的一级缓存,二级缓存正是缓存的划分,缓存一般容量小,曾经是CPU性能指标之一.缓存的意义在于:提高CPU对外部的访问效率.
 
 
为了更好的解答上面的几个问题,请大家在阅读教材的同时参考其他书籍的相关主题!

这一周的读书笔记中务必包含这几个问题的答案!

PS:这周的直播视频已经上传至狄泰官方网盘,请没有到场的同学记得观看直播视频!


B.R.

D.T.唐老师

转载于:https://www.cnblogs.com/zotr/p/6518793.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值