• 博客(0)
  • 资源 (6)

空空如也

ARM system-on-chip architecture

1.1 Processor architecture and organization 2 1.2 Abstraction in hardware design 3 1.3 MU0 - a simple processor 7 1.4 Instruction set design 14 1.5 Processor design trade-offs 19 1.6 The Reduced Instruction Set Computer 24 1.7 Design for low power consumption 28 1.8 Examples and exercises 32…… 2.1 The Acorn RISC Machine 36 2.2 Architectural inheritance 37 2.3 The ARM programmer's model 39 2.4 ARM development tools 43 2.5 Example and exercises 47…… 3.1 Data processing instructions 50 3.2 Data transfer instructions 55 3.3 Control flow instructions 63 3.4 Writing simple assembly language programs 69 3.5 Examples and exercises 72…… 4.1 3-stage pipeline ARM organization 75 4.2 5-stage pipeline ARM organization 78 4.3 ARM instruction execution 82 4.4 ARM implementation 86 4.5 The ARM coprocessor interface 101 4.6 Examples and exercises 103…… 5.1 Introduction 106 5.2 Exceptions 108 5.3 Conditional execution 111 5.4 Branch and Branch with Link (B, BL) 113 5.5 Branch, Branch with Link and eXchange (BX, BLX) 115 5.6 Software Interrupt (SWI) 117 5.7 Data processing instructions 119 5.8 Multiply instructions 122 5.9 Count leading zeros (CLZ - architecture v5T only) 124 5.10 Single word and unsigned byte data transfer instructions 125 5.11 Half-word and signed byte data transfer instructions 128 5.12 Multiple register transfer instructions 130 5.13 Swap memory and register instructions (SWP) 132 5.14 Status register to general register transfer instructions 133 5.15 General register to status register transfer instructions 134 5.16 Coprocessor instructions 136 5.17 Coprocessor data operations 137 5.18 Coprocessor data transfers 138 5.19 Coprocessor register transfers 139 5.20 Breakpoint instruction (BRK - architecture v5T only) 141 5.21 Unused instruction space 142 5.22 Memory faults 143 5.23 ARM architecture variants 147 5.24 Example and exercises 149…… 6.1 Abstraction in software design 152 6.2 Data types 153 6.3 Floating-point data types 158 6.4 The ARM floating-point architecture 163 6.5 Expressions 168 6.6 Conditional statements 170 6.7 Loops 173 6.8 Functions and procedures 175 6.9 Use of memory 180 6.10 Run-time environment 185 6.11 Examples and exercises 186…… 7.1 The Thumb bit in the CPSR 189 7.2 The Thumb programmer's model 190 7.3 Thumb branch instructions 191 7.4 Thumb software interrupt instruction 194 7.5 Thumb data processing instructions 195 7.6 Thumb single register data transfer instructions 198 7.7 Thumb multiple register data transfer instructions 199 7.8 Thumb breakpoint instruction 200 7.9 Thumb implementation 201 7.10 Thumb applications 203 7.11 Example and exercises 204…… 8.1 The ARM memory interface 208 8.2 The Advanced Microcontroller Bus Architecture (AMBA) 216 8.3 The ARM reference peripheral specification 220 8.4 Hardware system prototyping tools 223 8.5 The ARMulator 225 8.6 The JTAG boundary scan test architecture 226 8.7 The ARM debug architecture 232 8.8 Embedded Trace 237 8.9 Signal processing support 239 8.10 Example and exercises 245…… 9.1 ARM7TDMI 248 9.2 ARM8 256 9.3 ARM9TDMI 260 9.4 ARM10TDMI 263 9.5 Discussion 266 9.6 Example and exercises 267…… 10.1 Memory size and speed 10.2 On-chip memory 10.3 Caches 10.4 Cache design - an example 10.5 Memory management 10.6 Examples and exercises…… Architectural Support for Operating Systems 270 271 272 279 283 289 290 11.1 An introduction to operating systems 11.2 The ARM system control coprocessor 11.3 CP15 protection unit registers 11.4 ARM protection unit 11.5 CP15 MMU registers 11.6 ARM MMU architecture 11.7 Synchronization 11.8 Context switching 11.9 Input/Output 11.10 Example and exercises…… ARM CPU Cores 291 293 294 297 298 302 309 310 312 316 317 12.1 The ARM710T, ARM720T and ARM740T 12.2 The ARM810 12.3 The StrongARM SA-110 12.4 The ARM920T and ARM940T 12.5 The ARM946E-S and ARM966E-S 12.6 The ARM1020E 12.7 Discussion 12.8 Example and exercises Embedded ARM Applications…… 318 323 327 335 339 341 344 346 347 13.1 The VLSI Ruby II Advanced Communication Processor 13.2 The VLSI ISDN Subscriber Processor 13.3 The OneC™ VWS22100 GSM chip 13.4 The Ericsson-VLSI Bluetooth Baseband Controller 13.5 The ARM7500 and ARM7500FE

2009-10-14

C语言教程

第一章: C 语言概论<br>C语言的发展过程<br>C语言是在70 年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由<br>B.W.Kernighan 和D.M.Ritchit 合著了著名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为《K&R》,也有人称<br>之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C 语言,后来由美国国家标准学会在此基础上制定<br>了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。<br>当代最优秀的程序设计语言<br>早期的C 语言主要是用于UNIX 系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C<br>开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。成为当代最优秀的程序设计语<br>言之一。<br>C语言的特点<br>C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处<br>理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地<br>址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。<br>既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地<br>移植到了各类各型计算机上,从而形成了多种版本的C语言。<br>C语言版本<br>目前最流行的C语言有以下几种:<br>·Microsoft C 或称 MS C<br>·Borland Turbo C 或称 Turbo C<br>·AT&T C<br>这些C语言版本不仅实现了ANSI C 标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。<br>面向对象的程序设计语言<br>在C 的基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup 推出了C++。 C++进一步扩充和完善了C语言,<br>成为一种面向 对象的程序设计语言。C++目前流行的最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft<br>VisualC++ 2.0。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序<br>空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握<br>起来有一定难度。<br>C和C++<br>但是,C 是C++的基础,C++语言和C语言在很多方面是兼容的。因此,掌握了C语言,再进一步学习C++就能以<br>一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的。

