微处理器结构与设计--第12次课-2013-05-22_68401895

合集下载

微处理器内部结构.ppt

微处理器内部结构.ppt

2 8086/8088 CPU 主要性能
字长:16位 / 准16位。
时钟频率:8086/8088标准主频为5MHz,8086/8088-2主频为8MHz。
数据、地址总线复用。
最大内存容量:1MB。
基本寻址方式:8种。
指令系统:99条基本汇编指令。

可以对位、字节、字、字节串、字串、压缩和非压缩BCD
1.2 EU(Execution Unit)
功能
负责全部指令的执行; 向BIU输出(地址及结果)数据; 对Reg及PSW进行管理。
1.2 EU(Execution Unit)
组成

数据寄存器:AX,BX,CX,DX (16位)
8个通用寄存器
AH,AL,BH,BL,CH,CL,DH,DL(8位) 指针: SP,BP
I/O 内部通信寄存器 向“ALU数据总线” 传送数据。
“流水线”结构
总线接口部件BIU和执行部件EU并不是同步 工作的, 两者的动作管理遵循如下原则:
每当8086的指令队列中有2个空字节,BIU就会 自动把指令取到指令队列中。
而同时EU从指令队列取出一条指令,并用几个 时钟周期去分析、执行指令。
( iii )存储单元的逻辑地址和物理地址
逻辑地址 段地址 0000H~FFFFH(由段寄存器提供 ) 偏移地址 段内某个单元到段基地址的距离
(0000H~FFFFH,由指令提供 )
CPU访问存储器时,送出00000H~FFFFFH间的一个20位的物理地址。
( i )存储器空间
20根地址线
220 = 1M Byte
00000H
A19
地址
A0
1 00 1 0 1 1 1 0 0 1 0 1 1 0 1 0 1 0 1

《微处理器系统结构与嵌入式系统设计》课程教案

《微处理器系统结构与嵌入式系统设计》课程教案

《微处理器系统结构与嵌入式系统设计》课程教案第一章:微处理器概述1.1 微处理器的定义与发展历程1.2 微处理器的组成与工作原理1.3 微处理器的性能指标1.4 嵌入式系统与微处理器的关系第二章:微处理器指令系统2.1 指令系统的基本概念2.2 常见的指令类型及其功能2.3 指令的寻址方式2.4 指令执行过程第三章:微处理器存储系统3.1 存储器的分类与特点3.2 内存管理单元(MMU)3.3 存储器层次结构与缓存技术3.4 存储系统的性能优化第四章:微处理器输入/输出系统4.1 I/O 接口的基本概念与分类4.2 常见的I/O 接口技术4.3 直接内存访问(DMA)4.4 interrupt 与事件处理第五章:嵌入式系统设计概述5.1 嵌入式系统的设计流程5.2 嵌入式处理器选型与评估5.3 嵌入式系统硬件设计5.4 嵌入式系统软件设计第六章:嵌入式处理器架构与特性6.1 嵌入式处理器的基本架构6.2 嵌入式处理器的分类与特性6.3 嵌入式处理器的发展趋势6.4 嵌入式处理器选型considerations 第七章:数字逻辑设计基础7.1 数字逻辑电路的基本概念7.2 逻辑门与逻辑函数7.3 组合逻辑电路与触发器7.4 微处理器内部的数字逻辑设计第八章:微处理器系统设计与验证8.1 微处理器系统设计流程8.2 硬件描述语言(HDL)与数字逻辑设计8.3 微处理器系统仿真与验证8.4 设计实例与分析第九章:嵌入式系统软件开发9.1 嵌入式软件的基本概念9.2 嵌入式操作系统与中间件9.3 嵌入式软件开发工具与环境9.4 嵌入式软件编程实践第十章:嵌入式系统应用案例分析10.1 嵌入式系统在工业控制中的应用10.2 嵌入式系统在消费电子中的应用10.3 嵌入式系统在医疗设备中的应用10.4 嵌入式系统在其他领域的应用案例分析第十一章:嵌入式系统与物联网11.1 物联网基本概念与架构11.2 嵌入式系统在物联网中的应用11.3 物联网设备的硬件与软件设计11.4 物联网安全与隐私保护第十二章:实时操作系统(RTOS)12.1 实时操作系统的基本概念12.2 RTOS的核心组件与特性12.3 常见的实时操作系统及其比较12.4 实时操作系统在嵌入式系统中的应用第十三章:嵌入式系统功耗管理13.1 嵌入式系统功耗概述13.2 低功耗设计技术13.3 动态电压与频率调整(DVFS)13.4 嵌入式系统的电源管理方案第十四章:嵌入式系统可靠性设计14.1 嵌入式系统可靠性概述14.2 故障模型与故障分析14.3 冗余设计技术与容错策略14.4 嵌入式系统可靠性评估与测试第十五章:现代嵌入式系统设计实践15.1 现代嵌入式系统设计挑战15.2 多核处理器与并行处理15.3 系统级芯片(SoC)设计与集成15.4 嵌入式系统设计的未来趋势重点和难点解析第一章:微处理器概述重点:微处理器的定义、发展历程、组成、工作原理、性能指标。

