- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
lecnote_3
第三讲 基于CACHE的多核处理器、POSIX线程基础 程序性能 资源利用率 基于Cache的数据访问模型 相关概念 进程与线程 超线程与多核 并发与并行 程序的性能 给定一个算法和输入的数据,这个程序要运行多长时间? 串行执行的速度上限:M次浮点运算/CPU每秒执行的浮点运算次数 执行一次浮点计算的时间 读数据TR 计算TC 写结果TW 如何减少TR和TW 提高CACHE命中率:乱序执行 TC、TR、TW重叠:数据预取 要想办法提高CPU运算单元的利用率 线程:CPU运算单元执行的指令序列 总会发生CACHE读写失效的情况 同时执行多个线程 分别占用一部分CACHE 一个线程发生CACHE失效时,执行另一个线程 同时执行的线程 分别属于不同的程序 单个程序的运行时间也许会延长:CACHE的数据已经准备好了,但CPU运算单元被其他程序的线程占用 这些程序总的运行时间会减少:CPU运算单元空闲的时间少了 属于同一个程序,这个程序的运行时间会减少 进程 A program in some state of execution Code Data Logical address space Information about a process includes Process state Program counter Values of CPU registers Memory management information Modern operating systems load programs as processes. To the operating system, processes have two roles: Resource holder Execution (thread) unit 线程 “A unit of control within a process” — Carver and Tai Main thread executes program’s “main” function Main thread may create other threads to execute other functions Threads have own program counter, copy of CPU registers, and stack of activation records Threads share process’s data, code, address space, and other resources Threads have lower overhead than processes A thread: Is a single sequential flow of control within a program. Is a sequence of instructions that is executed. 进程与线程 Processes and Threads Modern operating systems load programs as processes Resource holder Execution A process starts executing at its entry point as a thread Threads can create other threads within the process Each thread gets its own stack All threads within a process share code data segments 超线程(Hyper-Threading) 并发执行的线程数量多大? 线程运行需要的时间 调度时间T-Schedule:被调度来执行 数据存取时间T-Data:数据取到CACHE、写回去 数据运算时间T-Compute:使用CPU运算单元的时间 矛盾:同时执行多个线程 一个线程发生CACHE失效时,去执行其它的线程 每个线程占用的CACHE小了,发生CACHE失效的几率提高了,由此也导致T-Schedule的增加 CACHE增大,可以提高命中率,由此导致CACHE所占晶体管比率的增大 执行单元所占晶体管比率降低 单位运算量的能耗上升(分摊CACHE消耗的能量) 多核架构:全部晶体管更协调地完成数据处理 前提是集成电路工艺发展了:有更多的晶体管可用 提高运算单元所占晶体管的比率:提高绝对峰值计算速度 减小单位运算的能耗:共享CACHE Intel? Core? Micro-architecture Load Store Access order 1. L1 cache of
您可能关注的文档
最近下载
- 电厂技术培训课件.pptx
- HD09系列精易型变频器用户手册_海浦蒙特_V1.6.pdf VIP
- 2025年AI技术在项目管理中的应用洞察报告.pdf VIP
- 苯-氯苯精馏系统的设计(含装配图).doc VIP
- 软件工程学科的知识体系-南京大学软件学院.pdf VIP
- 监理穿透式安全管理方案.docx VIP
- 新视野大学英语(第三版)视听说教程2完整.docx VIP
- 中山大学软件学院 2011 级软件工程专业(2012 学年春季学期)《SE-304 数据库系统原理》期末考试.docx VIP
- 喜福会(the-joy-luck-club)完整版.ppt VIP
- 《智能奶茶机》团体标准.pdf VIP
原创力文档


文档评论(0)