博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
arm64体系架构
阅读量:4153 次
发布时间:2019-05-25

本文共 15980 字,大约阅读时间需要 53 分钟。

ARM64架构主要内容:
ContentsARM Architecture Reference Manual ARMv8, forARMv8-A architecture profilePart A ARMv8 Architecture Introduction and OverviewChapter A1 Introduction to the ARMv8 Architecture    A1.1 About the ARM architecture     A1.2 Architecture profiles    A1.3 ARMv8 architectural concepts    A1.4 Supported data types    A1.5 Floating-point and Advanced SIMD support    A1.6 Cryptographic Extension    A1.7 The ARM memory modelPart B The AArch64 Application Level ArchitectureChapter B1 The AArch64 Application Level Programmers’ Model    B1.1 About the Application level programmers’ model    B1.2 Registers in AArch64 Execution state    B1.3 Software control features and EL0Chapter B2 The AArch64 Application Level Memory Model    B2.1 Address space    B2.2 Memory type overview    B2.3 Caches and memory hierarchy    B2.4 Alignment support    B2.5 Endian support    B2.6 Atomicity in the ARM architecture    B2.7 Memory ordering    B2.8 Memory types and attributes    B2.9 Mismatched memory attributes    B2.10 Synchronization and semaphoresPart C The AArch64 Instruction SetChapter C1 The A64 Instruction Set    C1.1 Introduction    C1.2 Structure of the A64 assembler language    C1.3 Address generation    C1.4 Instruction aliasesChapter C2 About the A64 Instruction Descriptions    C2.1 Understanding the A64 instruction descriptions    C2.2 Conventions used in AArch64 instruction and System register descriptionsChapter C3 A64 Instruction Set Overview    C3.1 Branches, Exception generating, and System instructions    C3.2 Loads and stores    C3.3 Data processing - immediate    C3.4 Data processing - register    C3.5 Data processing - SIMD and floating-pointChapter C4 A64 Instruction Set Encoding    C4.1 A64 instruction index by encoding    C4.2 Data processing - immediate    C4.3 Branches, exception generating and system instructions    C4.4 Loads and stores    C4.5 Data processing - register    C4.6 Data processing - SIMD and floating pointChapter C5 The A64 System Instruction Class    C5.1 The System instruction class encoding space    C5.2 Special-purpose registers    C5.3 A64 system instructions for cache maintenance    C5.4 A64 system instructions for address translation    C5.5 A64 system instructions for TLB maintenanceChapter C6 A64 Base Instruction Descriptions    C6.1 Introduction    C6.2 Register size    C6.3 Use of the PC    C6.4 Use of the stack pointer    C6.5 Condition flags and related instructions    C6.6 Alphabetical list of instructionsChapter C7 A64 Advanced SIMD and Floating-point Instruction Descriptions    C7.1 Introduction    C7.2 About the SIMD and floating-point instructions    C7.3 Alphabetical list of floating-point and Advanced SIMD instructionsPart D The AArch64 System Level ArchitectureChapter D1 The AArch64 System Level Programmers’ Model    D1.1 Exception levels    D1.2 Exception terminology    D1.3 Execution state    D1.4 Security state    D1.5 Virtualization    D1.6 Registers for instruction processing and exception handling    D1.7 Process state, PSTATE    D1.8 Program counter and stack pointer alignment    D1.9 Reset    D1.10 Exception entry    D1.11 Exception return    D1.12 The Exception level hierarchy    D1.13 Synchronous exception types, routing and priorities    D1.14 Asynchronous exception types, routing, masking and priorities    D1.15 Configurable instruction enables and disables, and trap controls    D1.16 System calls    D1.17 Mechanisms for entering a low-power state    D1.18 Self-hosted debug    D1.19 The Performance Monitors Extension    D1.20 Interprocessing    D1.21 The effect of implementation choices on the programmers’ modelChapter D2 AArch64 Self-hosted Debug    D2.1 About debug exceptions    D2.2 The debug exception enable controls    D2.3 Routing debug exceptions    D2.4 Enabling debug exceptions from the current Exception level and Security state    D2.5 The effect of powerdown on debug exceptions    D2.6 Summary of the routing and enabling of debug exceptions    D2.7 Pseudocode description of debug exceptions    D2.8 Software Breakpoint Instruction exceptions    D2.9 Breakpoint exceptions    D2.10 Watchpoint exceptions    D2.11 Vector Catch exceptions    D2.12 Software Step exceptions    D2.13 Synchronization and debug exceptionsChapter D3 The AArch64 System Level Memory Model    D3.1 About the memory system architecture    D3.2 Address space    D3.3 Mixed-endian support    D3.4 Cache support    D3.5 External aborts    D3.6 Memory barrier instructions    D3.7 Pseudocode description of general memory system instructionsChapter D4 The AArch64 Virtual Memory System Architecture    D4.1 About the Virtual Memory System Architecture (VMSA)    D4.2 The VMSAv8-64 address translation system    D4.3 VMSAv8-64 translation table format descriptors    D4.4 Access controls and memory region attributes    D4.5 MMU faults    D4.6 Translation Lookaside Buffers (TLBs)    D4.7 TLB maintenance requirements and the TLB maintenance instructions    D4.8 Caches in a VMSA implementationChapter D5 The Performance Monitors Extension    D5.1 About the Performance Monitors    D5.2 Accuracy of the Performance Monitors    D5.3 Behavior on overflow    D5.4 Attributability    D5.5 Effect of EL3 and EL2    D5.6 Event filtering    D5.7 Performance Monitors and Debug state    D5.8 Counter enables    D5.9 Counter access    D5.10 Events, Event numbers and mnemonics    D5.11 Performance Monitors Extension registersChapter D6 The Generic Timer in AArch64 state    D6.1 About the Generic Timer in AArch64 stateChapter D7 AArch64 System Register Descriptions    D7.1 About the AArch64 System registers    D7.2 General system control registers    D7.3 Debug registers    D7.4 Performance Monitors registers    D7.5 Generic Timer registersPart E The AArch32 Application Level ArchitectureChapter E1 The AArch32 Application Level Programmers’ Model    E1.1 About the Application level programmers’ model    E1.2 Additional information about the programmers’ model in AArch32 state    E1.3 Advanced SIMD and floating-point instructions    E1.4 Conceptual coprocessor support    E1.5 ExceptionsChapter E2 The AArch32 Application Level Memory Model    E2.1 Address space    E2.2 Memory type overview    E2.3 Caches and memory hierarchy    E2.4 Alignment support    E2.5 Endian support    E2.6 Atomicity in the ARM architecture    E2.7 Memory ordering    E2.8 Memory types and attributes    E2.9 Mismatched memory attributes    E2.10 Synchronization and semaphoresPart F The AArch32 Instruction SetsChapter F1 The AArch32 Instruction Sets Overview    F1.1 Support for instructions in different versions of the ARM architecture    F1.2 Unified Assembler Language    F1.3 Branch instructions    F1.4 Data-processing instructions    F1.5 PSTATE and banked register access instructions    F1.6 Load/store instructions    F1.7 Load/store multiple instructions    F1.8 Miscellaneous instructions    F1.9 Exception-generating and exception-handling instructions    F1.10 Coprocessor instructions    F1.11 Advanced SIMD and floating-point load/store instructions    F1.12 Advanced SIMD and floating-point register transfer instructions    F1.13 Advanced SIMD data-processing instructions    F1.14 Floating-point data-processing instructionsChapter F2 About the T32 and A32 Instruction Descriptions    F2.1 Format of instruction descriptions    F2.2 Standard assembler syntax fields    F2.3 Conditional execution    F2.4 Shifts applied to a register    F2.5 Memory accesses    F2.6 Encoding of lists of general-purpose registers and the PC    F2.7 About the T32 and A32 instruction encodings    F2.8 Additional pseudocode support for instruction descriptionsChapter F3 T32 Base Instruction Set Encoding    F3.1 Top level T32 instruction set encoding    F3.2 16-bit T32 instruction encoding    F3.3 32-bit T32 instruction encodingChapter F4 A32 Base Instruction Set Encoding    F4.1 Top level A32 instruction set encoding    F4.2 Data-processing and miscellaneous instructions    F4.3 Load/Store Word, Unsigned Byte (immediate, literal)    F4.4 Load/Store Word, Unsigned Byte (register)    F4.5 Media instructions    F4.6 Branch, branch with link, and block data transfer    F4.7 Coprocessor instructions, and Supervisor Call    F4.8 Unconditional instructionsChapter F5 T32 and A32 Instruction Sets Advanced SIMD and floating-point Encodings    F5.1 Overview    F5.2 Advanced SIMD and floating-point instruction syntax    F5.3 Register encoding    F5.4 Advanced SIMD data-processing instructions    F5.5 Floating-point data-processing instructions    F5.6 Advanced SIMD and floating-point register load/store instructions    F5.7 Advanced SIMD element or structure load/store instructions    F5.8 8, 16, and 32-bit transfers accessing the SIMD and floating-point register file    F5.9 64-bit transfers accessing the SIMD and floating-point register fileChapter F6 T32 and A32 Base Instruction Set Instruction Descriptions    F6.1 Alphabetical list of T32 and A32 base instruction set instructions    F6.2 Encoding and use of Banked register transfer instructionsChapter F7 T32 and A32 Advanced SIMD and floating-point Instruction Descriptions    F7.1 Alphabetical list of floating-point and Advanced SIMD instructionsPart G The AArch32 System Level ArchitectureChapter G1 The AArch32 System Level Programmers’ Model    G1.1 About the AArch32 System level programmers’ model    G1.2 Exception levels    G1.3 Exception terminology    G1.4 Execution state    G1.5 Instruction Set state    G1.6 Security state    G1.7 Virtualization    G1.8 AArch32 PE modes, and general-purpose and Special-purpose registers    G1.9 Process state, PSTATE    G1.10 Instruction set states    G1.11 Handling exceptions that are taken to an Exception level using AArch32    G1.12 Exception return to an Exception level using AArch32    G1.13 Asynchronous exception behavior for exceptions taken from AArch32 state    G1.14 AArch32 state exception descriptions    G1.15 Reset into AArch32 state    G1.16 Mechanisms for entering a low-power state    G1.17 The conceptual coprocessor interface and system control    G1.18 Advanced SIMD and floating-point support    G1.19 Configurable instruction enables and disables, and trap controlsChapter G2 AArch32 Self-hosted Debug    G2.1 About debug exceptions    G2.2 The debug exception enable controls    G2.3 Routing debug exceptions    G2.4 Enabling debug exceptions from the current Privilege level and Security state    G2.5 The effect of powerdown on debug exceptions    G2.6 Summary of permitted routing and enabling of debug exceptions    G2.7 Pseudocode description of debug exceptions    G2.8 Software Breakpoint Instruction exceptions    G2.9 Breakpoint exceptions    G2.10 Watchpoint exceptions    G2.11 Vector Catch exceptions    G2.12 Synchronization and debug exceptionsChapter G3 The AArch32 System Level Memory Model    G3.1 About the memory system architecture    G3.2 Address space    G3.3 Mixed-endian support    G3.4 AArch32 cache and branch predictor support    G3.5 System register support for IMPLEMENTATION DEFINED memory features G3-3975    G3.6 External aborts    G3.7 Memory barrier instructions    G3.8 Pseudocode description of general memory system instructionsChapter G4 The AArch32 Virtual Memory System Architecture    G4.1 Execution privilege, Exception levels, and AArch32 Privilege levels    G4.2 About VMSAv8-32    G4.3 The effects of disabling address translation stages on VMSAv8-32 behavior G4-4000    G4.4 Translation tables    G4.5 The VMSAv8-32 Short-descriptor translation table format    G4.6 The VMSAv8-32 Long-descriptor translation table format    G4.7 Memory access control    G4.8 Memory region attributes    G4.9 Translation Lookaside Buffers (TLBs)    G4.10 TLB maintenance requirements    G4.11 Caches in VMSAv8-32    G4.12 VMSAv8-32 memory aborts    G4.13 Exception reporting in a VMSAv8-32 implementation    G4.14 Address translation instructions    G4.15 About the System registers for VMSAv8-32    G4.16 Organization of the CP14 registers in VMSAv8-32    G4.17 Organization of the CP15 registers in VMSAv8-32    G4.18 Functional grouping of VMSAv8-32 System registers    G4.19 Pseudocode description of VMSAv8-32 memory system operationsChapter G5 The Generic Timer in AArch32 state    G5.1 About the Generic Timer in AArch32 stateChapter G6 AArch32 System Register Descriptions    G6.1 About the AArch32 System registers    G6.2 General system control registers    G6.3 Debug registers    G6.4 Performance Monitors registers    G6.5 Generic Timer registersPart H External DebugChapter H1 Introduction to External Debug    H1.1 Introduction to external debug    H1.2 External debugChapter H2 Debug State    H2.1 About Debug state    H2.2 Halting the PE on debug events    H2.3 Entering Debug state    H2.4 Behavior in Debug state    H2.5 Exiting Debug stateChapter H3 Halting Debug Events    H3.1 Introduction to Halting debug events    H3.2 Halting Step debug events    H3.3 Halt Instruction debug event    H3.4 Exception Catch debug event    H3.5 External Debug Request debug event    H3.6 OS Unlock Catch debug event    H3.7 Reset Catch debug events    H3.8 Software Access debug event    H3.9 Synchronization and Halting debug eventsChapter H4 The Debug Communication Channel and Instruction Transfer Register    H4.1 Introduction    H4.2 DCC and ITR registers    H4.3 DCC and ITR access modes    H4.4 Flow control of the DCC and ITR registers    H4.5 Synchronization of DCC and ITR accesses    H4.6 Interrupt-driven use of the DCC    H4.7 Pseudocode description of the operation of the DCC and ITR registersChapter H5 The Embedded Cross-Trigger Interface    H5.1 About the Embedded Cross-Trigger (ECT)    H5.2 Basic operation on the ECT    H5.3 Cross-triggers on a PE in an ARMv8 implementation    H5.4 Description and allocation of CTI triggers    H5.5 CTI registers programmers’ model    H5.6 ExamplesChapter H6 Debug Reset and Powerdown Support    H6.1 About Debug over powerdown    H6.2 Power domains and debug    H6.3 Core power domain power states    H6.4 Emulating low-power states    H6.5 Debug OS Save and Restore sequences    H6.6 Reset and debugChapter H7 The Sample-based Profiling Extension    H7.1 Sample-based profilingChapter H8 About the External Debug Registers    H8.1 Relationship between external debug and System registers    H8.2 Supported access sizes    H8.3 Synchronization of changes to the external debug registers    H8.4 Memory-mapped accesses to the external debug interface    H8.5 External debug interface register access permissions    H8.6 External debug interface registers    H8.7 Cross-trigger interface registers    H8.8 External debug register resetsChapter H9 External Debug Register Descriptions    H9.1 Introduction    H9.2 Debug registers    H9.3 Cross-Trigger Interface registersPart I Memory-mapped Components of the ARMv8 ArchitectureChapter I1 System Level Implementation of the Generic Timer    I1.1 About the Generic Timer specification    I1.2 Memory-mapped counter module    I1.3 Counter module control and status register summary    I1.4 Memory-mapped timer components    I1.5 The CNTBaseN and CNTEL0BaseN frames    I1.6 The CNTCTLBase frame    I1.7 Providing a complete set of counter and timer features    I1.8 Gray-count scheme for timer distribution schemeChapter I2 Recommended Memory-mapped Interfaces to the Performance Monitors    I2.1 About the memory-mapped views of the Performance Monitors registersChapter I3 Memory-Mapped System Control Register Descriptions    I3.1 About the memory-mapped system control register descriptions    I3.2 Performance Monitors memory-mapped registers summary    I3.3 Performance Monitors memory-mapped register descriptions    I3.4 Generic Timer memory-mapped registers overview    I3.5 Generic Timer memory-mapped register descriptionsPart J Architectural PseudocodeChapter J1 ARMv8 Pseudocode    J1.1 Pseudocode for AArch64 operations    J1.2 Pseudocode for AArch32 operation    J1.3 Shared pseudocode
 