微处理器的编程结构

微处理器的编程结构

高速缓存(Cache):高 速缓存是用于存储经常访 问的数据的快速存储器, 以减少对主存的访问时间。
主存储器(Main Memory):主存储器是 微处理器的主要存储空间, 用于存储程序和数据。
辅助存储器(Secondary Storage):辅助存储器包 括硬盘、固态硬盘(SSD) 等,用于永久存储大量数 据和程序。
微处理器的历史和发展
微处理器的发展始于20世纪70年代 ,当时Intel公司推出了第一款商用 微处理器4004。
随着技术的不断发展,微处理器的性 能和功能得到了极大的提升,同时价 格也逐步降低,使得微处理器在各个 领域得到了广泛的应用。
微处理器的应用领域
微处理器被广泛应用于计 算机、通信、工业控制、 消费电子等领域。
单元测试和集成测试
编写测试用例,对程序模块进行单元测试和 集成测试,确保程序正确性和稳定性。
性能分析和优化
使用性能分析工具,找出程序瓶颈并进行优 化。
05
微处理器编程的未来发 展
新一代微处理器技术
异构计算
通过集成不同类型和功能的处理器,如CPU、GPU、FPGA等, 实现更高效和灵活的计算能力。
输入/输出结构
01
02
03
输入设备
输入设备用于向微处理器 输入数据,如键盘、鼠标、 触摸屏等。
输出设备
输出设备用于将微处理器 的处理结果输出,如显示 器、打印机等。
中断控制器
中断控制器用于管理输入/ 输出设备与微处理器之间 的通信,实现中断处理。
中断和异常处理
中断
中断是输入/输出设备向微处理器发出的请 求信号,用于通知微处理器对某个事件进行 处理。
03
较低。
编程模型的选择

微处理器结构及其特点

微处理器结构及其特点

