《cpu及cpu寄存器》PPT课件.ppt_第1页
《cpu及cpu寄存器》PPT课件.ppt_第2页
《cpu及cpu寄存器》PPT课件.ppt_第3页
《cpu及cpu寄存器》PPT课件.ppt_第4页
《cpu及cpu寄存器》PPT课件.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2020 3 22 3 5CPU与CPU寄存器 3 5 1本单元的目标 1 明白CPU的工作原理2 知道CPU包含那些寄存器3 掌握每个寄存器的功能及访问方式4 了解与各个寄存器相关的一些指令 3 5 2CPU组成部分 CPUControl控制单元 调度中心 ALU运算单元 加工车间 CPURegisterCPU寄存器 仓库 3 5 3CPU的工作原理 炒饭 一盘扬州炒饭是如何做出来的 3 5 3CPU的工作原理 炒饭 主料 青豆 胡萝卜 火腿 鸡蛋 米饭 最好是隔夜饭 蒜籽 葱 调料色拉油 盐 鸡精 3 5 3CPU的工作原理 炒饭 制作 1 首先将胡萝卜 火腿洗净切成小丁块状 越小越好 当然了不能切成沫状 再将辅料洗净切成沫状 将鸡蛋搅碎放入少许葱沫在内 2 将锅内放上少许色拉油加至8成热 将切好的主料 同时也放入切好的蒜沫 放入锅里炒拌 炒到可以闻到香味时 此过程只需几秒钟 再将鸡蛋放入锅内炒拌 这时需加大火候 这样鸡蛋会很松软 也不易炒糊 当鸡蛋炒至金黄色时 将其装盘 3 再放入少许色拉油加热至八成 将米饭放入锅内翻抄 此时 需将饭中加放少许食盐和鸡精 鸡精不宜放太多 否则太鲜也不好吃 当米饭炒到在锅里可以蹦起饭粒时 再将刚才炒好的主料及辅料全部返锅炒拌 直到饭粒松软不粘为起锅最佳时间 3 5 3CPU的工作原理 炒饭 做一盘扬州炒饭的大概过程 1 厨房中事先准备好了做各种菜式的各种配料 2 厨师从所有的配料中选择炒饭需要的配料 3 厨师把挑选的配料按照一定的时间顺序放到锅里 然后厨师利用他高超的厨艺炒出美味的炒饭 4 厨师把做好的炒饭装在盘中 3 5 3CPU的工作原理 工厂加工 工厂的加工过程1 准备好加工产品的各种原材料 2 物资调配部分对各种原材料进行调度分配 把它们送到生产线 3 生产线对各种原材料进行加工 生产出成品 4 生产出来的成品被送到仓库中存储 3 5 3CPU的工作原理 CPU的工作原理 1 单片机运行后 CPU控制单元从存储器中提取指令 2 控制单元把指令送到逻辑算术运算单元中 3 逻辑算术运算单元对这些指令进行处理 得到相应的数据 4 控制单元再把运算单元处理后的数据存储到存储器中 3 5 3CPU的工作原理 2 3 CPU如何处理2 3 3 5 4 1CPU内部寄存器 五个内部寄存器A H X SP PC CCR 3 5 4 1CPU内部寄存器 A 累加器A Accumulator 8位寄存器作用大 被访问的频率高主要作用 存放CPU的操作数保存运算的结果 3 5 4 1A作用1 存放操作数 有些直接操作累加器A的单目指令 或者一些不是直接操作累加器A的双目指令 需要把操作数先存放在A中 例1 单目指令LDA 00000011 A 00000011LSLA A 00000110例2 双目指令LDA 1T A 1TADD 2T A 3T 实例程序 cpu demo 累加器A 3 5 4 1A作用2 保存结果 累加器A还可以保存计算的结果例3 加法中保存结果LDA 1T A 1TADD 2T A 3T例4 乘法中保存乘积的低八位 高八位存在X中 LDX 2TLDA 3T A 3TMUL A 6T 实例程序 cpu demo 累加器A 3 5 4 1与A有关的常用指令 CLRALDASTA ADDSUBMULINCADECACMP 3 5 4 2CPU内部寄存器 变址寄存器 变址寄存器 Indexregister 由H和X两个8位寄存器构成的16位寄存器 标志为H X H为高八位 X为低八位 主要作用 H X用于64KB存储空间寻址暂存数据和计算结果 3 5 4 2存储空间寻址 例5 变址寻址CLR 8F 8F 0LDHX 008F X 8FLDA X A 8F 实例程序 cpu demo 变址寄存器 3 5 4 2存放计算结果 例6 8位乘法运算中存放结果的高8位已知 31 6 126LDX 31 X 31LDA 06MUL X 01 实例程序 cpu demo 变址寄存器 3 5 4 2与H X相关的常用指令 CLRXCLRHLDXSTXLDHXSTHXTAXTXATXS INCXDECXAIXMULCPXCPHXTSTX 3 5 4 3CPU内部寄存器 PC 程序计数器 ProgramPointer 16位寄存器 指向存放下一个指令或预取操作数的地址 指令码或操作数预取后 PC地址会自动增量指向下一个 先取后增 复位后 自动装入 FFFE 高位 和 FFFF 低位 中的值作为程序入口 即 FFFE和 FFFF存放的为地址 非操作码 运行实际的程序 看PC如何变化 3 5 4 4CPU内部寄存器 CCR 条件码寄存器 ConditionCodeRegister 8位寄存器 5个状态位 1个中断屏蔽位 两个未用置1 实例cpu demo 条件码寄存器CCR 演示各个状态的变化 3 5 4 4CCR中各位状态的改变1 在AC16中 复位时 禁止中断 I 1 CCR的初始状态为 V 0 H 0 I 1 N 0 Z 0 C 0LDA 80 V 0 H 0 I 1 N 1 Z 0 C 0 装入一个负数 N 1NEGA V 1 H 0 I 1 N 1 Z 0 C 1 0 A 0 128 128 一个8位的有符号数所能表示的范围 128 127 128超出能表示的范围 故溢出 V 1CLRA V 0 H 0 I 1 N 0 Z 1 C 1 将累加器中的值清零 故Z 1 条件码寄存器中各位的状态会受到多种指令操作的影响 3 5 4 4CCR中各位状态的改变2 LDA 00001000 V 0 H 0 I 1 N 0 Z 0 C 1ADD 00001001 V 0 H 1 I 1 N 0 Z 0 C 0 00001000 00001001 00010001 3位向4位进位 故H 1CLI V 0 H 1 I 0 N 0 Z 0 C 0 开中断 不再禁止中断 故I 0LDA 3TSUB 4T V 0 H 1 I 0 N 1 Z 0 C 1 3 4 1 结果为负数 且有借位 故N 1 C 1 3 5 4 4利用CCR中的标志进行跳转 预备知识 逻辑左移指令LSLA 0 A C 3 5 4 4利用CCR中的标志进行跳转 程序中也往往会根据各个状态位的状态作出适当的跳转 例7 LDA 01000010 A 01000000LSLA 把A中的值左移1位 移出的值放在标 志C中 移位后 A 10000100 C 0BCSC High 如果C 1 则转到标志C High 所在的位置C Low MOV 0T VarLSLA 移位后 A 000001000 C 1BCSC HighBRAC Low 转移到标志C Low所在的位置C High MOV 1T Var 3 5 4 4利用CCR中的标志进行跳转 程序中也往往会根据各个状态位的状态作出适当的跳转 例7 LDA 01000010LSLABCSC HighC Low MOV 0T VarLSLABCSC HighBRAC LowC High MOV 1T Var LDA LSLA LSLA C 1 C 1 3 5 4 4直接操作CCR的指令 TPATA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论