转载地址:http://mgqti.baihongyu.com/

你可能感兴趣的文章
Freemarker 语法入门
查看>>
nginx 的mac的配置参数说明-非常详细!
查看>>
mac 下安装 nginx 及配置
查看>>
iTerm 2 && Oh My Zsh【DIY教程—亲身体验过程】完美替代教程汇总!
查看>>
Mac OS X下Maven的安装与配置
查看>>
使用esotericsoftware高速缓存(ASM)的BeanUtils.copyProperties!高性能!
查看>>
InnoDB中一棵B+树可以存放多少行数据?
查看>>
Java序列化和反序列化为什么要实现Serializable接口?
查看>>
为什么 Java 的 main 方法必须是 public static void?
查看>>
你的Redis为什么变慢了?常见延迟问题定位与分析
查看>>
面试命中率90%的点 —— MySQL锁
查看>>
数组的拷贝及效率
查看>>
Struts1和Struts2的区别和对比(完整版)
查看>>
intellij idea 13&14 插件推荐及快速上手建议 (已更新!)
查看>>
intellij idea 热部署 jrebel 详细配置
查看>>
idea jrebel 热部署快捷配置(简装版)
查看>>
mysql性能优化-慢查询分析、优化索引和配置
查看>>
为intellij idea添加YUI Compressor支持
查看>>
关于学习架构,必须会的几点技术
查看>>
spring 结合 Redis 例子,简单入门例子
查看>>