总线
总结词
总线是微处理器中各个部件之间传输数据和指令的通道。
详细描述
总线可以分为数据总线、地址总线和控制总线。数据总线用于传输数据,地址总线用于传输地址信息 ,控制总线用于传输控制信号。总线的宽度和速度对微处理器的性能有很大影响,总线宽度越大,传 输速度越快,微处理器的性能就越高。
03
微处理器的指令系统
详细描述
控制器负责读取指令并解码,然后根据指令的要求向各个部 件发送控制信号,协调各个部件的工作。控制器还负责产生 各种时序信号,确保指令的正确执行。控制器的设计直接决 定了微处理器的执行效率和速度。
存储器
总结词
存储器是微处理器中用于存储数据和指令的部件。
详细描述
存储器可以分为内部存储器和外部存储器。内部存储器通常指的是寄存器和高速缓存,用于存储正在处理的指令 和数据。外部存储器指的是硬盘、闪存等,用于长期存储大量的数据和程序。存储器的容量和速度对微处理器的 性能有很大影响。
指令集
指令集是微处理器所能执行的指令集合,包括算术运算、 逻辑运算、控制转移等指令。指令集越丰富,微处理器的 功能越强大。
功耗
功耗是指微处理器在工作时所消耗的电能。低功耗的微处 理器能够在电池供电的情况下运行更长时间。
影响微处理器性能的因素
制造工艺
制造工艺决定了微处理器的制程技术,先进的制程技术能 够减小晶体管的尺寸,提高集成度,从而提高微处理器的 性能。
指令系统的定义与功能
指令系统的定义
指令系统是微处理器所能执行的所有 指令的集合,包括各种算术运算、逻 辑运算、数据传送、输入/输出等操 作。
指令系统的功能
指令系统决定了微处理器的功能和性 能,通过指令系统,微处理器可以实 现各种计算和控制任务。

《微处理器系统结构与嵌入式系统设计》cha

《微处理器系统结构与嵌入式系统设计》cha

03
学习如何在嵌入式系统中进行
硬件接口编程,如GPIO、 UART、SPI、I2C等
04
掌握嵌入式系统中常见的硬件抽
象层(HAL)和设备驱动程序开
发方法
05
学习如何使用仿真器和调试器
进行硬件调试和性能优化
06
06 微处理器与嵌入式系统的 未来发展
微处理器的发展趋势
高效能
随着技术的进步,微处理 器的处理能力将不断提升, 以满足更高性能计算的需 求。
05 嵌入式系统设计实践
嵌入式系统开发环境搭建
在此添加您的文本17字
总结词:掌握嵌入式系统开发环境搭建的方法和步骤
在此添加您的文本16字
详细描述
在此添加您的文本16字
了解嵌入式系统开发环境的基本组成和要求
在此添加您的文本16字
学习如何安装和配置嵌入式系统开发所需的软件和硬件工具, 如集成开发环境(IDE)、编译器、调试器等
03 微处理器指令集架构
指令集架构的定义与分类
01
总结词
指令集架构是微处理器中用于 执行指令的硬件结构,它定义 了指令集、寄存器、内存寻址 等基本功能。
03
02
总结词
04
详细描述
指令集架构可以分为复杂指令集 计算机(CISC)和精简指令集计 算机(RISC)两类。CISC架构强 调指令的复杂性和功能多样性, 而RISC架构则注重指令的简洁性 和执行效率。
指令集架构的性能评估是衡量其 执行效率的重要指标,包括指令 执行速度、内存访问速度、功耗 等。
详细描述
指令集架构的性能评估通常采用 基准测试程序进行评估,这些程 序通过模拟实际应用场景来测试 微处理器的性能。常见的性能评 估指标包括吞吐量、延迟、功耗 等。

《微处理器系统结构与嵌入式系统设计》课程教案

《微处理器系统结构与嵌入式系统设计》课程教案