2007-08-10

AMBA规范 繁体

1. 前言<br>本篇文章主要是介紹ARM Limited.公司所推出的AMBA 協定(Advanced Micro-controller<br>Bus Architecture)。AMBA 協定目前是open 且free 的,讀者可從ARM 的網站(www.arm.com)<br>㆘載完整的Specification。<br>這篇文章並沒有打算說明完整的AMBA 協定內容,詳細的Spec.還是請讀者閱讀ARM 所<br>提供的文件。原本的AMBA 協定包含了㆕大部分: AHB, ASB, APB, Test Methodology,限於<br>篇幅的關係,我們挑選較重要的AHB, APB 加以基本的介紹,並探討AHB 的㆒些重要的特<br>性。<br>2. AMBA 概述<br>AMBA協定的目㆞是為了要推出on-chip bus 的規範,㆒開始AMBA 1.0 只有ASB 與APB,<br>為了節省面積,所以這時候的bus 協定都是tristate 的bus,而到後來2.0 的AHB 為了能更方<br>便設計者(trisate bus 要花更多精力去注意timing),因此改用bus 改用multiplexor 的架構,並<br>增加了新的特性。<br>㆒個以AMBA 架構的SOC,㆒般來說包含了 high-performance 的system bus - AHB 與<br>low-power 的peripheral bus - APB。 System bus 是負責連接例如ARM 之類的embedded<br>processor 與DMA controller,on-chip memory 和其他 interface,或其他需要high bandwidth<br>的元件。而peripheral bus 則是用來連接系統的周邊元件,其protocol 相對AHB來講較為簡單,<br>與AHB 之間則透過Bridge 相連,期望能減少system bus 的loading。㆒個典型的AMBA 架構<br>如圖2.1:

2007-08-10

Heilx AAC Decoder optimized for ARM

Fixed-point HE-AAC decoder Developed by RealNetworks, 2005===============================Overview--------This module contains a high-performance HE-AAC decoder for 32-bit fixed-point processors. The following is a summary of what is and is not supported:Supported: - MPEG2, MPEG4 low complexity decoding (intensity stereo, M-S, TNS, PNS) - spectral band replication (SBR), high-quality mode - mono, stereo, and multichannel modes - ADTS, ADIF, and raw data block file formatsNot currently supported: - main or SSR profile, LTP - coupling channel elements (CCE) - 960/1920-sample frame size - low-power mode SBR - downsampled (single-rate) SBR - parametric stereoHighlights - highly optimized for ARM processors (details in docs/ subdirectory) - reference x86 implementation - C and assembly code only (C++ not required for codec library) - reentrant, statically linkable - low memory (details in docs/ subdirectory) - option to use Intel Integrated Performance Primitives (details below)Supported platforms and toolchainsThis codec should run on any 32-bit fixed-point processor which can perform a full 32x32-bit multiply (providing a 64-bit result). The following processors and toolchains are supported: - x86, Microsoft Visual C++ - x86, GNU toolchain (gcc) - ARM, ARM Developer Suite (ADS) - ARM, Microsoft Embedded Visual C++ - ARM, GNU toolchain (gcc)ARM refers to any processor supporting ARM architecture v.4 or above. Thumb is not required.Generally ADS produces the fastest code. EVC 3 does not support inline assembly code for ARM targets, so calls to MULSHIFT32 (smull on ARM) are left as function calls. This incurs a significant performance penalty. For the fastest code on targets which do not normally use ADS consider compiling with ADS, using the -S option to output assembly code, and feeding this assembly code to the assem

2007-08-09

FPGA设计流程指南

(12页)本部门所承担的FPGA设计任务主要是两方面的作用:系统的原型实现和ASIC的原型验证。编写本流程的目的是:在于规范整个设计流程,实现开发的合理性、一致性、高效性。形成风格良好和完整的文档。实现在FPGA不同厂家之间以及从FPGA到ASIC的顺利移植。便于新员工快速掌握本部门FPGA的设计流程。由于目前所用到的FPGA器件以Altera的为主,所以下面的例子也以Altera为例,工具组合为 modelsim + LeonardoSpectrum/FPGACompilerII + Quartus,但原则和方法对于其他厂家和工具也是基本适用的。目 录1. 基于HDL的FPGA设计流程概述 11.1 设计流程图 11.2 关键步骤的实现 21.2.1 功能仿真 21.2.2 逻辑综合 21.2.3 前仿真 31.2.4 布局布线 31.2.5 后仿真(时序仿真) 42. Verilog HDL设计 42.1 编程风格(Coding Style)要求 42.1.1 文件 42.1.2 大小写 52.1.3 标识符 52.1.4 参数化设计 52.1.5 空行和空格 52.1.6 对齐和缩进 52.1.7 注释 52.1.8 参考C语言的资料 52.1.9 可视化设计方法 62.2 可综合设计 62.3 设计目录 63. 逻辑仿真 63.1 测试程序(test bench) 73.2 使用预编译库 74. 逻辑综合 84.1 逻辑综合的一些原则 84.1.1 关于LeonardoSpectrum 84.1.1 大规模设计的综合 84.1.3 必须重视工具产生的警告信息 84.2 调用模块的黑盒子(Black box)方法 8参考 10修订纪录 10

2007-08-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除