第5章目录 口1.简介 ▣10.UART0 ▣2.引脚配置 ▣11.UART1 ▣3.存储器寻址 ▣12.2C接▣ 口4.系统控制模块 ▣13.SPI接口 ▣5.存储器加速模块 ▣14.定时器0/1 口6.外部存储器控制器 ▣15.脉宽调制器(PWM) ▣7.引脚连接模块 ▣16.AD转换器 口8.向量中断控制器 ▣17.实时时钟 ▣9.GPIO ▣18.看门狗
第5章 目录 ❑1.简介 ❑2.引脚配置 ❑3.存储器寻址 ❑4.系统控制模块 ❑5.存储器加速模块 ❑6.外部存储器控制器 ❑7.引脚连接模块 ❑8. 向量中断控制器 ❑9.GPIO ❑10.UART0 ❑11.UART1 ❑12.I2C接口 ❑13.SPI接口 ❑14.定时器0/1 ❑15.脉宽调制器(PWM) ❑16.A/D转换器 ❑17.实时时钟 ❑18.看门狗
5.5存储器加速模块(MAM) ·概述 LPC2114/2124/2210/2212/2214微控制器的 ARM内核工作在最高频率60MHz时,执行一条指 令约为17ns。而Flash存储器的访问周期需要50n5, 即最高频率20MHz。所以如果将代码存放在Flash 中,将影响ARM内核发辉最大效能。为了能将指 令从内部Flash存储器更高效快速地提取到ARM内 核,而设计产生了一个存储器加速模块(MAM)
5.5 存储器加速模块(MAM) • 概述 LPC2114/2124/2210/2212/2214微控制器的 ARM内核工作在最高频率60MHz时,执行一条指 令约为17ns。而Flash存储器的访问周期需要50ns, 即最高频率20MHz。所以如果将代码存放在Flash 中,将影响ARM内核发挥最大效能。为了能将指 令从内部Flash存储器更高效快速地提取到ARM内 核,而设计产生了一个存储器加速模块(MAM)
·MAM结构 ■使能MAM模块后,ARM内核 将通过MAM模块访问Flash存 储器。 Flash Flash 存储器组0 存储器组1 ARM局部总线 总线 预取指缓存 预取指缓存 接口 分支跟踪缓存 分支跟踪缓存 2X128位 2×128位 数据缓存国 选择
分支跟踪缓存 分支跟踪缓存 总线 接口 Flash 存储器组0 Flash 存储器组1 预取指缓存 预取指缓存 数据缓存区 选择 ARM局部总线 2×128位 2×128位 • MAM结构 ▪使能MAM模块后,ARM内核 将通过MAM模块访问Flash存 储器。 Flash 存储器组0 Flash 存储器组1 分支跟踪缓存 分支跟踪缓存 预取指缓存 预取指缓存 数据缓存区 选择 总线 接口
·MAM结构 ■使能MAM模块后,ARM内核 将通过MAM模块访问Flash存 储器。 MAM模块中的数据总线宽度 Flash Flash 为128位,所以一次读取操作可 存储器组0 存储器组1] 以读出4条ARM指令或8条 Thumb指令o ARM局部总线 线 预取指缓存 预取指缓存 ■Flash存储器被分为两组,当 分支跟踪缓存 分支跟踪缓存 CPU执行其中一组Flash内的指 2×128位 2X128位 令时,另一组进行读取缓存操 数据缓存区 作。 ■每个Flash组包会预取指缓存和 分支跟踪缓存
• MAM结构 ▪Flash存储器被分为两组,当 CPU执行其中一组Flash内的指 令时,另一组进行读取缓存操 作。 ▪使能MAM模块后,ARM内核 将通过MAM模块访问Flash存 储器。 ▪每个Flash组包含预取指缓存和 分支跟踪缓存。 分支跟踪缓存 分支跟踪缓存 总线 接口 Flash 存储器组0 Flash 存储器组1 预取指缓存 预取指缓存 数据缓存区 选择 ARM局部总线 2×128位 2×128位 ▪MAM模块中的数据总线宽度 为128位,所以一次读取操作可 以读出4条ARM指令或8条 Thumb指令。 分支跟踪缓存 预取指缓存 分支跟踪缓存 Flash 存储器组1 预取指缓存 分支跟踪缓存 预取指缓存 Flash 存储器组0 分支跟踪缓存 预取指缓存 预取指缓存
·MAM结构 ■预取指缓存区保存有将要执行 的指令。而分支跟踪缓存区保 存有程序跳转后可能执行到的 指令。 Flash Flash ■当程序向前跳转时,尝试从预 存储器组0 存储器组1 取指缓存区取指。 ARM局部总线 ■当程序向后跳转时,尝试从分 总线 预取指缓存 预取指缓存 支跟踪缓存区取指。 接口 分支跟踪缓存 分支跟踪缓存 2×128位 2X128位 ■如果程序跳转出缓存的范围, 数据缓存区 CPU将要停止,等待若干个周 选择 期,直到正确的指令从Flash中 被读出
分支跟踪缓存 分支跟踪缓存 • MAM结构 总线 接口 Flash 存储器组0 Flash 存储器组1 预取指缓存 预取指缓存 数据缓存区 选择 ARM局部总线 ▪当程序向前跳转时,尝试从预 取指缓存区取指。 2×128位 2×128位 ▪如果程序跳转出缓存的范围, CPU将要停止,等待若干个周 期,直到正确的指令从Flash中 被读出。 ▪当程序向后跳转时,尝试从分 支跟踪缓存区取指。 ▪预取指缓存区保存有将要执行 的指令。而分支跟踪缓存区保 存有程序跳转后可能执行到的 指令