《微处理器系统结构与嵌入式系统设计》课程教案第一章:微处理器概述1.1 微处理器的定义与发展历程1.2 微处理器的组成与工作原理1.3 微处理器的性能指标与分类1.4 嵌入式系统与微处理器的关系第二章:微处理器指令系统2.1 指令系统的基本概念2.2 常见指令分类与功能2.3 指令执行过程与地址计算2.4 汇编语言与指令编码第三章:微处理器存储系统3.1 存储器概述与分类3.2 随机存储器(RAM)与只读存储器(ROM)3.3 存储器层次结构与cache 缓存3.4 虚拟存储器与内存管理第四章:输入/输出系统4.1 I/O 系统概述与分类4.2 程序控制I/O 与中断驱动I/O4.3 DMA 传输与I/O 端口映射4.4 嵌入式系统中的I/O 接口设计第五章:嵌入式系统设计与实践5.1 嵌入式系统设计流程与方法5.2 嵌入式处理器选型与系统架构设计5.3 嵌入式系统软件设计与开发5.4 嵌入式系统硬件设计与实现第六章:嵌入式系统硬件平台设计6.1 嵌入式系统硬件设计基础6.2 处理器选型与评估6.3 硬件系统架构设计6.4 硬件电路设计与仿真第七章:嵌入式操作系统原理与应用7.1 嵌入式操作系统概述7.2 嵌入式操作系统核心组件7.3 嵌入式操作系统实例分析7.4 嵌入式操作系统应用与开发第八章:嵌入式系统软件开发8.1 嵌入式软件开发概述8.2 嵌入式软件开发工具与方法8.3 嵌入式软件编程实践8.4 嵌入式软件测试与优化第九章:嵌入式系统应用案例分析9.1 嵌入式系统在工业控制中的应用9.2 嵌入式系统在医疗设备中的应用9.3 嵌入式系统在智能家居中的应用9.4 嵌入式系统在物联网中的应用第十章:未来嵌入式系统发展趋势10.1 嵌入式系统技术发展趋势10.2 嵌入式系统在各领域的应用拓展10.3 我国嵌入式系统产业现状与展望10.4 嵌入式系统教育与人才培养重点和难点解析一、微处理器概述难点解析:微处理器的发展历程需要记忆各个重要的时间节点和对应的处理器;组成与工作原理涉及到硬件组成和指令执行过程的理解;性能指标与分类需要理解如何评估处理器的性能以及不同类型处理器的应用场景。

《微处理器 》课件

《微处理器 》课件

按寻址方式分类
根据指令的寻址方式,可以将指令集分为立即寻址 、寄存器寻址、内存寻址和位寻址等。
按长度分类
根据指令的长度,可以将指令集分为单字节 指令、双字节指令、三字节指令和四字节指 令等。
指令集实现方式
硬编码实现
通过硬件电路实现指令集中的所有指令,这种方 式速度快但灵活性差。
微编程实现
通过微程序控制单元实现指令集中的所有指令, 这种方式灵活性好但速度较慢。
《微处理器》PPT课件
目 录
• 微处理器简介 • 微处理器的体系结构 • 微处理器的指令集 • 微处理器的编程模型 • 微处理器的性能优化 • 微处理器的发展趋势
01
微处理器简介
微处理器的定义
微处理器是一种集成电路芯片, 它包含了计算机的中央处理器(
CPU)的主要功能。
微处理器是计算机系统的核心部 件,负责执行指令和处理数据。
并行计算技术
总结词
并行计算技术是利用多个处理器同时 执行多个任务,以提高整体计算性能 。
详细描述
并行计算技术通过将一个任务分解成 多个子任务,并分配给多个处理器同 时执行,大大加快了计算速度。这种 技术广泛应用于高性能计算、云计算 和大数据等领域。
低功耗技术
总结词
随着移动设备和便携式设备的普及,低功耗技术已成为微处理器发展的另一个重要趋势 。
微处理器的应用领域
01
02
03
04
计算机领域
个人电脑、服务器、超级计算 机等都离不开微处理器的支持

通信领域
手机、路由器、交换机等通信 设备中都有微处理器的身影。
工业控制领域
自动化生产线、机器人、智能 家居等都需要微处理器进行控

电子工程中的微处理器系统设计

电子工程中的微处理器系统设计

