【新编】计算机组织与体系结构概述

上传人:tang****xu2 文档编号:124595582 上传时间:2020-03-12 格式:PPT 页数:36 大小:848.50KB
返回 下载 相关 举报
【新编】计算机组织与体系结构概述_第1页
第1页 / 共36页
【新编】计算机组织与体系结构概述_第2页
第2页 / 共36页
【新编】计算机组织与体系结构概述_第3页
第3页 / 共36页
【新编】计算机组织与体系结构概述_第4页
第4页 / 共36页
【新编】计算机组织与体系结构概述_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《【新编】计算机组织与体系结构概述》由会员分享,可在线阅读,更多相关《【新编】计算机组织与体系结构概述(36页珍藏版)》请在金锄头文库上搜索。

1、3 Sept 2008 Confidential 三 计算机组织与体系结构 东软人才实训中心 Copyright 2008 By Neusoft Group All rights reserved 3 Sept 2008 Confidential 第三章 计算机组织与体系结构 目标 本章旨在向学员介绍计算机的结构与编 程模型 通过本章的学习 学员应该掌 握如下知识 计算机的存储组织 寄存器组 数据通路 编程模型 学时 3 0学时 教学方法 讲授ppt 练习 案例分析 3 Sept 2008 Confidential 3 1 计算机体系结构 CPU内部功能部件 ALU Register File

2、s PC IR Control Unit 处理器内部除了基本的计算单元 ALU之外 还包含了 指令寄存器IR 用来存储 要执行的指令 程序计数器PC 保存下一 条执行指令在内存中的地址 通用寄存器组 存储待处理 数据 控制单元 控制ALU的 执行 3 Sept 2008 Confidential 3 1 计算机体系结构 图 冯 诺伊曼体系结构 CPU ALU Register Files PC IR Control Unit 程 序 数据 主存 冯 诺伊曼体系结构 也称普林斯顿体系结构 在这种架构里 程序指令和数据连续存储 这样程序指令和数据不能同时和处理 器通信 处理器以及与存储器之间的关系

3、是定义系统特性的关键因素 3 Sept 2008 Confidential 图 哈佛体系结构 CPU ALU Register Files PC IR Control Unit 程序 数据 数据存储器 程序存储器 3 1 计算机体系结构 续 哈佛体系结构的主要特点是把指令和数据分开进行存储 也就是 说有程序存储器和数据存储器两个主要的存储器 很多嵌入式处 理器采用这种体系结构 如DSP和8051单片机 3 Sept 2008 Confidential 处理器内存 地址 数据 读写 控制 图 CPU与主存典型框图 3 2 存储组织 存储器和处理器就通过三总线 地址 数据 控制总线 的方式进行通信

4、 那么处理器是如何访问 存储器的 需要知道处理器操作数据的特性 3 Sept 2008 Confidential 处理器内存 地址 数据 读写 控制 图 CPU与主存典型框图 0 xDD 0 xCC 0 xBB 0 xAA 0 1 2 3 图 内存逻辑模型 3 2 存储组织 p 字长与端序的概念 字长 就是CPU一次能从内存 读取的比特数目 从处理器 内部角度来看 这与处理器 内部数据总线宽度 寄存器 位数以及ALU相关 小端序 多字节数据的低位字节放在低地址存储单元中 大端序 高位字节放在低地址存储单元中 3 Sept 2008 Confidential v 问题 1 在keil环境下使用C

5、语言 若有如下定义 struct data1 int i char ch double f b 则结构变量b占用内存的字节数是多少 2 在keil环境下 int i 0 x1234如何存放 大端还是小端序 3 Sept 2008 Confidential 图3 6 一个64 Mbytes SDRAM 内存模块 3 2 存储组织 续 p 主存往往是用多个存储模块组合构成的 3 Sept 2008 Confidential 地 址 译 码 器 M1M2M16 图3 7 存储器组织框图 数据总线 3 2 存储组织 续 p 由地址译码器给出的片选信号 3 Sept 2008 Confidential

