第一章 采用Intel IXA的技术背景 | 第1-20页 |
·网络设备的发展 | 第10-11页 |
·简单回顾 | 第10页 |
·ASIC面临的问题 | 第10-11页 |
·新的解决方法 | 第11页 |
·网络处理器 | 第11-12页 |
·网络处理器的特性 | 第11-12页 |
·典型的网络处理器 | 第12页 |
·使用网络处理器的原因 | 第12页 |
·Intel的IXA架构 | 第12-16页 |
·什么是IXA架构 | 第12-13页 |
·微引擎技术 | 第13页 |
·XScale技术 | 第13-14页 |
·IXA可移植结构 | 第14页 |
·Intel IXA网络处理器 | 第14-15页 |
·开发环境与工具 | 第15页 |
·IXA的优越性 | 第15-16页 |
·对网络处理器的相关研究 | 第16-18页 |
·课题背景及意义 | 第18页 |
·论文主要内容及结构安排 | 第18-20页 |
第二章 IXA的可移植结构 | 第20-30页 |
·网络应用程序的结构 | 第20页 |
·IXA应用程序的逻辑组成 | 第20-21页 |
·快速通道--微引擎部分的结构 | 第21-24页 |
·微引擎C编译器 | 第22页 |
·优化的数据处理层功能库 | 第22-24页 |
·微功能块 | 第24页 |
·慢速通道--XScale部分的结构 | 第24-26页 |
·Core组件 | 第24-25页 |
·Core组件基础结构库 | 第25页 |
·资源管理程序 | 第25-26页 |
·OSSL | 第26页 |
·控制层与数据处理层间的接口 | 第26页 |
·IXA可移植结构应用分析 | 第26-30页 |
·可重用代码与特定于应用程序的代码 | 第27页 |
·微功能块间的共享状态 | 第27-28页 |
·数据流同微功能块设计分离 | 第28页 |
·包处理块同网络接口块分开 | 第28-30页 |
第三章 IXP2400的结构及编程技术 | 第30-40页 |
·IXP2400概述 | 第30-34页 |
·IXP2400的硬件体系结构 | 第30-32页 |
·XScale处理器 | 第30-31页 |
·微引擎 | 第31页 |
·DRAM单元与SRAM单元 | 第31页 |
·MSF接口 | 第31-32页 |
·PCI单元 | 第32页 |
·Hash单元 | 第32页 |
·Scratch单元 | 第32页 |
·总线结构 | 第32页 |
·IXP2400的主要特性 | 第32-34页 |
·微引擎 | 第34-38页 |
·控制存储器 | 第34-35页 |
·硬件多线程 | 第35页 |
·数据通路寄存器 | 第35-36页 |
·微引擎指令 | 第36-37页 |
·内容可寻址存储器(CAM) | 第37页 |
·事件信号 | 第37页 |
·寻址方式 | 第37-38页 |
·关键的编程技术 | 第38-40页 |
·超任务流水线技术 | 第38页 |
·事件信号与多线程同步 | 第38-39页 |
·延迟转移指令技术 | 第39-40页 |
第四章 系统结构及功能描述 | 第40-54页 |
·系统功能概述 | 第40页 |
·软件流水线设计 | 第40-48页 |
·软件流水线的构成 | 第40-41页 |
·流水线级的连接 | 第41-45页 |
·现场流水线 | 第41-42页 |
·功能流水线 | 第42-43页 |
·混合流水线 | 第43-44页 |
·流水线级间的通信 | 第44-45页 |
·同步区信号和临界区信号 | 第45-46页 |
·同步区 | 第45-46页 |
·临界区 | 第46页 |
·两种临界区的实现 | 第46-48页 |
·微引擎间的独占修改权 | 第46-47页 |
·线程间的独占修改权 | 第47-48页 |
·软件模块功能描述 | 第48-52页 |
·软件模块组成 | 第49页 |
·微引擎的任务指派 | 第49页 |
·Ingress中的数据流概述 | 第49-51页 |
·POE接收(POE Rx) | 第49-50页 |
·IPv4转发(IPv4 Forwarding) | 第50页 |
·队列管理(QM) | 第50页 |
·CSIX调度程序(CSIX Scheduler) | 第50-51页 |
·CSIX传送(CSIX Tx) | 第51页 |
·Egress中的数据流概述 | 第51-52页 |
·CSIX接收(CSIX Rx) | 第51页 |
·QM | 第51-52页 |
·调度程序(Scheduler) | 第52页 |
·POE发送(POE Tx) | 第52页 |
·微功能块的连接 | 第52-54页 |
第五章 基本数据通路的实现 | 第54-84页 |
·系统数据结构和接口 | 第54-57页 |
·缓冲区句柄和缓冲区描述符 | 第54-56页 |
·缓冲区链 | 第56页 |
·通信接口 | 第56-57页 |
·系统资源分配 | 第57-58页 |
·Ingress中的数据流 | 第58-75页 |
·包接收处理 | 第58-64页 |
·初始化线程 | 第59页 |
·接收线程与包顺序的维护 | 第59-60页 |
·处理RSW | 第60-61页 |
·跳转表处理 | 第61-62页 |
·包的装配 | 第62-63页 |
·缓冲区优化调度 | 第63-64页 |
·IP转发 | 第64-68页 |
·IP路由表 | 第64-65页 |
·Trie结构表查找 | 第65-66页 |
·处理下一跳信息 | 第66页 |
·与XScale的通信 | 第66-67页 |
·包顺序的维护 | 第67-68页 |
·队列管理与调度 | 第68-71页 |
·入队列与出队列处理 | 第68-69页 |
·Q-数组操作 | 第69页 |
·队列和队列组 | 第69-70页 |
·调度程序的线程功能 | 第70-71页 |
·发送C-帧 | 第71-75页 |
·处理传送请求 | 第73-74页 |
·多个请求的交替处理 | 第74页 |
·对最小包情况的优化 | 第74-75页 |
·Egress中的数据流描述 | 第75-84页 |
·C-帧的接收 | 第75-77页 |
·接收线程初始化 | 第76页 |
·包的装配 | 第76页 |
·采用的优化措施 | 第76-77页 |
·获取L2层地址 | 第77页 |
·QM | 第77-78页 |
·包调度 | 第78-79页 |
·线程功能 | 第78-79页 |
·流控制 | 第79页 |
·包的发送 | 第79-84页 |
·主要的数据结构 | 第80-81页 |
·TBuf单元管理 | 第81页 |
·处理Skip任务 | 第81-82页 |
·发送MPKT | 第82-83页 |
·队列溢出的避免 | 第83-84页 |
第六章 系统性能分析 | 第84-90页 |
·分析方法 | 第84-85页 |
·对本设计的分析 | 第85-88页 |
·运行时间预算 | 第85-86页 |
·程序模块分析 | 第86-88页 |
·POE接收模块 | 第86页 |
·IP转发 | 第86-87页 |
·QM与调度程序 | 第87页 |
·CSIX Tx | 第87-88页 |
·仿真测试 | 第88-90页 |
第七章 总结 | 第90-91页 |
参考文献 | 第91-92页 |
致谢 | 第92页 |