指令级并行性优化
指令级并行性:在同一时钟周期内执行多条指令 优化方法:通过编译器优化、硬件流水线设计等手段提高指令级并行性 示例:使用SIMD指令集(如SSE、AVX等)实现数据并行计算 效果:提高处理器性能,降低功耗和成本
数据级并行性优化
指令级并行性:通过增加指令流水线、分支预测等技术,提高指令执行效率。
嵌入式系统:包括工业控制、医疗设 备、汽车电子等
军事领域:包括雷达、导弹、航天器 等
通信系统:包括手机、路由器、交换 机等
科学研究:包括生物信息学、气象学、 物理学等
微处理器系统的基本组成
微处理器:核心部件,负责执行指令和进行数据处理 存储器:用于存储程序和数据,包括RAM和ROM 输入/输出设备:与外部设备进行通信,如键盘、鼠标、显示器等 总线:连接微处理器、存储器和输入/输出设备的通道,包括数据总线、地址总线和控制总线
指令集:微处理器执行指令的集合 架构:指令集的设计和实现方式 常见指令集架构:x86、ARM、RISC-V等 指令集架构对微处理器性能的影响:影响执行效率、功耗和成本
流水线技术
概念:将指令执行过程分为多个阶段,每个阶段由不同的功能单元完成 优点:提高处理器执行效率,减少等待时间 实现方式:通过硬件和软件手段实现指令流水线 挑战:如何平衡各个功能单元的负载,避免资源浪费和瓶颈效应
PART 02
微处理器系统的 设计流程
需求分析
确定系统需求:功能、 性能、成本、时间等
确定系统架构:处理器、 内存、外设等
确定系统接口:硬件接 口、软件接口等
确定系统安全:数据安 全、系统安全等
系统设计
确定系统需求:明确系统需要实现的功能 设计系统架构:确定系统的硬件和软件组成 设计硬件:包括处理器、内存、输入输出设备等 设计软件:包括操作系统、应用程序等 测试和优化:对系统进行测试,找出问题并进行优化 生产制造:将设计好的系统制造出来,并进行质量控制

《微处理器》课件

《微处理器》课件

微处理器的新技术与应用
神经网络处理器
针对人工智能和机器学习应用,神经网络处理器能够加速深度学 习算法的运算。
嵌入式系统
微处理器在嵌入式系统中的应用将更加广泛,如智能家居、工业自 动化等领域。
物联网设备
随着物联网的发展,微处理器将应用于更多类型的物联网设备中, 实现设备间的互联互通。
微处理器的未来挑战与机遇
处理器体系结构
处理器核
01
处理器体系结构中的处理器核是微处理器的核心部分,负责执
行指令和处理数据。
核外设备
02
核外设备包括寄存器、高速缓存、总线接口等,用于扩展处理
器核的功能和性能。
处理器优化
03
为了提高微处理器的性能,需要对处理器进行优化,如采用流
水线技术、并行处理技术等。
03
微处理器的指令系统
《微处理器》课件
CONTENTS
• 微处理器概述 • 微处理器的体系结构 • 微处理器的指令系统 • 微处理器的编程模型 • 微处理器的应用开发 • 微处理器的未来发展
01
微处理器概述
微处理器的定义
总结词
微处理器的核心作用
详细描述
微处理器是计算机系统的核心部件,它能够执行程序指令,控制计算机的各个 部分协调工作。
技术创新
随着半导体工艺的物理极限临近,微处理器 设计将面临技术上的挑战,需要寻求新的技 术创新。
安全问题
随着微处理器广泛应用于各个领域,安全问题变得 越来越重要,需要加强安全设计和防护措施。
新市场机遇
随着技术的发展,微处理器将有更多新的应 用领域和市场机遇,如自动驾驶、虚拟现实 等。
谢谢您的聆听
THANKS
开发环境

计算机体系结构与微处理器设计

计算机体系结构与微处理器设计

计算机体系结构与微处理器设计在现代科技时代,计算机已经成为我们生活中不可或缺的一部分。

计算机的高速运算和复杂计算任务依靠的是计算机体系结构和微处理器设计。

本文将探讨计算机体系结构的基本原理和微处理器设计的重要性。

计算机体系结构是指计算机硬件和软件之间的接口。

它决定了计算机的组织方式,包括内存结构、指令集和数据传输方式等。

计算机体系结构的设计可以影响计算机的性能、能耗和可靠性。

