本文主要是介绍【目录与序言翻译】嵌入式DSP设计《Embedded DSP Processor Design》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原书:Dake Liu的《Embedded DSP Processor Design: Application Specific Instruction Set Processors》
个人翻译了此书的目录与前言,以便大家在搜索相关中文关键词时能获得参考,但也仅供参考。如果帮到了您,那就再好不过了,希望能留个赞支持一下!(有支持才有动力嘛)
本文首发于:https://zhuanlan.zhihu.com/p/365531180
目录汉化(不展开)
- ■01 引言 Introduction
- ■02 有限长DSP的数值表示 Numerical Representationand Finite-Length DSP
- ■03 DSP架构 DSP Architectures
- ■04 DSP ASIC设计流程 DSP ASIP Design Flow
- ■05 一个简单的DSP核: Junior处理器 A Simple DSP Core - The Junior Processor
- ■06 ASIP设计中的代码剖析 Code Profiling for ASIP Design
- ■07 汇编指令集设计 Assembly Instruction Set Design
- ■08 软件工具链环境 Software Development Toolchain
- ■09 指令集的评估 Evaluation of an Instruction Set
- ■10 DSP微架构设计 Design of DSP Microarchitecture
- ■11 寄存器文件与寄存器总线设计 Design of Register File and Register Bus
- ■12 ALU的硬件实现 ALU HW Implementation
- ■13 MAC(乘累加器)的硬件实现 MAC Hardware Implementation
- ■14 控制路径设计 Control Path Design
- ■15 存储子系统设计 Design of Memory Subsystems
- ■16 DSP的外围设备 DSP Core Peripherals
- ■17 DSP的功能加速器设计 Design for DSP Functional Acceleration
- ■18 实时定点DSP固件 Real-time Fixed-point DSP Firmware
- ■19 ASIP的集成与验证 ASIP Integration and Verification
- ■20 并行流信号处理 Parallel Streaming Signal Processing
展开目录较长,放在序言汉化后。
序言汉化
1990s,当我在Linköping大学为一门名叫“嵌入式DSP(数字信号处理)处理器设计”的课程准备时,我找不到一本描述嵌入式处理器设计基础的教材。这成为了我写这本书的第一个主要动机。在工作期间,我也找不到任何适合且全面的参考书,这是我写这本书的第二个动机。我相信,对任何嵌入式系统设计感兴趣的人来说,本书将是一本有价值的教材或参考书,包括硬件设计到固件设计的所有方面。尽管本书是基于ASIP(特定应用指令集处理器)或ASIC(特定应用集成电路)编写的,但本书也同时能让那些想了解更多硬件知识的软件工程师受益,如DSP应用工程师。
在阅读本书的过程中,你讲有机会一步步地了解一类应用的可编程器件设计。本书中的材料适用于电子工程和计算机工程的高年级本科生或研究生的教学。也可作为正在,或想要设计特定应用的DSP处理器、通用处理器、加速器、外围设备、甚至微控制器的工程师的参考书。以及,嵌入式系统的设计人员(如DSP固件设计)也能从本书阐述的实时系统设计知识中受益。经典CPU设计者则将从CPU和ASIP间显露出的差异中受益。本书同时也可作为研究人员的基础参考资料。
本书的基础背景知识包括基本的DSP理论和数字逻辑设计,没有相关基础背景的读者应在阅读本书前先学习有关的DSP理论、逻辑设计和计算机体系结构知识。
相对于通用计算系统,DSP一直是一种由嵌入式应用和半导体技术驱动的主要技术。可以从DSP产品不断增长的市场中看出这点。在当今社会,DSP和DSP处理器日益增长的需求随处可见,如多媒体、无线通信、互联网终端、汽车电子、机器人、医疗保健、环境监测和控制、教育、科学计算、工业控制、运输和国防等领域。
DSP的应用非常广泛,包括数据增强、数据压缩、模式识别、模拟、仿真和优化。高级数字通信中的信号恢复就是数据增强的一个很好的例子。其它数据增强的例子包括纠错、回声消除和噪声抑制。数据压缩也是当今日常使用设施的另一个重要领域,例如:语音、音乐、图像、视频和互联网数据需要被压缩,以适应有限的传输和存储带宽。如果语音不被移动电话中的DSP处理器压缩,移动电话的费用将增加10到15被。如果视频信号不被压缩,DVD播放器和数字视频广播就不可能实现。
模式识别技术可用于语音识别、语言识别和图像目标识别,应用场景包括医疗保健、汽车驾驶和国防。物理模拟则已被用于游戏、培训(教育)、科学计算、国防以及模拟实验(某些实验在现实中出于过于昂贵等原因而无法进行)。
2006年,DSP处理器和微控制器的全球市场份额占了处理器总销量的95%以上,用于嵌入式的DSP处理器已经导致了半导体行业的一个重大转变。自2002年以来,DSP处理器的销售额已达到了全球半导体市场的20%。仅以移动电话中的DSP处理器为例,2006年的总销额就超过了100亿美元。
通用DSP处理器(商用的现成DSP处理器)通常会具有很高的灵活性,友好的设计环节与充分的设计参考。对功率、性能和硅面积要求不高时,通用DSP处理器是首选。当这些要求很严格时,作为ASIP的嵌入式DSP处理器将成为必需品。图P.1就显示了不同DSP市场份额的趋势。
图P.1
该图清晰地表明,ASIP DSP的未来显然是令人兴奋的——这便是我写本书的第三个动机。
大多DSP应用可归类为流式信号处理,且其中处理速度高于信号传入速度。用于流失信号处理的经典DSP硬件通常是在不可变长的ASIC上实现的,以尽可能地降低硅成本。但最近,出于复杂性与设计成本的不断提高,可编程性也成为了一个重要问题。为支持多模式或多标准的应用,各行业都需要可编程性。得益于现代VLSI(超大规模集成电路)技术的不断进步,自1990s以来,可编程特性已成为了现实。
一个持续的趋势是,MPU(作为个人电脑中央处理器的微处理器)的架构正在趋同。而DSP处理器的架构却在分化。这个现象的一个原因是,运行在DSP上的应用程序正在发生变化。然而,当一个DSP处理器被嵌入到某个系统中时,其功能还是相对固定的。另一个原因是,它们往往对嵌入式处理器或ASIP的硅效率、功耗和设计成本要求更为苛刻。
通用处理器设计者考虑的是终极性能与终极灵活性。指令集必须是通用的,因为应用和程序员行为是未知的。但ASIP设计者必须首先考虑到应用和成本。
通常情况下,ASIP设计者面临的最大挑战就是效率问题。基于详细指定的功能覆盖范围,ASIP设计的目标就是在在指定的硅面积、功耗、成本要求上实现最性能。灵活性的要求应当被充分满足,但不是(像通用处理器那样)终极的。本书将揭晓和分析通用处理器设计者和ASIP设计者间的差异。
ASIP通常基于SIP(硅知识产权或硅IP(Silicon Intellectual Property),或IP)。SoC(片上系统)解决方案则通常是更多的基于ASIP IP。因此本书的重点将放在:为片上嵌入式系统设计服务的ASIP的IP核设计。自1990s中期以来,硅IP一直被用作硅芯片设计的组件。2000年后,对硅IP设计质量的要求变得更高了。在图P.2中,系统设计的复杂性被分为了:系统设计的复杂性,和组件设计的复杂性两类。大约在1980s中后期,RTL组件(如加法器或乘法器)被优化为了系统设计的最底层组件。RTL组件在系统设计中带走了一部分的设计复杂性,以降低顶层设计的复杂性。自1990s,系统设计开始变得非常先进且复杂,以至于不得不使用可编程IP作为最低级别的组件,以控制系统设计的复杂性。
IP通常是由第三方或另一个团队设计的,因此系统的复杂性可以被分担。此外,IP通常是为多个客户设计的,因此设计成本也能被均摊;于是,IP设计的较高成本是可以被接受的。这也是写本书的第四个动机——展示面向多客户的高质量可编程IP组件的设计方法。
在最近,基于平台的设计理念被引入后,第四个动机开始变得更加重要。一个平台是一个部分设计好的特定应用系统,可用来应对最低成本的定制设计。基于平台的系统设计,同时在平台上插入一个可编程IP并在其上运行固件,可以以最低设计成本实现设计。这意味着,ASIP的设计必须同时具有硅效率和平台导向(platform-oriented)。因此,本书所提供的平台适应性ASIP设计技术会更加有趣。
Dake Liu
December 2007
Linköping, Sweden
目录汉化(展开)
- ■■01 引言 Introduction
- ■1 怎么读这本书 How to Read the Book
- ■2 硬件设计的DSP(数字信号处理)理论 DSP Theory for Hardware Designers
- DSP理论与基础的回顾 Review of DSP Theory and Fundamentals
- ADC(模转数)与有限长建模 ADC and Finite-length Modeling
- 数字滤波器 Digital Filters
- 变换 Transform
- 自适应滤波器与信号增强 Adaptive Filter and Signal Enhancement
- 随机过程与自相关性 Random Process and Autocorrelation
- ■3 理论、应用与实践Theory, Applications, and Implementations
- ■4 DSP应用 DSP Applications
- 实时响应 Real-Time Concept
- 通信系统 Communication Systems
- 多媒体信号处理系统 Multimedia Signal Processing Systems
- 无损压缩 Lossless Compression
- 音频压缩 Voice Compression
- 图像/视频压缩 Image and Video Compression
- 应用的综述 Review on Applications
- ■5 DSP的实现 DSP Implementations
- 基于GPP(通用处理器)的实现 DSP Implementation on GPP
- 基于GPDSP(通用DSP)的实现 DSP Implementation on GP DSP Processors
- 基于ASIP(专用指令集处理器)的实现 DSP Implementation on ASIP
- 基于ASIC(特殊应用集成电路)的实现 DSP Implementation on ASIC
- 实现的权衡与决策 Trade-off and Decision of Implementations
- ■6 处理器与系统的综述 Review of Processors and Systems
- DSP处理器架构 DSP Processor Architecture
- DSP里面有什么? What Is Inside a DSP?
- DSP固件 DSP Firmware
- 嵌入式系统概览 Embedded System Overview
- 嵌入系统中的DSP DSP in an Embedded System
- 嵌入式计算的原理 Fundamentals of Embedded Computing
- DSP处理器架构 DSP Processor Architecture
- ■7 设计流程 Design Flow
- 一般的硬件设计流程 Hardware Design Flow in General
- ASIP硬件设计流程 ASIP Hardware Design Flow
- ASIP设计的自动化 ASIP Design Automation
- ■8 小结 Conclusions
- ■■02 位宽有限DSP的数值表示 Numerical Representationand Finite-Length DSP
- ■1 定点数值表示 Fixed-Point Numerical Representation
- 一个直观的例子 An Intuitive Example
- 定点数值表示 Fixed-Point Numerical Representation
- 定点二进制表示 Fixed-Point Binary Representation
- 整数二进制表示 Integer Binary Representation
- 小数二进制表示 Fractional Binary Representation
- 定点操作数 Fixed-Point Operands
- 整数或者小数 Integer or Fractional
- 其它二进制数值格式 Other Binary Data Formats
- ■2 数据质量的量化 Data Quality Measure
- 噪声,失真,动态范围,精度 Noise, Distortion, Dynamic Range, and Precision
- 动态范围与精度的量化 Quantitative Concept of Dynamic Range and Precision
- ■3 浮点数值表示 Floating-Point Numerical Representation
- ■4 块浮点数 Block Floating-Point
- ■5 有限精度的DSP DSP Based on Finite Precision
- 舍入与截断的量化方法 The Way of Quantization—Rounding and Truncation
- 溢出的饱和与保护 Overflow Saturation and Guards
- 警戒位的要求 Requirements on Guards
- 执行顺序 Execution Order
- ■6 特殊情况的案例 Examples of Corner Cases
- ■7 小结 Conclusions
- ■1 定点数值表示 Fixed-Point Numerical Representation
- ■■03 DSP架构 DSP Architectures
- ■1 DSP子系统 DSP Subsystem Architecture
- ■2 处理器架构 Processor Architecture
- DSP子系统的内部 Inside a DSP Subsystem
- DSP(存储总线)架构 DSP (Memory Bus) Architecture
- 顶层架构的功能描述 Functional Description at Top Architecture Level
- DSP架构设计 DSP Architecture Design
- ■3 DSP核的内部 Inside a DSP Core
- 数据路径与寄存器总线 The Datapath and Register Bus
- MAC(乘法累加器) MAC
- ALU(算术逻辑核心) ALU
- 寄存器文件 Register File
- 控制路径 Control Path
- 地址生成器(AGU) Address Generator (AGU)
- ■4 GPP、ASIP、DSP间的区别 The Difference between GPP and ASIP DSP
- GPP、ASIP、GPP间的设计差异 The Difference between Designing a GPP and ASIP DSP
- 比较DSP处理器与其他处理器 Comparing DSP Processors to Other Processors
- CISC还是RISC CISC or RISC
- ■5 高级DSP架构 Advanced DSP Architecture
- 具极端规范(spec)的DSP DSP with Extreme Specification
- ILP(指令级并行) DSP处理器 ILP DSP Processors
- 双MAC与SIMD Dual MAC and SIMD
- VLIW(超长指令字)与超标量 VLIW and Superscalar
- 片上多核DSP On-Chip Multicore DSP
- ■6 小结 Conclusions
- ■■04 DSP ASIC设计流程 DSP ASIP Design Flow
- ■1 ASIP的设计与应用 Design and Use of ASIP
- What Is ASIP?
- DSP ASIP Design Flow
- ■2 通过概述(Profiling)理解应用 Understanding Applications Through Profiling
- ■3 选择架构 Architecture Selection
- 一般方法 General Methodology
- 各种架构 Architectures
- 量化方式 Quantitative Approach
- ■4 指令集设计 Designing Instruction Sets.
- ■5 工具链设计 Designing the Toolchain
- ■6 微架构设计 Microarchitecture Design
- ■7 固件设计 Firmware Design
- 实时固件 Real-time Firmware
- 有限精度固件 Firmware with Finite Precision
- 单个应用的固件设计流 Firmware Design Flow for One Application
- 多个应用的固件设计流 Firmware Design Flow for Multiapplications
- ■8 小结 Conclusion
- ■1 ASIP的设计与应用 Design and Use of ASIP
- ■■05 一个简单的DSP核: Junior处理器 A Simple DSP Core - The Junior Processor
- ■1 Junior—一个简单的DSP处理器 Junior—A Simple DSP Processor.
- ■2 指令集与各种操作 Instruction Set and Operations
- 存数/取数据指令 Load/Store Instructions
- 数据内存访问的寻址 Addressing for Data Memory Access
- 基础算术操作指令 Instructions for Basic Arithmetic Operations
- 逻辑与移位操作 Logic and Shift Operations
- 程序控制流指令 Program Flow Control Instructions
- ■3 汇编编码 Assembly Coding
- ■4 汇编基准测试 Assembly Benchmarking
- 块转移基准测试 Benchmarking of Block Transfer
- 单采样FIR基准测试 Benchmarking of Single-Sample FIR
- 帧FIR基准测试 Benchmarking of Frame FIR
- 单采样二阶IIR基准测试 Benchmarking of Single-Sample Biquad IIR
- 16bit除法基准测试 Benchmarking of 16-bit Division
- 向量最大跟踪基准测试 Benchmarking of Vector Maximum Tracking
- 8×8 DCT基准测试 Benchmarking of 8×8 DCT
- 256点FFT基准测试 Benchmarking of 256-point FFT
- 窗口化基准测试 Benchmarking of Windowing
- ■5 有关Junior DSP的讨论 Discussion of Junior DSP
- ■6 小结 Conclusion
- ■■06 ASIP设计中的代码剖析 Code Profiling for ASIP Design
- ■1 源码剖析 Source Code Profiling
- 什么是源码剖析 What Is Source Code Profiling?
- 为什么要剖析 Why Profiling?
- 要剖析什么 What to Profile
- 要怎么剖析 How to Profile
- 要剖析的语言 The Language to Profile .
- ■2 静态剖析 Static Profiling
- 动态与静态剖析 Dynamic and Static Profiling
- 静态剖析 Static Profiling
- 细粒度静态剖析 Fine-grained Static Profiling
- 粗粒度静态剖析 Coarse-grained Static Profiling
- ■3 动态剖析 Dynamic Profiling
- 粗粒度剖析的探针 Instrumentation for Coarse-grained Profiling
- 细粒度剖析的探针 Instrumentation for Fine-grained Profiling
- 探针的实现 Implement Instrumentation
- ■4 利用汇编代码参考 Use of Reference Assembly Codes
- 暴露隐藏开销 Expose Hidden Costs
- 理解汇编代码 Understanding Assembly Codes
- ■5 结果质量的评估 Quality Evaluation of Results
- 评估源码剖析结果 Evaluating Results of Source Code Profiling
- 剖析结构的利用 Using Profiling Results
- ■6 小结 Conclusions
- ■1 源码剖析 Source Code Profiling
- ■■07 汇编指令集设计 Assembly Instruction Set Design
- ■1 方法论 Methodology
- 时机与制约因素 Opportunities and Constraints
- 一般指令的分类 Classification of General Instructions
- 一般RISC子集指令的设计 Design of General RISC Subset Instructions
- 特定的CISC指令 Specify CISC Instructions
- 针对本科生:从初级到高级 For Undergraduates: From Junior to Senior
- ■2 RISC子集指令的设计 Designing RISC Subset Instructions
- 数据访问指令 Data Access Instructions
- 基础算术指令 Basic Arithmetic Instructions
- 无符号ALU指令 Unsigned ALU Instructions
- 程序流控制指令 Program Flow Control Instructions
- ■3 CISC子集指令的设计 CISC Subset Instructions
- MAC与乘法指令 MAC and Multiplication Instructions
- 双精度算术指令Double-Precision Arithmetic Instructions
- 其它CISC指令 Other CISC Instructions
- ■4 加速拓展 Accelerated Extensions
- 挑战 Challenges
- 方法论 Methodology
- ■5 ILP架构的指令 Instructions for Instruction Level Parallel (ILP) Architecture
- 超标量 Superscalar
- VLIW指令 VLIW Instructions
- SIMD指令 SIMD Instructions
- ■6 内存与寄存器寻址 Memory and Register Addressing
- 寄存器寻址 Register Addressing
- 数据内存寻址 Data Memory Addressing
- 硬件加速的内存寻址 Hardware Accelerated Memory Addressing
- ■7 编码 Coding
- 汇编编码 Assembly Encoding
- 机器码编码 Machine Code Coding
- 例子 Examples
- ■8 小结 Conclusion
- ■1 方法论 Methodology
- ■■08 软件工具链环境 Software Development Toolchain
- ■1 什么是工具链与IDE? What Is Toolchain and IDE?
- ASIP用户眼中的IDE ASIP User's View on IDE
- ASIP设计者眼中的IDE ASIP Designer's View on IDE
- ■2 代码分析 Code Analysis
- 词法分析 Lexical Analysis
- 语法分析 Syntax Analysis
- 语义分析 Semantic Analysis
- ■3 剖析器与 WCET 分析器 Profiler and WCET Analyzer
- ■4 编译器概览 Compiler Overview
- 中间代码生成 Intermediate Code Generation
- 代码优化 Code Optimization
- 代码生成 Code Generation
- 错误处理 Error Handler
- 编译器生成器和生成的编译器的验证 Compiler Generator and Verification of a Generated Compiler
- ■5 汇编器 Assembler
- ■6 链接器 Linker
- ■7 仿真与调试基础 Simulator and Debugger Basics
- 指令集仿真器(ISS) Instruction Set Simulator (ISS)
- 处理器仿真器 Processor Simulator
- 架构仿真器 Architecture Simulator
- ■8 调试器与GUI Debugger and GUI
- 调试器 Debugger
- SW(软件)调试器 SW Debugging
- GUI GUI
- ■9 编程工具的评估 Evaluation of Programming Tools
- ■10 小结 Conclusions
- ■1 什么是工具链与IDE? What Is Toolchain and IDE?
- ■■09 指令集的评估 Evaluation of an Instruction Set
- ■1 基准测试 Benchmarking
- DSP核算法的基准测试 Benchmarking DSP Kernel Algorithms
- 一些基准测试例子 Some Benchmarking Examples
- ■2 教学用剖析 Instruction Use Profiling
- ■3 覆盖分析 Coverage Analysis
- ■4 小结 Conclusions
- ■1 基准测试 Benchmarking
- ■■10 DSP微架构设计 Design of DSP Microarchitecture
- ■1 微架构简介 Introduction to Microarchitecture
- 微架构与架构的对比 Microarchitecture versus Architecture
- 微架构设计 Microarchitecture Design
- ■2 微架构级组件 Microarchitecture-level Components
- 基础逻辑组件 Basic Logic Components
- 算术组件 Arithmetic Components
- ■3 硬件设计的基本概念 Hardware Design Fundamentals
- 功能分区 Function Partitioning
- 功能分配 Function Allocation
- HW(硬件)复用 HW Multiplexing
- 硬件执行调度 Scheduling of Hardware Execution
- 建模与仿真 Modeling and Simulation
- ■4 微架构级的功能规范 Functional Specification at Microarchitecture Level
- 中间模块框图 Intermodule Block Diagram
- 微架构原理图 Microarchitecture Schematic
- 模块功能流程图 Module Functional Flowchart
- 有限状态机 Finite State Machine
- 编解码的真值表 Truth Table for Coding and Decoding
- ■5 ASIP微架构设计流程 ASIP Microarchitecture Design Flow
- 暴露微操作 Exposing Microoperations
- 微操作的分配和划分 Allocation and Partitioning of Microoperations
- 微操作的流水线调度 Pipeline Scheduling Microoperations
- 微操作的硬件复用 HW Multiplexing of Microoperations
- 微操作的集成 Microoperations Integration
- ■6 小结 Conclusions
- ■1 微架构简介 Introduction to Microarchitecture
- ■■11 寄存器文件与寄存器总线设计 Design of Register File and Register Bus
- ■1 数据路径 Datapath
- 通用寄存器文件 General Register File
- 设计一个简单寄存器文件 Design of a Simple Register File
- 围绕寄存器文件的流水线 Pipeline around Register File
- 通用寄存器文件中的特殊寄存器 Special Registers in a General Register File
- ■2 寄存器文件的设计 Design of Register Files
- ■3 高级寄存器文件设计 Design of Advanced Register Files
- 簇数据通路的寄存器文件 Register File for Cluster Datapath
- 超大寄存器文件 Ultra Large Register File
- ■4 小结 Conclusions
- ■1 数据路径 Datapath
- ■■12 ALU的硬件实现 ALU HW Implementation
- ■1 算术逻辑核心(ALU) Arithmetic and Logic Unit (ALU)
- ■2 算术单元(AU)设计 Design of Arithmetic Unit (AU)
- 实现方法 Implementation Methodology
- 选择核心组件 Select Kernel Components
- 实现简单AU指令 Implementing Simple AU Instructions
- 实现特殊AU指令 Implementing Special AU Instructions
- ■3 移位与旋转 Shift and Rotation
- 基于原始移位器设计移位器 Design a Shifter Using a Shifter Primitive
- 基于真值表设计移位器 Design a Shifter Using Truth Tables
- Logic Operation and Data Manipulation
- ■4 ALU集成 ALU Integration
- 前处理和后处理 Preprocessing and Postprocessing
- ALU集成 ALU Integration
- ■5 小结 Conclusions
- ■■13 MAC(乘累加器)的硬件实现 MAC Hardware Implementation
- ■1 简介 Introduction
- 回顾卷积 Review of Convolution
- MAC的基础知识 MAC Fundamentals
- ■2 MAC的实现 MAC Implementation
- MAC指令 MAC Instructions
- 实现乘法操作 Implementing Multiplications
- 实现MAC指令 Implementing MAC Instructions
- 实现双精度指令 Implementing Double-Precision Instructions
- 访问ACR(累积寄存器)上下文 Accessing ACR Context
- 标志操作和其它后操作 Flag Operations and Other Postoperations
- ■3 一个MAC设计案例 A MAC Design Case
- ■4 MAC集成 MAC Integrations
- 物理关键路径 Physical Critical-Path
- MAC中的流水线 Pipeline in a MAC
- ■5 双MAC、多MAC以及VLIW Dual MAC, Multiple MAC, and VLIW
- ■6 小结 Conclusions
- ■1 简介 Introduction
- ■■14 控制路径设计 Control Path Design
- ■1 控制路径 Control Paths
- ■2 控制路径的安排 Control Path Organization
- 有关流水线的考虑 Pipeline Consideration
- 中断管理 Interrupt Management
- ■3 控制路径的硬件设计 Control Path Hardware Design
- 顶层结构 Top-level Structure
- 程序存储器和外设的设计 Design of Program Memory and Peripherals
- 载入代码 Loading Code
- 指令流控制器 Instruction Flow Controller
- 循环控制器 Loop Controller
- PC栈 PC Stack
- 高级PC FSM的例子 Senior PC FSM Example
- ■4 指令译码器 Instruction Decoder
- 控制信号的译码 Control Signal Decoding
- 译码顺序 Decoding Order
- 异常、中断、跳转和条件执行的译码 Decoding for Exception, Interrupt, Jump, and Conditional Execution
- 多周期执行的发射 Issues of Multicycle Execution
- VLIW机器的译码 VLIW Machine Decoding
- 超标量的译码 Decoding for Superscalar
- ■5 小结 Conclusions
- ■■15 存储子系统设计 Design of Memory Subsystems
- ■1 存储器与外围设备 Memory and Peripherals
- 存储器模块 Memory Modules
- 存储器外围电路 Memory Peripheral Circuits
- ■2 存储器寻址单元设计 Design of Memory Addressing Circuitry
- 一般寻址电路 General Addressing Circuit
- 模寻址电路 Modulo Addressing Circuit
- ■3 总线 Buses
- ■4 存储器层次 Memory Hierarchy
- 问题 Problems
- DSP处理器的存储器层次 Memory Hierarchy of DSP Processors
- ■5 DMA DMA
- DMA概念 DMA Concepts
- 为一个DMA任务配置程序 Configuring a Program for a DMA Task
- 一个SoC角度的观点 A SoC View
- ■6 小结 Conclusions
- ■1 存储器与外围设备 Memory and Peripherals
- ■■16 DSP的外围设备 DSP Core Peripherals
- ■1 外围设备 Peripherals
- ■2 外设模块设计 Design a Peripheral Module
- 外围模块中的通用接口设计 Design of a Common Interface in Peripheral Modules
- 外围模块的协议设计 Protocol Design of Peripheral Modules
- ■3 中断处理器 Interrupt Handler
- 中断基础 Interrupt Basics
- 中断源 Interrupt Sources
- 中断请求 Interrupt Requests
- 中断处理过程 Interrupt Handling Process
- 一个案例学习 A Case Study
- ■4 计时器 Timers
- ■5 直接存储访问(DMA) Direct Memory Access (DMA)
- DMA基础 DMA Basics
- 设计一个简单的DMA Design a Simple DMA
- 高级DMA控制器 Advanced DMA Controller
- DMA基准测试 DMA Benchmarking
- ■6 串行端口 Serial Ports
- 比特同步 Bit Synchronization
- 分组同步 Packet Synchronization
- 仲裁 Arbitration
- 串行端口的控制 Control of a Serial Port
- ■7 并行端口 Parallel Ports
- ■8 小结 Conclusions
- ■■17 DSP的功能加速器设计 Design for DSP Functional Acceleration
- ■1 功能加速 Functional Acceleration
- 松散连接的加速器 Loosely Connected Accelerator
- 紧密连接的加速器 Tightly Connected Accelerator
- ■2 加速器规范 Accelerator Specification
- 原则 Principle
- 带单一指令的加速器 An Accelerator with One Single Instruction
- 带多指令的加速器 An Accelerator with Multiple Instructions
- 作为从处理器的加速器 An Accelerator as a Slave Processor
- ■3 可拓展处理器与加速器接口 Scalable Processor and Accelerator Interface
- 可拓展性与可配置性 Configurability and Extendibility
- 可拓展的硬件接口 Extendible Hardware Interface
- 可拓展的程序工具 Extendible Programmer Tools
- ■4 加速器设计流程 Accelerator Design Flow
- ■5 小结 Conclusions
- ■1 功能加速 Functional Acceleration
- ■■18 实时定点DSP固件 Real-time Fixed-point DSP Firmware
- ■1 固件(FW) Firmware (FW)
- ■2 HW约束下的应用建模 Application Modeling Under HW Constraints
- 了解应用 Understanding Applications
- 了解硬件 Understanding Hardware
- 选择算法 Algorithm Selection
- 选择语言Language Selection
- 实时固件实现 Real-time Firmware Implementation
- 定点数据的固件 Firmware for Fixed-point Data
- ■3 汇编实现 Assembly Implementation
- 一般流程和C语言编译 General Flow and C-Compiling
- 汇编代码的指定与规划 Plan and Specify for Assembly Coding
- 定点汇编内核 Fixed-point Assembly Kernels
- 低时钟周期开销的汇编代码 Low Cycle Cost Assembly Coding
- 高存储效率的汇编内核 Storage Efficient Assembly Kernels
- 功能库 Function Libraries
- 优化控制代码 Optimize Control Codes
- ■4 汇编层的集成与发布 Assembly-level Integration and Release
- ■5 小结 Conclusions
- ■■19 ASIP的集成与验证 ASIP Integration and Verification
- ■1 集成 Integration
- 一个ASIP核的HW集成 HW Integration of an ASIP Core
- 一个DSP与子系统和一个DSP处理器的集成 Integration of a DSP Subsystem and a DSP Processor
- 一个SoC的集成 HW Integration of a SoC
- 一个SoC仿真器的集成 Integration of SoC Simulator
- ■2 功能验证 Functional Verification
- 基础 The Basics
- 验证流程 Verification Process
- 验证技术 Verification Techniques
- 加速验证 Speed-up Verification
- 仿真或模拟 Simulation or Emulation
- 一个ASIP的验证 Verification of an ASIP
- 编写测试平台 Writing Testbench
- ■3 小结 Conclusions
- ■1 集成 Integration
- ■■20 并行流信号处理 Parallel Streaming Signal Processing
- ■1 流DSP Streaming DSP
- 流信号 Streaming Signals
- 并行流DSP处理器 Parallel Streaming DSP Processors
- ■2 并行架构、分治法 Parallel Architecture, Divide and Conquer
- 了解并行架构 Review of Parallel Architectures
- 分治法 Divide and Conquer
- ■3 暴露控制的复杂度 Expose Control Complexities
- 一般的控制处理 General Control Handling
- 暴露挑战 Exposing Challenges
- 低并行度应用的SIMT架构 SIMT Architecture for Low-level Parallel Applications
- 多核DSP子系统的设计 Design of Multicore DSP Subsystems
- ■4 流数据的操纵 Streaming Data Manipulations
- 流DSP的数据复杂度 Data Complexity of Streaming DSP
- 数据复杂度:案例1—视频 Data Complexity: Case 1—Video
- 数据复杂度:案例2—无线电基带 Data Complexity: Case 2—Radio Baseband
- ■5 并行存储访问的NoC(片上网络) NoC for Parallel Memory Access
- 设计方法 Design Methods
- 并行存储访问的NoC设计的分析 Analyses of Parallel Memory Access for NoC Design
- ■6 并行存储架构 Parallel Memory Architecture
- 并行算法的需求Requirements for Parallel Algorithms
- 缓存 Cache
- 超大寄存器文件 Ultra-large Register File
- ■7 P3RMA:一种流DSP处理器架构 P3RMA for Streaming DSP Processors
- 并行向量(暂存器)存储器 Parallel Vector Scratchpad Memories
- 存储子系统硬件 The Memory Subsystem Hardware
- 手写并行程序 Parallel Programming by Hand
- P3RMA的编程工具链 Programming Toolchain for P3RMA
- ■8 小结 Conclusions
- ■1 流DSP Streaming DSP
这篇关于【目录与序言翻译】嵌入式DSP设计《Embedded DSP Processor Design》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!