fig:hierarchy1 fig:device-to-chip tab:program-and-data tab:spec-cpu fig:power fig:ic-develop fig:china-design tab:flops-and-bandwidth fig:hierarchy fig:inst-coding fig:segment fig:page fig:seg-page fig:csr tab:regnum tab:isatype tab:int-type tab:addressing tab:vax-addressing fig:loongarch-coding fig:isa-compare tab:addr-compare tab:mem-inst tab:alu-inst tab:control-inst fig:lwl tab:ppc-vs-alpha tab:c-vs-as tab:c-control tab:if-else tab:switch-case tab:switch-case-chain tab:loop fig:crmd tab:la-csr tab:exception fig:ex-csr fig:tlb-convert fig:tlb-entry fig:tlb-reg fig:page-table tab:lddir-ldpte tab:mips-reg tab:la-reg fig:fun-c fig:func-la-S fig:func-mips-S fig:varg-c tab:varg-passing fig:address-space fig:as-example fig:stack-frame fig:simple-c fig:simple-as fig:simple-nofp-as fig:normal-c fig:normal-as fig:dynamic-c fig:dynamic-as fig:keyboard-interrupt tab:syscall fig:syscall-write tab:context-switch fig:von-architecture tab:alu fig:storage-hierarchy fig:dram-cell fig:sdram-structure fig:disk-structure fig:structure-4part fig:structure-3part fig:structure-3part-weaknb fig:structure-2part fig:soc tab:pio-vs-dma fig:loongson-3A3000 fig:3A3000-display fig:jz-m200 tab:axi fig:read-structure fig:write-structure fig:axi-interface fig:burst-read fig:overlapped-read fig:write-transaction fig:ahb-apb fig:axi-interconnect fig:ddr3 fig:ddr2 fig:ddr2-state tab:ddr3-udimm fig:ddr3-read fig:ddr3-write fig:sdram-timing fig:command-before fig:command-after fig:ht-two-chips fig:loongson-4way fig:pci-interconnect tab:ht-signals fig:ht-interconnect fig:pci-signals tab:ht-packet-format fig:ht-transfer tab:ht-request tab:ht-response fig:pcie-location fig:pcie-interconnect tab:pcie-signals fig:pcie-packet fig:boot-flow tab:serial-status tab:reg-multiplex fig:l1-dcache fig:bus-access-type fig:config-reg fig:bar-reg tab:space-requirement tab:space-allocation fig:IEEE754float tab:tabIEEE754float fig:silicium fig:MOS-struc fig:NMOS-work fig:MOS-switch fig:logicgate tab:3-8decoder tab:8-1selector fig:clocksignal fig:RSlatch fig:Dlatch fig:Dlatchtime fig:NOTgate fig:NANDgate fig:NORgate fig:TRANSgate fig:DFlipFlop fig:inverter tab:fulladder-truetable fig:FULLadder fig:32bitRCA fig:4bitCLA fig:32bitCLA fig:4bitCLAwithc fig:16bitCLA fig:SUBer fig:comparer fig:shifter fig:iter-sourcecode-MUL fig:complement-MUL fig:iter-complement-MUL tab:booth-one-mul-rule fig:Booth-1-mul tab:booth-two-mul-rule fig:Booth-2-mul fig:Booth-select-logic fig:Booth-selectsignal fig:Booth-partial-product fig:Booth-SHIFT fig:1bit-full-adder fig:4full-adder fig:full-adder-for4number fig:1bit-wallace-tree-for8 fig:wrong-wallace-tree fig:16bitmulti-unit fig:chapter9-simpleCPUdatapath fig:chapter9-decode fig:chapter9-datapathWithClk fig:chapter9-multicycle fig:chapter9-multicycleflow fig:chapter9-pipelinestruct fig:chapter9-pipelineflow fig:chapter9-componentflow fig:chapter9-raw fig:chapter9-stallflow fig:chapter9-componentflowWithStall fig:chapter9-forwarding fig:chapter9-instHazardPipeline fig:chapter9-ctrlHazard fig:chapter9-ctrlHazardFlow fig:chapter9-ctrlHazardFlow1 fig:chapter9-ctrlHazardStruct fig:chapter9-dualIssue fig:chapter9-dynamic fig:chapter9-brachRelation fig:chapter9-BTB fig:chapter9-PHT fig:chapter9-cache fig:chapter9-cacheMap fig:chapter9-cacheMapStruct fig:chapter9-LS3A3000 fig:programming fig:get-pi fig:get-martix-multi fig:SISD-SIMD fig:thread fig:Compiler-guidance-language fig:shared-task fig:cache-structure tab:cache-parameter fig:shared-llc tab:shared-memory-program fig:esi-transit fig:dir-invld fig:nuca-interconnect fig:interconnect-type fig:noc-example fig:topo fig:router-struct fig:flow-control-method fig:different-results fig:ll-sc-atomic fig:test-and-set fig:centralized-barrier fig:la464-uarch fig:ls3a5000-arch fig:ls3a5000-layout fig:sandybridge-arch fig:cell-arch fig:sm-single fig:sm-whole fig:cuda-core fig:fermi-mem-hierarchy fig:tile64-arch tab:AMDTest tab:performance-formula fig:Test-procedure tab:LMbench tab:STREAM tab:UnixBench tab:SPEC2000 tab:SPEC2006 tab:SPEC2017 tab:PARSEC tab:perf-eval-class tab:perf-event-nehalem tab:perf-event-3A5000 tab:perf-tools fig:perf tab:cpu-params tab:2006speed tab:2006rate4 tab:2006speed-nopara tab:2006insts tab:2006ipc tab:2006brpred tab:2006brbandwidth tab:2006brpercent fig:stride-delay fig:random-delay tab:memory-latency fig:memory-parallel tab:alu-delay tab:stream-bandwidth 引言 计算机体系结构的研究内容 一以贯之 什么是计算机 计算机的基本组成 衡量计算机的指标 计算机的性能 计算机的价格 计算机的功耗 计算机体系结构的发展 摩尔定律和工艺的发展 计算机应用和体系结构 计算机体系结构发展 体系结构设计的基本原则 平衡性 局部性 并行性 虚拟化 本章小结 习题 sec-ISA 指令系统简介 指令系统设计原则 指令系统发展历程 指令内容的演变 存储管理的演变 运行级别的演变 指令系统组成 地址空间 操作数 数据类型 访存地址 寻址方式 指令操作和编码 risc指令集比较 指令格式比较 公共指令功能 不同指令系统的特色 c语言的机器表示 过程调用 流程控制语句 循环语句 本章小结-1 习题-1 sec-privileged-ISA 特权指令系统简介 sec-exception 异常分类 异常处理 异常处理流程 异常嵌套 中断 中断传递机制 向量化中断 中断的优先级 中断使能控制位的原子修改 sec-memory-management 存储管理的原理 tlb的结构和使用 地址空间和地址翻译模式 tlb结构 tlb虚实地址翻译过程 tlb相关控制状态寄存器 tlb访问和控制指令 sec-tlb-ex 多级页表结构 tlb重填异常处理 其它tlb地址翻译相关异常处理 本章小结-2 习题-2 软硬件协同 应用程序二进制接口 寄存器约定 函数调用约定 进程虚拟地址空间 栈帧布局 六种常见的上下文切换场景 函数调用 异常和中断 系统调用 进程 线程 虚拟机 六种上下文切换场景的对比 同步机制 基于互斥的同步机制 非阻塞的同步机制 本章小结-3 习题-3 计算机组成原理和结构 冯诺依曼结构 计算机的组成部件 运算器 控制器 存储器 输入输出设备 计算机系统硬件结构发展 cpu-gpu-北桥-南桥四片结构 cpu-北桥-南桥三片结构 cpu-弱北桥-南桥三片结构 cpu-南桥两片结构 处理器和io设备间的通信 io寄存器寻址 处理器和io设备之间的同步 存储器和io设备之间的数据传送 龙芯3a30007a1000桥片系统中的cpugpudc通信 本章小结-4 习题-4 计算机总线接口技术 总线概述 总线分类 片上总线 内存总线 系统总线 hypertransport总线 ht包格式 设备总线 pcie总线 pcie包格式 本章小结-5 习题-5 计算机启动过程分析 处理器核初始化 sec-cpu-reset 调试接口初始化 tlb初始化 cache初始化 总线接口初始化 内存初始化 io总线初始化 设备的探测及驱动加载 多核启动过程 初始化时的多核协同 操作系统启动时的多核唤醒 核间同步与通信 本章小结-6 习题-6 运算器设计 二进制与逻辑电路 sec-number-presentation sec-MOS-principle cmos逻辑电路 简单运算器设计 定点补码加法器 减法运算实现 比较运算实现 移位器 定点补码乘法器 补码乘法器 booth乘法器 华莱士树 本章小结-7 习题-7 指令流水线 单周期处理器 sec-pipeline-cpu sec-hazard 数据相关引发的冲突及解决办法 流水线前递技术 sec-control-hazard 结构相关引发冲突及解决办法 sec-precise-exception 提高流水线效率的技术 多发射数据通路 sec-dynamic sec-branch-predict 高速缓存 本章小结-8 习题-8 并行编程基础 程序的并行行为 指令级并行性 数据级并行性 任务级并行性 并行编程模型 单任务数据并行模型 多任务共享存储编程模型 多任务消息传递编程模型 共享存储与消息传递编程模型的编程复杂度 典型并行编程环境 数据并行simd编程 posix编程标准 openmp标准 消息传递编程接口 习题-9 多核处理结构 多核处理器的发展演化 多核处理器的访存结构 通用多核处理器的片上cache结构 存储一致性模型 cache一致性协议 多核处理器的互连结构 典型多核处理器 龙芯3a5000处理器 intel-sandybridge架构 ibm-cell处理器 nvidia-gpu tile64处理器 本章小结-9 习题-10 计算机系统性能评价与性能分析 计算机系统性能评价指标 计算机系统常用性能评价指标 并行系统的性能评价指标 测试程序集 微基准测试程序 spec-cpu基准测试程序 并行系统基准测试程序 其他常见的基准测试程序集 性能分析方法 分析建模的方法 模拟建模的方法和模拟器 性能测量的方法 性能测试和分析实例 spec-cpu基准测试程序的分值对比 微结构相关统计数据 基础性能参数 本章小结-10 习题-11