因此,计算机体系结构的设计是计算机工程师必须面对的一个重要挑战。

计算机体系结构主要分为冯·诺依曼结构和哈佛结构。

冯·诺依曼结构是一种将程序和数据存储在同一存储器中的计算机结构。

它的特点是指令和数据共享同一总线,这样可以快速读取和执行指令。

而哈佛结构则是将程序和数据存储在两个不同的存储器中。

虽然哈佛结构需要更多的硬件资源,但它可以并行读取指令和数据,从而提高了计算机的性能。

除了计算机体系结构,微处理器的设计也是计算机性能的关键因素之一。

微处理器是计算机的核心,它负责解析和执行指令。

微处理器的设计需要考虑功耗、速度和功能等多个因素。

它由控制单元和算术逻辑单元组成,控制单元负责指令解码和分配任务,而算术逻辑单元则负责数值运算和逻辑运算。

为了提高微处理器的性能,计算机工程师们采用了多核处理器的设计。

多核处理器指的是在一个集成电路芯片上集成多个处理核心。

使用多核处理器可以同时处理多个任务,提高计算机的效率。

这种设计方式在面对大规模计算和并行计算任务时尤为重要。

此外,计算机体系结构和微处理器设计的发展也对人工智能、物联网和云计算等领域产生了深远影响。

人工智能需要大量的计算资源来进行深度学习和模式识别。

物联网需要各种各样的计算设备来收集、传输和处理大量的数据。

而云计算则需要高效的计算平台来提供云服务。

在未来,计算机体系结构和微处理器设计将继续发展,以适应新的计算需求和应用场景。

随着人工智能、物联网和云计算等技术的不断进步,对计算资源的需求将会越来越大。

微处理器结构解读

