MIPS 体系结构相关文集汇编

来自Jack's Lab
(版本间的差异)
跳转到: 导航, 搜索
(MIPS64 体系结构)
(典型多核MIPS)
第39行: 第39行:
  
 
每核为单发射定序 10 级流水线 (Single In-order Issue),分支预测方面,其具有 2K 项的 G-share table 以及 8 项返回地址栈 (Return Address Stack), 实现 4 个硬件线程,且具有 64KB 的 L1 Cache (32KB D-Cache, 32KB I-Cache)。单核具有 64 个 TLB 项,可配置为每个线程各用 16 项,且互不干扰。
 
每核为单发射定序 10 级流水线 (Single In-order Issue),分支预测方面,其具有 2K 项的 G-share table 以及 8 项返回地址栈 (Return Address Stack), 实现 4 个硬件线程,且具有 64KB 的 L1 Cache (32KB D-Cache, 32KB I-Cache)。单核具有 64 个 TLB 项,可配置为每个线程各用 16 项,且互不干扰。
 +
 +
<br><br>
 +
 +
=== Tilera 64 ===
 +
 +
Tile64 是由美国 Tilera 公司设计的 64 核的 MIPS。这个 Tilera 是一个 fabless。
 +
 +
Tile64 瞄准通用和高端嵌入式领域,主要面向网络、视频和电信应用。第一代发布于 2007 年 8 月
 +
 +