6、3 3 处理器单元 ALU 图 ALU模型 16位二进制数 16位二进制数 16位二进制数 p 被动的执行部件 运算器 处理器的计算核心是算术逻辑单元 ALU ALU能够实现基本的 算术运算和逻辑运算 以及存储和控制操作 不同处理器的 ALU功能方面有一定的差异 但基本上都是在多位加法器基础 上扩充功能 使得ALU能够进行多种基本运算 在这个ALU模型中 除了两个 16位二进制数输入和一个16位 二进制数输出外 ALU还有其 它的输入和输出 其它的输入 是控制信号 不同的控制输入 确定了ALU当前应该进行的操 作 而其它的输出则保存了完 成操作的一些状态 控制信号 是由处理器内部的控制器部件

7、给出的 也就是说 运算器是 在控制器的指挥控制下 来完 成指定给它的运算处理功能 运算器只是一个被动的执行部 件 3 Sept 2008 Confidential 3 3 1 寄存器组 Register File q 寄存器 Register 处理器内部特别快速的存储单元 用来创建和保存ALU操作和其 它计算结果 CPU操作读取或改写存储器的数据都是经由寄存器 完成 q 不同的处理器具有不同的寄存器组 不同之处在于寄存器的数目 寄存器类型和每个寄存器的容量 不同之处还在于寄存器的用途 通用寄存器可以用于多种目的 可以由程序员分配其功能 而专用寄存器仅限于某些特定的 功能 3 Sept 2008

8、 Confidential 3 3 2 机器指令格式与ALU模型 ALU 汇编指令 Add R3 R1 R9 机器指令 1010 0011 0001 1001 1 0 1 0 图 ALU模型与机器指令 p 助记符与操作码 操作数 二进制位串形式的机 器指令很难理解和记 忆 通常会引入助记 符 也就是汇编指令 汇编指令与机器指 令是一对一的关系 3 Sept 2008 Confidential 3 3 3 指令执行过程 一条指令的执行过程分为取指 译码 执行 读入CPU的机器指令并不是一步执行完的 而是需要分解为更细 微的操作 微操作 也就是指令译码 每个微操作按合适的 次序驱动电子线路 例如考

9、察指令 Add R3 R1 R9的执行过程 至少在ALU在进行加法操作之前 要把寄存器R9和R1中的数 据送入ALU 并在ALU计算完后 将结果存到寄存器R3 3 Sept 2008 Confidential 3 4 数据通路 q 数据通路 包括寄存器和ALU以及数据传送线路 q 处理器内部的数据通路可以有不同的结构 包括单总线 双总线 和三总线 3 Sept 2008 Confidential 3 4 1 单总线的数据通路 图 单总线的数据通路 通用寄存器组 PC IR MAR MDR A B 存储器总线 ALU 由于一条总线在一个时间周期只能处理一次数据移动 ALU计算所需要的两个操作 数

10、就需要两个周期来移动 数据移动方面的限制会降低总体性能 3 Sept 2008 Confidential 3 4 2 双总线的数据通路 图 双总线的数据通路 通用寄存器组 PC IR MAR MDR A 存储器总线 ALU 总线1 总线2 3 Sept 2008 Confidential 3 5 处理器编程模型 q 处理器编程模型 名词 就是处理器内部对汇编程序员可见的通用寄存器 cpu只能通 过这些寄存器获得存储器以及IO中的内容进行各种各样的运算 处理 形成各种动作 编程模型主要从编程角度对处理器内部 结构进行抽象 也就是主要考虑数据的存储 而忽略了数据的 移动 q 指令集 动词 描述处理

11、器基本功能的指令集合 对于汇编程序员 需要掌握编程模型和指令集 嵌入式软件工程 师则至少应该理解编程模型 3 Sept 2008 Confidential 3 5 1 微控制器编程模型 A Acc B R0 R1 R2 R3 R4 R5 R6 R7 DPLDPH DPTR 图 8051基本编程模型 3 Sept 2008 Confidential 3 5 2 ARM 编程模型 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 PC CPSR 310 N Z C V 图 ARM编程模型 CPSR SPSR bits N negative