微处理器结构解读
? BX:常做为基地址寄存器;
? CX:在串操作或用循环指令(如LOOP等)中的循环计数必须选用CX;
? DX:作为数据寄存器,在I/O端口操作中存放端口地址,与AX配合形成32 位数据。
寄存器隐含使用的默认搭配必须认真记住,才不致于违反语法规则
微处理器结构
? 通用寄存器:指针寄存器
寄存器
指针、变址寄存器 (通用寄存器)
通用寄存器: AX(AH、AL),BX(BH、BL),CX(CH、CL),DX(DH、DL),SP, BP,SI,DI 控制寄存器: 标志寄存器
微处理器结构 ? 8086微处理器的基本框图
微处理器结构
? 8086微处理器程序执行步骤
? 从内存储器中取出一条批令,分析操作作 码;
? 读出一个操作数(如要指令需要操作数 ); ? 执行的令; ? 将结果写入内存储器 (如果批令需要)。
序号 5 6
寄存器代码 SP BP
寄存器名称 堆栈指针寄存器 基址指针寄存器
? 指针寄存器 : 堆栈指针( SP)和基址指针( BP)通常用来作为十六 位地址指针。
? SP是指向堆栈段栈顶存储单元的偏移量 ,且总是 指向栈顶,进栈与 出栈的操作(字操作)皆由 SP来指明偏移地址,堆栈指针 SP就是这 样的隐含使用。
15 12 11 10 9 8 7 6 5 4 3 2 1 0
OF DF IF TF SF ZF
AF
PF
CF
控制标志 反映结果状态
反应运算过程
? 溢出标志OF:若算术运算的结果有溢出,则OF=1;否则 OF=0。
例如:
3AH + 7CH=B6H
产生溢出:OF=1
AAH + 7CH=(1)26H 没有溢出:OF=0
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在Cache中数据定位
• Question1: 怎样知道一个数据项是否在cache中? • Question2:如果在cache中,又怎样能找到? • Cache 中的每个数据单元都有固定的位置并编址 • 编址的方法称为直接映射:即 (Block address)modulo (Number of cache block in the cache) • Cache中数据项的个数通常是2的幂次方 • 因此直接映射的方式就是取地址的低位部分
1
Cache的寻址过程
1
产生Miss, 导致load
装入
15
微电子学研究所李树国
1
Cache寻址的过程
2
产生Miss, 导致load
装入
16
微电子学研究所李树国
1
Cache寻址的过程
3
命中
4
命中
17
微电子学研究所李树国
1
Cache寻址的过程
产生Байду номын сангаасiss, 导致load
5
装入
18
微电子学研究所李树国
• 存储器组织结构概念(Memory hierarchy)
– 使用多级不同速度和容量的存储器,存储器与处理 器距离越远,则存储时间越长和容量就越大。
3
微电子学研究所李树国
主存储器(main memory),cache,磁盘
• • • • • • 主存储器(main memory)由DRAM来实现 紧挨着处理器的存储器称之为cache,由SRAM来实现 离处理器最远,访问时间最长,容量最大的由磁盘来实现 DRAM与SRAM相比成本低,容量大,访问时间长 SRAM具有成本高,容量小,访问时间短 磁盘容量巨大,成本最低,访问时间长
block 6 微电子学研究所李树国
存储器访问的概念
• hit(命中)
– 在当前级的存储器中找到目标
• Miss (缺失)
– 在当前级存储器中没找到
• Hit rate (命中率)
– 在cache中命中(hit)的比例
• Miss rate(缺失率)
– 在一个存储层次结构中未找到的比例
• Hit time (命中时间)
写cache的处理方法
写cache时的处理策略
• Write-through处理策略
– 发生写缺失时,给缺失的块分配地址,在写入数据 和继续执行之前,把这个块的其余数据取到cache 中。这种策略称之为fetch-on-miss(缺失取), fetch-on-write(写时取),allocate-on-miss(缺失 分配) – Write-around(写绕回)策略
• 写时绕过cache,直接写入主存储器(DRAM) 。这种策略 的前提条件建立在程序读cache的数据块之前,必须先 从主存储器(DRAM)中读数据块写到cache。
31
微电子学研究所李树国
微处理器结构与设计
存储器组织结构
第12次课 2013.05.22
1
微电子学研究所李树国
存储器结构的建立及其原理
• 人们总是渴望一个无限量的快速存储器, 可以存储你想知道的任何信息。 • 存储器组织结构类似于图书馆书库结构 • 程序的局部性原理
– 时间的局部性
• 如果一个数据块被访问,则在短时间内这个数据块 很可能被再访问
• 请求字优先方法:
– 请求的字被优先传送到Cache,而块中其它的字其后以请求 字的地址为起始地址,延续传送直到块的开始地址。 – 这种方法同样对数据cache的传送受到局限
27 微电子学研究所李树国
读指令缺失(Read Miss) 的处理步骤 • 发送PC-4的值给主存储器 • 指示主存储器(DRAM)读,并等待主存储器 完成 • 将主存储器(DRAM)返回的数据写cache的数 据单元,并把地址的高位填入到cache的tag 字段,同时置相应的有效位valid • 恢复处理器的执行,重取指令,这次就会 命中。
• 每个block容量是(2m×32)+32-(n+m+2)+1(valid) • 因此,整个cache的容量
– 为2n×(2m×32+32-(n+m+2)+1)
• 2009年3月,我给作者纠过一个错,原来书为
– 2n×(m×32+32-(n+m+2)+1)应改为 – 2n×(2m×32+32-(n+m+2)+1)(作者的第四版已经改过)
4
微电子学研究所李树国
Memory hierarchy的基本结构
5
微电子学研究所李树国
存储器访问的概念
• 存储器的组织结构包含多级 存储器,但数据的复制仅发 生在相邻的2级之间。 • 通常,上一级存储器比下一 级存储器容量小,速度快。 • Block 块(或行):
– Block是两级存储器中交换的 的最小信息单元,其中或存 信息或不存信息
• •
故某cache需要的总存储空间: 1K×(128+19)=147K bit
24
因此,每个Block有非数据位18+1=19位
每个Block有tag: 32-(10+2+2)=18 bits 每个Block有1个valid位
微电子学研究所李树国
例2
一个拥有64个blocks,每个block有16 bytes,对字节地址1200 ,其映射的 块号是多少? 解:计算块号(Block address) modulo (number of cache blocks) 每个Block的字节的地址范围
• MIPS有32位的地址 • 设cache有2n个block,每个block有2m个word(或者2m+2 bytes)
– tag的位长bits:32-(n+m+2)
• n位用来在cache中寻址block, • m位用来在block中寻址word • 2 位用来在word中寻址byte Tag位,即地址的高位部分
13
微电子学研究所李树国
问题: 由于从大空间到小空间的映射,会导致 多个地址映射到cache中同一个单元,怎 样区分呢?
解决方案: • 增加标志位tag
• 增加有效位V (valid)
– Tag标志位中含有数据项的高位地址 – 有效位V表示数据项的地址是否有效 – 在处理器上电reset或初始化时,用v指明tag 地址位的有效或无效
缺失时间(miss penalty)组成:从相邻存储器级中取出该块的时 间+把该块装入到Cache的时间 缺失时间=取第一个字(word)的延迟(latency)+传送块内其 它字(word)的时间
26 微电子学研究所李树国
缺失率的改进措施
• 尽早启动法:
– 一旦块中所请求的字取回到cache,处理器就立即启动恢复 运行,而不必等待整个块传送完毕; – 采用上述方法对指令cache采用效果较好。因为指令的执行 多是串行的,若是每个周期传送一条指令,处理器的执行 就会持续下去。 – 这个方法对数据cache效果不好。因为所要求的数据字不可 能包含在同一个block中,当一个请求其它block块字时,由 于当前的block块正在传送,于是,处理器不得不停顿。
微电子学研究所李树国
28
写cache时问题
• 仅写cache,而不写主存储器(DRAM)就会导致Cache和 主存储器(DRAM)的数据不一致。 • Write-Miss:如果在cache中找不到要写的地址,就会 发生写缺失(Write-Miss) • Write-through策略:
– 每一次的写,不管发生缺失与否,都会导致一次写主存储器 (DRAM) – 当发生写缺失时,首先,从主存储器(DRAM)取回相应的 block放置到cache中,然后,再把缺失的字写入到cache的块 中,同时用缺失字的全地址把该字写入到主存储器。即同时 写Cache和主存储器(DRAM) 。(question?为什么2次写) – 当写不发生写缺失时, 也要先写回cache,同时也直接写入 到主存储器(DRAM)中,以保持cache和主存储器(DRAM)的数 据的一致性。与发生写缺失不同的是,它节约了从主存储器 (DRAM)取回block的时间。
29 微电子学研究所李树国
• 为解决直接写主存储器(DRAM)的延迟,使用writebuffer
– Write-through会导致处理器的性能下降,如 例如,store指令,其CPI在不发生写缺失时是1个周期,而 “写”操作的额外花费却需要100个周期进行写主存储器 (DRAM) 。在SPEC2000中store指令的出现比例10%,于是 得,store的CPI为: 1+100×10%=11,显然,store指令 CPI降低了10倍 – 先把数据写入write-buffer,不等写入到主存储器(DRAM)是 否完成,就恢复处理器的执行。 – 只有当主存储器(DRAM)写入完毕,才能释放write-buffer – 不管写主存储器(DRAM)速度多快,都有可能导致处理器停 顿。因为处理器的写操作以Burst的模式产生。 – 通常增加write-buffer的深度,使之能容纳多个条目,就会 降低处理器的停顿。
低地址
Byte Address Byte per block × Bytes per block
高地址
Byte Address Byte per block × Bytes per block + ( Bytes per block − 1)
所以
Byte Address 1200 = 75 Byte per block = 16
8
微电子学研究所李树国
Checkyourself
相关文档
最新文档