中国科学技术大学:《计算机科学导论》课程教学资源(PPT课件讲稿)第七讲 面向计算机体系结构的程序优化

课程内容 课程内容 围绕学科理论体系中的模型理论,程序理论和计算理论 1.模型理论关心的问题 给定模型M,哪些问题可以由模型M解决;如何 比较模型的表达能力 本讲座以矩阵乘算法为例, 2.程序理论关心的问题介绍围绕体系结构的优化 给定模型M,如何用模型M解决问题 包括程序设计范型、程序设计语言、 程序设计、 形式语义、类型论、程序验证、程序分析等 3.计算理论关心的问题 给定模型M和一类问题,解决该类问题需多少资源
课 程 内 容 • 课程内容 围绕学科理论体系中的模型理论, 程序理论和计算理论 1. 模型理论关心的问题 给定模型M,哪些问题可以由模型M解决;如何 比较模型的表达能力 2. 程序理论关心的问题 – 给定模型M,如何用模型M解决问题 – 包括程序设计范型、程序设计语言、程序设计、 形式语义、类型论、程序验证、程序分析等 3. 计算理论关心的问题 给定模型M和一类问题, 解决该类问题需多少资源 本讲座以矩阵乘算法为例, 介绍围绕体系结构的优化 2

讲座提纲 基本知识 -内存分层结构、 多处理器的体系结构 并行计算 一并行计算的常见方式、 循环级并行 程序中的局部性 -时间局部性、空间局部性、代码和数据局部性 矩阵乘算法及其优化 矩阵乘算法及分析、分块的矩阵乘算法及分析 围绕计算机体系结构而不是抽象模型来讨论
讲 座 提 纲 • 基本知识 – 内存分层结构、多处理器的体系结构 • 并行计算 – 并行计算的常见方式、循环级并行 • 程序中的局部性 – 时间局部性、空间局部性、代码和数据局部性 • 矩阵乘算法及其优化 – 矩阵乘算法及分析、分块的矩阵乘算法及分析 围绕计算机体系结构而不是抽象模型来讨论 3

基本知识 ·计算机内存 允许声明递归函数, 1.初学编程时的认识 存储分配有什么变化 -计算机的重要组成部分, 由若卡内存单元组成, 用于存放程序和数据,可以按地址存取 2.学习递归函数时的认识 例:快速排序 int a[11]; void quickSort(int m,int n){ void readArray()fint i;... int i; int partition(int m,int n){...} if(n>m) mainO{ i partition(m,n); readArray();a[0]-9999; quickSort(m,i-1); a[10]=9999;quickSort(1,9); quickSort(i+1,n);
基 本 知 识 • 计算机内存 1. 初学编程时的认识 – 计算机的重要组成部分,由若干内存单元组成, 用于存放程序和数据,可以按地址存取 2. 学习递归函数时的认识 例:快速排序 int a[11]; void quickSort(int m, int n) { void readArray(){int i; …} int i; int partition(int m, int n){…} if(n > m) { main(){ i = partition(m, n); readArray(); a[0] = -9999; quickSort(m, i-1); a[10] = 9999; quickSort(1, 9); quickSort(i+1, n); } } } 允许声明递归函数, 存储分配有什么变化 4

基本知识 ·计算机内存 需要分出一块来作为数据栈 函数调用关系树 main 栈 main 5
基 本 知 识 • 计算机内存 需要分出一块来作为数据栈 main 函数调用关系树 main 栈 5

基本知识 ·计算机内存 需要分出一块来作为数据栈 函数调用关系树 main 栈 int i FO main 6
基 本 知 识 • 计算机内存 需要分出一块来作为数据栈 main r 函数调用关系树 main int i r ( ) 栈 6

基本知识 ·计算机内存 需要分出一块来作为数据栈 函数调用关系树 main q(1,9) int i 栈 q1,9)j int m,n main 7
基 本 知 识 • 计算机内存 需要分出一块来作为数据栈 main r q(1,9) 函数调用关系树 main int i q (1, 9) int m, n 栈 7

基本知识 ·计算机内存 需要分出一块来作为数据栈 函数调用关系树 main int i 9(1,9) 91,3) int m,n p(1,9)q(1,3) int i 栈 int m,n main 8
基 本 知 识 • 计算机内存 需要分出一块来作为数据栈 main r q(1,9) p(1,9) q(1,3) main int i q (1, 9) int m, n int i q (1, 3) int m, n 栈 函数调用关系树 8

基本知识 。计算机内存 需要分出一块来作为数据栈 函数调用关系树 inti ,0 main int m,n int i 9(1,9) 91,3) int m,n p(1,9) q(1,3) int i 栈 q1,9)j p(1,3) q(1,0) int m,n main 9
基 本 知 识 • 计算机内存 需要分出一块来作为数据栈 main r q(1,9) p(1,9) q(1,3) p(1,3) q(1,0) main int i q (1, 9) int m, n int i q (1, 3) int m, n int i q (1, 0) int m, n 栈 函数调用关系树 9

基本知识 。计算机内存 1.初学编程时的认识 2.学习递归函数时的认识 代码 3.学习动态存储分配时的认识 静态数据 通过malloc等函数申请的空 间安排在堆上 堆 内存的这种划分是通过操作 系统和编译器实现的,不是在 硬件层面上的划分 栈 10
基 本 知 识 • 计算机内存 1. 初学编程时的认识 2. 学习递归函数时的认识 3. 学习动态存储分配时的认识 通过malloc等函数申请的空 间安排在堆上 内存的这种划分是通过操作 系统和编译器实现的,不是在 硬件层面上的划分 代 码 静 态 数 据 堆 栈 10