12、Z zero C carry V overflow 3 Sept 2008 Confidential 3 5 3 寻址方式 1 立即数寻址 MOV A 20 0 x55A MOV A 20 程序存储 MOV A 20 20 从代码中获得数据 立即寻址指令中的操作码字段后面的地址码部分即是操 作数本身 也就是说 数据就包含在指令当中 取出指令也 就取出了可以立即使用的操作数 这样的数称为立即数 由CPU完成的任何操作都涉及到寻址 就是如何获得数据 对操作数寻址的不 同方法称为寻址方式 寻址方式的不同 在于对操作数地址信息说明的不同 3 Sept 2008 Confidential 3 5 3 寻

13、址方式 续 2 直接寻址 MOV A 20 图 直接寻址方式 指令中给出操作数所在的存储单元的地址 0 x55A MOV A 20 程序存储 0 x99 20 0 x99 3 Sept 2008 Confidential 3 寄存器直接寻址 MOV A R0 图 存储器直接寻址 3 5 3 寻址方式 续 在寄存器直接寻址中 操作数是存放在寄存器中的 指令中 给出寄存器的名称 0 xAA 0 x55 R0 A MOV A R0 0 xAA 3 Sept 2008 Confidential 4 寄存器间接寻址 MOV A R0 3 5 3 寻址方式 续 寄存器间接寻址中 操作数的地址存放在寄存器中

14、 指令给出 存放操作数地址的寄存器名 间接寻址的优点是使得对数据的 存取成为动态的 0 x55A R00 x40 0 xAA0 x40 MOVA R0 0 xAA 3 Sept 2008 Confidential 5 基变址寻址 MOVC A A DPTR 3 5 3 寻址方式 续 这种寻址方式以16位的 程序计数器PC或数据指 针DPTR作为基址寄存器 以8位的累加器A作为 变址寄存器 基址寄存 器和变址寄存器的内容 相加形成16位的地址 该地址即为操作数的地 址 0 xCA DPTR 0 x4000 0 xAA0 x400C MOVC A A DPTR 0 xAA 将A DPTR作为 地址

15、装载数据 3 Sept 2008 Confidential 3 5 4 指令类型 按操作数数目分类 1 三地址指令 Operation Addr1 Addr2 Addr3 2 两地址指令 Operation Addr1 Addr2 3 单地址指令 Operation Addr1 3 Sept 2008 Confidential 按操作功能划分 1 数据移动指令 使用数据移动指令可以将数据在机器的不同部件中进行移 动 2 算术和逻辑指令 算术和逻辑指令用来对寄存器和存储器内容进行算术和逻 辑处理 3 控制指令 控制指令用来改变指令的执行次序 4 输入输出指令 输入 输出指令 I O指令 用来在计

16、算机和外围部件之间传输 数据 3 5 4 指令类型 续 3 Sept 2008 Confidential 3 5 5 堆栈操作与函数调用 堆栈 stack 是函数调用机制的基础 对于程序员 来说 这是一个比较重要的概念 从数据结构角度来 讲 堆栈具有 先进后出 LIFO Last In First Out 的特 点 从数据存储的角度来讲 堆栈就是内存的一个连 续区域 在函数调用时候通常用来保存程序的返回地 址 处理器内部有一个专用寄存器保存着栈顶地址 称 为堆栈指针 stack pointer 堆栈操作只能从栈顶一 侧访问数据 处理器支持两种堆栈操作 入栈和出栈 3 Sept 2008 Confidential 嵌入式中的堆栈共生长四种情况 在入栈的时候 前递增 又叫满递增 前递减 又叫满递减 后递增 又叫空递增 后递减 又叫空递减 递增 说明堆栈由低地址向高地址生长 所以栈底内 存标号低于栈顶内存标号 递减 则相反 前 说明堆栈指针SP先调整后再进行入栈操作 后 则先入栈 SP后调整 3 5 5 堆栈操作与函数调用 3 Sept 2008 Confidential 3 5 5 堆栈操

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号