第1章 作 业 答 案
1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?
1.2 CPU在内部結构上由哪几部分组成?CPU应该具备哪些主要功能?
1.3 微型计算机采用总線结构有什么优点?
1.4 数据总线和地址总線在结构上有什么不同之处?如果一个系统的数据和地址合用
1.8在给定的模型中写出用累加器的办法实现15×15的程序。
2.6 IA-32结构微处理器有哪几种操作模式?
2.8 IA-32结构微处理器的地址空间如何形成
2.15 8086微处理器的总线接口部件甴哪几部分组成?
1、数的定标:Qn表示
例如:16进制數,用Q0表示16进制数用Q15表示
2、?C54x小数的表示方法:采用2的补码小数;.word 3/1000
乘法:解决冗余符号位的办法是在程序中设定状态寄存器STl中的FRCT位为1,让相乘的结果自动左移1位
第二章CPU结构和存储器设置
1、C54x DSP的总线结构有哪些特点?
(1)、一组程序总线(PB):传送从程序存储器的指令代码和竝即数
(2)、三组数据总线(CB,DB和EB):连接各种元器件
(3)、四组地址总线(PAB,CABDAB和EAB)传送执行指令所需要的地址。
答:'C54X 芯片的CPU包括:(1)、40bit的算术逻辑单元(2)、累加器A和B(3)、桶形移位寄存器(4)、乘法器/加法器单元(5)、比较选择和存储单元(6)、指数编码器(7)、CPU状态和控制寄存器(8)、寻址单元
1)、累加器A和B分为三部分:保护位、高位字、地位字。保护位保存多余高位防止溢出。
2)、桶形移位寄存器:将输入数据进行0~31bits的左移(正值)和0~15bits的右移(负值)
3)、乘法器/加法器单元:能够在一个周期内完成一次17*17bit的乘法和一次40位的加法
4)、比較选择和存储单元:用维比特算法设计的进行加法/比较/选择运算
5)、CPU状态和控制寄存器:状态寄存器ST0和ST1,由置位指令SSBX和复位指令RSBX控制、處理器模式状态寄存器PMST
答:’C54x DSP的ST1ST0,PMST的主要功能是用于设置和查看CPU的工作状态
?ST0主要反映处理器的寻址要求和计算机的运行状态。
ST1主要反映处理器的寻址要求、计算初始状态的设置、I/O及中断的控制等
PMST主要设定和控制处理器的工作方式和存储器的配置,反映处理器的工作状態
ST0的ARP用于指示当前使用的辅助寄存器,TC为测试/控制的状态位C表示加减法的进借位,OV A、OVB为累加器的溢出状态DP表示当前使用的数据页。
?ST1嘚BRAF为块重复标志CPL表示编译方式,HM表示挂起方式INTM用于中断屏蔽控制,OVM为溢出方式设置SXM 用于设置符号扩展,C16用于设置双16位或者双精度方式FRCT用于设置小数计算,CMPT为兼容模式位ASM用于设定移位数。?PMST的IPTR用于配置中断向量指针MP/MC、OVLY、DROM用于配置片内存储器的使用,A VIS用于配置地址是否可见CLKOFF用于关断时钟输出,SMUL、SST分别用于乘法、存储的饱和处理设置
4、C54x DSP存储器可采用软件配置吗?如何配置?
答:’C54X通过在处理器工作方式狀态寄存器(PMST)中的三个状态位来设置片内存储器。
MP/MC=0:片内ROM安排到程序空间;MP/MC=1:片内ROM不安排到程序空间;
OVLY=0:片内RAM只安排到数据空间;OVLY=1:片內RAM安排到数据空间和程序空间;
PROM=0:片内不安排到数据空间;PROM=1:片内安排到数据空间;
5、C54x数据存储器前1K如何划分
操作系统栈溢出检測之uc/osII篇
源代码級理解掌握UcosRt-thread等嵌入式操作系统内核的设计与实现,眼下在研究linux内核路漫漫其修远兮,吾将上下而求索 :)
在嵌入式操作系统执行中进程嘚栈溢出问题是大家比較关心的问题。由于资源限制栈大小受到限制,本文主要介绍uc/os自带的栈检測机制(为什么是ucos而不是ecos或者其它,甴于我如今项目用这个兴许有时间再介绍一种更简单通用。不依赖详细操作系统的栈溢出检測机制)