基本知识 ·计算机内存分层 内存方面的基本局限:构造非常快的存储器或者 非常大的存储器都是可能的,但是构造不出既快 又大的存储器 虚拟内存(磁盘) 内存分层是指整个内存由 几层不同速度和大小的存 物理内存 储器组成,并且最靠近处 理器的那一层最快最小 2级缓存 1级缓存 寄存器(处理器
基 本 知 识 • 计算机内存分层 – 内存方面的基本局限:构造非常快的存储器或者 非常大的存储器都是可能的,但是构造不出既快 又大的存储器 – 内存分层是指整个内存由 几层不同速度和大小的存 储器组成,并且最靠近处 理器的那一层最快最小 虚拟内存(磁盘) 物理内存 2级缓存 1级缓存 寄存器(处理器) 11
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国科学技术大学:《计算机科学导论》课程教学资源(PPT课件讲稿)第四讲 离散数学与计算机科学.pptx
- 中国科学技术大学:《计算机科学导论》课程教学资源(PPT课件讲稿)第五讲 经典计算的计算模型.pptx
- 中国科学技术大学:《计算机科学导论》课程教学资源(PPT课件讲稿)第三讲 编程语言的类型系统.pptx
- 中国科学技术大学:《计算机科学导论》课程教学资源(PPT课件讲稿)第二讲 对程序进行推理的逻辑.ppt
- 中国科学技术大学:《计算机科学导论》课程教学资源(PPT课件讲稿)第一讲 代数等式理论的自动定理证明.ppt
- 中国科学技术大学:《计算机科学导论》课程教学资源(PPT课件讲稿)课程简介(主讲:陈意云).ppt
- 《计算机学报》:形状图理论的定理证明 Automated theorem proving for theory of shape graphs.pdf
- 形状图逻辑和形状系统 Shape graph logic and shape system.pdf
- A Shape Graph Logic and A Shape System.pdf
- 一个程序验证器的设计和实现 An Automatic Program Verifier for PointerC.pdf
- 处理指针相等关系不确定的指针逻辑 Pointer logic dealing with uncertain equality of pointers.pdf
- 一种用于指针程序验证的指针逻辑 Pointer logic for verification of pointer programs.pdf
- 《软件学报》:用于指针逻辑的自动定理证明器 Automated theorem prover for pointer logic.pdf
- Certifying Concurrent Programs Using Transactional Memory.pdf
- 一种构造代码安全性证明的方法.pdf
- 安全语言PointerC的设计及形式证明 Design and proof of a safe programming language Pointer.pdf
- 《计算机学报》:一种用于指针程序安全性证明的指针逻辑.pdf
- 《计算机学报》:基于抽象解释的代码迷惑有效性比较框架.pdf
- A pointer logic and certifying compiler.pdf
- Garbage collector verification for proof-carrying code.pdf
- 中国科学技术大学:《计算机科学导论》课程教学资源(PPT课件讲稿)第八讲 多核体系结构与并行编程模型.ppt
- 中国科学技术大学:《计算机科学导论》课程教学资源(PPT课件讲稿)第六讲 计算复杂性和算法分析.ppt
- 中国科学技术大学:《计算机科学导论》课程教学资源(PPT课件讲稿)第九讲 新型计算模型和顺序交互的数学.ppt
- 中国科学技术大学:《计算机科学导论》课程教学资源(PPT课件讲稿)第十讲 大数据的处理和分析.pptx
- 中国科学技术大学:《编译原理与技术》课程教学资源(PPT课件讲稿)第1章 引论(主讲:张昱、陈意云).ppt
- 中国科学技术大学:《编译原理与技术》课程教学资源(PPT课件讲稿)第2章 词法分析.ppt
- 中国科学技术大学:《编译原理与技术》课程教学资源(PPT课件讲稿)第3章 语法分析.ppt
- 中国科学技术大学:《编译原理与技术》课程教学资源(PPT课件讲稿)第4章 语法制导的翻译.ppt
- 中国科学技术大学:《编译原理与技术》课程教学资源(PPT课件讲稿)第5章 类型检查.ppt
- 中国科学技术大学:《编译原理与技术》课程教学资源(PPT课件讲稿)第6章 运行时存储空间的组织和管理.ppt
- 中国科学技术大学:《编译原理与技术》课程教学资源(PPT课件讲稿)第10章 依赖于机器的优化.ppt
- 中国科学技术大学:《编译原理与技术》课程教学资源(PPT课件讲稿)第11章 编译系统和运行系统.ppt
- 中国科学技术大学:《编译原理与技术》课程教学资源(PPT课件讲稿)第12章 面向对象语言的编译.ppt
- 中国科学技术大学:《编译原理与技术》课程教学资源(PPT课件讲稿)第13章 函数式语言的编译.ppt
- 中国科学技术大学:《编译原理与技术》课程教学资源(PPT课件讲稿)第7章 中间代码生成.ppt
- 中国科学技术大学:《编译原理与技术》课程教学资源(PPT课件讲稿)第8章 代码生成.ppt
- 中国科学技术大学:《编译原理与技术》课程教学资源(PPT课件讲稿)第9章 独立于机器的优化.ppt
- 中国科学技术大学:《程序分析与程序验证》课程教学资源(PPT课件讲稿)第1章 引言(主讲:陈意云).ppt
- 中国科学技术大学:《程序分析与程序验证》课程教学资源(课件讲稿)第2章 数据流分析(Nielson等)Principles of Program Analysis - Data Flow Analysis.pdf
- 中国科学技术大学:《程序分析与程序验证》课程教学资源(PPT课件讲稿)第2章 数据流分析(补充).ppt