mirror of
https://github.com/foxsen/archbase.git
synced 2026-02-07 04:13:24 +08:00
474 lines
8.7 KiB
Plaintext
474 lines
8.7 KiB
Plaintext
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
|