计算机体系结构4_分级缓存

一,处理器和内存系统结构

                                       

               主存在内存体系结构距离CPU最远端,缓存在内存体系结构距离CPU最近端。

               EU直接读取L1指令缓存,通过LSU读/写L1数据缓存,在LSU与L1数据缓存之间是write buffer,用于回写。 

               write buffer与write-combining buffers连接,后者通过系统总线与主存连接。

二,分级缓存

           

              L1缓存分为数据、指令两种类型,保存最近被使用的数据或指令。

              L2缓存一般不区分类型,包含指令和数据。L2缓存可以为exclusive模式,意味着它不缓存L1缓存的内容,或者为inclusive模式,保存L1缓存内容的一份拷贝。

三,内存操作

                  

                   内存读写都会先检查缓存中是否有需要的信息,当读的内容在缓存中时,为读命中,否则为读miss;当可以向缓存中写数据时,称作写命中,当数据不

                   能保存到缓存时为写miss。

                 

                   加载数据到缓存的操作叫做cache line填充,填充操作的单位为cache line。为新加载的cache line腾出空间,一次填充操作一般会引起移除一个已经存在

                   的cache line,移除已有cache line的操作叫做cache line replacement。如果被移除的cache line为modified状态,则先将其writeback回主存,然后在执行

                   cache-line-fill。

                  

                   通过cache line写回保证主存和缓存之间的一致性。处理器在处理内存请求时,会检查其他缓存和write buffer对请求信息的version,保证各缓存,write buffer

                   的一致性。

                   

                   当主存或缓存忙于处理其他内存访问时,write buffer用于暂存数据。

参考:

          AMD64 Architecture Programmer’s Manual Volume 2: System Programming

              

时间: 2024-08-02 18:46:05

计算机体系结构4_分级缓存的相关文章

【更正】ISCA2016:计算机体系结构顶会CNN走红,神经网络论文夺桂冠

ISCA(The International Symposium on Computer Architecture)是计算机体系结构领域的顶级会议.自1973年创办以来,迄今已经举办了 43 届(1974 年空缺). 今年的 ISCA 于 6 月 18 日至 22 日在韩国首尔召开,这次会议有近 800 名来自世界各地的工业界和学术界的专家学者参加,在参会人数上创下历史新高.本届会议共收到了 291 篇投稿论文,最终录用了 57 篇,接收率为19.6%. ISCA的"C"成了CNN的&

《新编计算机科学概论》一第2章 计算机体系结构

第2章 计算机体系结构 本章重点讨论计算机体系结构.从体系结构上看,计算机系统包括硬件和软件两大部分.硬件是计算机系统的物质基础,软件是系统运行的灵魂,两者相辅相成,缺一不可.本章先从系统结构的角度介绍了计算机系统的层次结构,在讨论层次结构时引入了虚拟机的概念,虚拟机的引入有助于我们正确理解各种计算机语言的实质和实现途径,从而更好地进行计算机语言的研究和应用.本章还从体系结构的角度分析了系统硬件的结构,并重点讨论了处理器体系结构.最后在分析硬件结构的基础上,介绍了计算机软件系统的结构. 硬件部分

《新编计算机科学概论》一2.2  计算机体系结构概述

2.2 计算机体系结构概述 体系结构的概念是从软件设计者的角度对计算机硬件系统的观察和分析.结构是指各部分之间的关系.通过分析系统的组成和结构,可以指导更好地进行软件设计. 2.2.1 计算机体系结构的基本概念 计算机体系结构 计算机体系结构(computer architecture)通常是指程序设计人员所见到的计算机系统的属性,是硬件子系统的结构概念及其功能特性.经典的"计算机体系结构"定义是1964年C. M. Amdahl在介绍IBM 360系统时提出的. 按照计算机系统的多级

《C语言编程魔法书:基于C11标准》——第2章 学习C语言的预备知识 2.1 计算机体系结构简介

第2章 学习C语言的预备知识 我们在第1章已经大致介绍了C语言的概念以及编译.连接流程.我们知道C语言是高级语言中比较偏硬件底层的编程语言,因此对于用C语言的编程人员而言,了解一些关于处理器架构方面的知识是很有必要的,对于嵌入式系统开发的程序员而言更是如此了. 另外,C语言中有很多按位计算以及逻辑计算,所以对于初学者来说,如果对整数编码方式等计算机基础知识不熟悉,那么对这些操作的理解也会变得十分困难.因此,本章将主要给C语言初学者.同时也是计算机编程初学者,提供计算机编程中会涉及的基本知识,这样

《高性能科学与工程计算》——第1章 当代处理器1.1 存储程序的计算机体系结构

第1章 当代处理器 在1975-1995年的"旧时代"的科学计算时期,先进的高性能系统是专门为HPC市场设计的,主要的厂商有Cray.CDC.NEC.Fujitsu和Thinking Machines等.在性能和价格方面,这些系统远远超越了标准的"商品"电脑.20世纪70年代初发明的单芯片通用微处理器,是20世纪80年代末唯一足够成熟.可以打入HPC市场的技术.直到20世纪90年代末,标准的工作站集群甚至基于PC的硬件至少在理论峰值性能上才具备相应的竞争力.如今,情

计算机体系结构6_缓存结构

一,缓存结构         下图为一个n-way set-associative cache 结构图:                                                               缓存组织为cache line数组的形式,每一个cache line由三部分组成,内存数据,tag,其他信息.                     多个cache line一行,组成一个set,一列cache line为way,在n-way set-associat

计算机体系结构5_缓存一致性协议

一,AMD64缓存一致性协议         通过缓存一致性协议保证各个缓存之间,缓存与主存之间,多处理器之间的数据一致性.AMD64的缓存一致性协议为MOESI(modified, owned,  exclusive,shared,invalid)协议.                                  当cache line没有保存有效的数据时,被称作invalid,有效的数据可以来自主存或者其他处理器的缓存.                  .              

计算机体系结构7_缓存控制机制

一,缓存控制机制            AMD64提供一系列机制用于设置内存的缓存特性:                                            Cache disable                       CR0的bit 30为cache-disable bit,CR0.CD. CR0.CD=0,开启缓存功能:CR0.CD=1,关闭缓存功能.                       当缓存功能被关闭时,读写均通过主存完成.              

linux系统编程基础(一) 计算机体系结构一点基础知识

无论是在CPU外部接总线的设备还是在CPU内部接总线的设备都有各自的地址范围,都可以像访问内存一样访问,很多体系结构(比如ARM)采用这种方式操作设备,称为内存映射I/O(Memory-mappedI/O).但是x86比较特殊,x86对于设备有独立的端口地址空间,CPU核需要引出额外的地址线来连接片内设备(和访问内存所用的地址线不同),访问设备寄存器时用特殊的in/out指令(汇编),而不是和访问内存用同样的指令,这种方式称为端口I/O(PortI/O). 在x86平台上,硬盘是挂在IDE.SA