硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1654|回复: 5
收起左侧

ZYNQ双核A9开启MMU后内存访问步骤(2021-12-25)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106840
QQ
发表于 2021-12-25 01:13:40 | 显示全部楼层 |阅读模式
当处理器内存访问时,MMU:

1. 在相关指令或数据 Micro TLB中的请求虚拟地址,当前 ASID 和安全状态中查找。

2. 如果Micro TLB 中存在未命中,则查找主TLB中请求的虚拟地址,当前 ASID 和安全状态。

3. 如果主 TLB 中存在未命中,则执行硬件转换表遍历。MMU 可能找不到全局映射或(a mapping for the currently selected ASID with a matching non-secure TLB ID (NSTID) for the virtual address in the TLB)。在这种情况下,如果 硬件TTB 中的 PD0 或 PD1 位启用了转换表,则执行转换表控制寄存器。如果转换表遍历被禁用,处理器返回一个部分转换过错。

如果 MMU 找到匹配的 TLB 条目,它会使用条目中的信息,如下所示:

1. 访问权限位和域决定是否启用访问。如果匹配条目未通过权限检查,MMU 发出内存中止信号。

2. TLB 条目和 CP15 c10 重映射寄存器中指定的内存区域属性控制cache and write buffer,

a. Secure or non-secure
b. Shared or not
c. Normal memory, device, or strongly-ordered

3. MMU 将虚拟地址转换为用于内存访问的物理地址。如果 MMU 没有找到匹配的条目,则会发生硬件表遍历。

1.png

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106840
QQ
 楼主| 发表于 2021-12-25 01:24:02 | 显示全部楼层
TLB Maintenance Operations

1.png

2.png
回复

使用道具 举报

3

主题

1223

回帖

1232

积分

至尊会员

积分
1232
发表于 2021-12-26 21:09:22 | 显示全部楼层
回复

使用道具 举报

7

主题

190

回帖

216

积分

高级会员

积分
216
发表于 2021-12-28 10:00:38 | 显示全部楼层
跟着硬汉哥学znyq
回复

使用道具 举报

4

主题

51

回帖

68

积分

初级会员

积分
68
发表于 2021-12-29 16:42:18 | 显示全部楼层
现在拿哪里的开发板做实验呢,是准备以后用zynq但是不用外置ram来搞么?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106840
QQ
 楼主| 发表于 2021-12-29 16:53:47 | 显示全部楼层
ndx1986 发表于 2021-12-29 16:42
现在拿哪里的开发板做实验呢,是准备以后用zynq但是不用外置ram来搞么?

现在还没用板子,最近在学习A9内核,等学差不多了再在板子上操作。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-7 05:37 , Processed in 0.215058 second(s), 32 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表