64 个核通过片内 Mesh 网络 (Tilera's iMesh) 互联,各核皆通过自身的非阻塞 switch 连入 Mesh 网。Mesh 的互联带宽可达 31 Tbps
 +
 +
与一般的多核 MIPS 实现不同, Tile64 的每个核都有 L2 Cache。
 +
 +
核内采用顺序 (In-order) 3 发射 (three-issue) 短流水线,实现 MIPS-derived VLIW 指令集。
 +
 +
整个性能可以到 443 billion operations per second (BOPS)
 +
 +
片内还集成有 4 个 DDR2 控制器,2 个 10GbE XAUI MAC/PHY,2 个 4x PCI-E,2 个 GbE MAC,1 个 Flexible I/O 接口。
 +
 +
I/O 的带宽能达到 50Gbps
 +
 +
操作频率 500MHz ~ 866MHz。
 +
 +
700MHz 时所有核都跑有应用的情形下,功耗是 11 ~ 22W。这个有点牛 B 了,平均每个核的功耗是 0.34375W
 +
 +
 +
;ISA feature
 +
 +
Tilera ISA 面向 video 和 network 应用,可看作是 RISC 和 DSP 的混合体
 +
VLIW, 指令束长 64bit,最多可放 3 条指令
 +
64 个 32bit User Level Register:
 +
 +
Register Name          Purpose
 +
r0-r52          General Purpose
 +
tp              Thread Pointer
 +
sp              Stack Pointer
 +
lr              Link Register
 +
sn              Static Network
 +
io0-io1        IDN Ports 0-1
 +
us0-us3        UDN Ports 0-3
 +
zero            Read As Zero
 +
  
 
<br><br>
 
<br><br>

2015年2月11日 (三) 13:09的版本

Mips-arch-header.jpg


本页汇总有 Jack Tan(谭大杰) 近年所撰写的与 MIPS 体系结构相关的文章,多数为技术总结。


目录

1 已发布的 PDF 文档

MIPS Linux 异常中断代码分析 文档,涵盖中断、系统调用部分,当前版本 2007-04-12

MIPS TLB 结构和代码分析 文档,涵盖 MIPS 存储管理,当前版本 2008-03-23

MIPS Cache 结构和代码分析 文档,涵盖 MIPS Cache 的方方面面,2008-05-30




2 MIPS64 体系结构

64位多核 MIPS 异常和中断结构

64位多核 MIPS 异常和中断内核代码分析 (1)

64位多核 MIPS 存储管理结构 (TLB)



3 典型多核MIPS

3.1 XLR732

XLR 系 RMI (Raza Microelectronics, Inc) 于 2005 年推出的多核多线程处理器,主要面向高端的通信和网络应用。

同样的,RMI,fabless 也。下图是 XLR 8 核版本 (XLR732/532) 的一个框图:

Mips-xlp732-arch.png

XLR732 含 8 个 MIPS64 R1 的核,

每核为单发射定序 10 级流水线 (Single In-order Issue),分支预测方面,其具有 2K 项的 G-share table 以及 8 项返回地址栈 (Return Address Stack), 实现 4 个硬件线程,且具有 64KB 的 L1 Cache (32KB D-Cache, 32KB I-Cache)。单核具有 64 个 TLB 项,可配置为每个线程各用 16 项,且互不干扰。



3.2 Tilera 64

Tile64 是由美国 Tilera 公司设计的 64 核的 MIPS。这个 Tilera 是一个 fabless。

Tile64 瞄准通用和高端嵌入式领域,主要面向网络、视频和电信应用。第一代发布于 2007 年 8 月

64 个核通过片内 Mesh 网络 (Tilera's iMesh) 互联,各核皆通过自身的非阻塞 switch 连入 Mesh 网。Mesh 的互联带宽可达 31 Tbps

与一般的多核 MIPS 实现不同, Tile64 的每个核都有 L2 Cache。

核内采用顺序 (In-order) 3 发射 (three-issue) 短流水线,实现 MIPS-derived VLIW 指令集。

整个性能可以到 443 billion operations per second (BOPS)

片内还集成有 4 个 DDR2 控制器,2 个 10GbE XAUI MAC/PHY,2 个 4x PCI-E,2 个 GbE MAC,1 个 Flexible I/O 接口。

I/O 的带宽能达到 50Gbps

操作频率 500MHz ~ 866MHz。

700MHz 时所有核都跑有应用的情形下,功耗是 11 ~ 22W。这个有点牛 B 了,平均每个核的功耗是 0.34375W


ISA feature

Tilera ISA 面向 video 和 network 应用,可看作是 RISC 和 DSP 的混合体 VLIW, 指令束长 64bit,最多可放 3 条指令 64 个 32bit User Level Register:

Register Name Purpose r0-r52 General Purpose tp Thread Pointer sp Stack Pointer lr Link Register sn Static Network io0-io1 IDN Ports 0-1 us0-us3 UDN Ports 0-3 zero Read As Zero




4 相关分析、总结笔记

现代 CPU 中的 Cache 结构 原文2011-04-14发表于弯曲评论,现转移到 WIKI 里维护


MIPS Linux 最初启动流程 原文整理于 2007-12-20 22:19,发表于个人的百度空间,现转移到 WIKI 里维护

MIPS Linux SMP 启动流程 原文整理于 2007-12-27 22:44,发表于个人的百度空间

MIPS Linux O32 之间接系统调用 原文整理于 2010-04-13 21:03,发表于个人的百度空间

MIPS Linux 下添加系统调用 原文整理于 2007-09-06 09:57,发表于个人的CSDN空间


MIPS Linux 上下文切换分析笔记 原文整理于 2008-01-10 21:26,发表于个人的CSDN空间

MIPS Linux 存储管理分析札记 原文整理于 2008-01-10 21:25,发表于个人的CSDN空间

MIPS 下非对其访问问题 原文整理于 2007-07-31 14:37,发表于个人的CSDN空间

使用 oprofile 分析性能瓶颈 原文整理于 2007-09-06 10:31,发表于个人的CSDN空间


MIPS Linux 内核页表隐性 Bug 分析与修复 原文整理于 2007-10-11 13:59,发表于个人的CSDN空间

MIPS Linux PCI 调试技巧 原文整理于 2010-03-05 11:20,发表于个人的百度空间


Using Watchpoints register to monitor momery access on MIPS 原文整理于 2007-12-20 23:23,发表于个人的百度空间

Dump the MIPS TLB refill handler 原文整理于 2009-03-02 22:07,发表于个人的百度空间


MIPS 缓冲区溢出 原文整理于 2009-08-31 19:56,发表于个人的百度空间


精确异常与非精确异常

分支延迟槽


浮点标准 IEEE754 精要

内存容量自动识别



5 外设及其他 CPU

UART 体系结构

SPI 体系结构

I2C 体系结构

PCI 结构概述

CAN 体系结构

ARM 内核crash示例

IA32 SSE3 精要















个人工具
名字空间

变换
操作
导航
工具箱