MIPS
文章平均质量分 67
xiaoseha
这个作者很懒,什么都没留下…
展开
-
内存管理笔记
1. 物理地址和逻辑地址物理地址:加载到内存地址寄存器中的地址,内存单元的真正地址。在前端总线上传输的内存地址都是物理内存地址,编号从0开始一直到可用物理内存的最高端。这些数字被北桥(Nortbridge chip)映射到实际的内存条上。物理地址是明确的、最终用在总线上的编号,不必转换,不必分页,也没有特权级检查(no translation, no paging, no privileg转载 2016-03-31 16:58:13 · 377 阅读 · 0 评论 -
MIPS 通用寄存器
MIPS有32个通用寄存器($0-$31),各寄存器的功能及汇编程序中使用约定如下:下表描述32个通用寄存器的别名和用途REGISTERNAMEUSAGE$0$zero常量0(constant value 0)$1$at保留给汇编器(Reserved fo转载 2016-03-22 15:26:22 · 1507 阅读 · 0 评论 -
什么是TLB ?
TLB:Translation Lookaside Buffer.根据功能可以译为快表,直译可以翻译为旁路转换缓冲,也可以把它理解成页表缓冲。里面存放的是一些页表文件(虚拟地址到物理地址的转换表)。当处理器要在主内存寻址时,不是直接在内存的物理地址里查找的,而是通过一组虚拟地址转换到主内存的物理地址,TLB就是负责将虚拟内存地址翻译成实际的物理内存地址,而CPU寻址时会优先在TLB中进行寻址。转载 2016-03-23 17:18:45 · 651 阅读 · 0 评论 -
MIPS中LL/SC指令介绍
注:本文主要参考了IBM的《Linux 的 Spinlock 在 MIPS 多核处理器中的设计与实现》一文,需要更详细的关于spinlock的实现可以看前述文章。在多线程程序中,为了实现对共享变量的互斥访问,一般都会用spinlock实现,而spinlock需要一个TestAndSet的原子操作。而这种原子操作是需要专门的硬件支持才能完成的,在MIPS中,是通过特殊的Load,Store操转载 2016-03-25 10:23:59 · 3865 阅读 · 0 评论 -
MIPS cache指令
MIPS cache指令:指令编码:31...26 25...21 20...16 15......0CACHE(101111) base op offset格式:cache op,offset(base)执行op制定的cace操作,16位的offset经符号位扩展,添加到base寄存器以形成有效地址;===转载 2016-03-25 16:33:43 · 2033 阅读 · 0 评论 -
缓存管理注意
在DMA设备从内存取数据之前: 如果一个设备从内存中取得数据,它必须取得正确的数据。如果D-cache是write-back,并且程序已经写了一些数据,那么很可能其中一些正确的数据还保留在D-cache中而没有写回到主存中去。CPU当然不可能看到这个问题;如果CPU需要这些数据,它会从cache中得到正确的数据。 所以在DMA设备开始从内存中读数据前,任何一个将被读数据如果还保留在D-cach转载 2016-04-08 13:30:22 · 326 阅读 · 0 评论 -
Cygwin下VI命令使用-修改文件
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。1、vi的基本概念 基本上vi可以分为三种状态,转载 2016-03-28 10:38:57 · 569 阅读 · 0 评论