寄存器vs缓存vs硬盘
对于多核cpu来说(一个处理器cpu上有多个核),L1/L2是各个核独自的,L3是多个核共享的
如下配置:一个处理器cpu,六个核。处理器速度为2.2GHz即电流每秒钟可以振荡22亿次。二级缓存256KB,每个核都独自有一个二级缓存;三级缓存9M,是六个核共享的。使用了超线程技术,所以总共有十二个核,即十二个线程
硬件设计上与cpu的距离的远近
- 寄存器register是中央处理器cpu的一部分(内部),即cpu包含寄存器
- 一级缓存/二级缓存/三级缓存镶嵌在cpu上(外部),距离cpu较近
- 内存条和硬盘都是独立的,距离cpu较远
永久存储vs临时存储
数据是永久存储在硬盘里的,掉电也无所谓
缓存/寄存器都是临时存储,掉电即失
寄存器中的数据一定是cpu能直接进行操作的。
数据从硬盘加载到内存->然后依次加载到三级缓存->二级缓存->一级缓存->最后到达寄存器,cpu直接使用寄存器里的数据进行工作
今天的CPU将三级缓存全部集成(封装)到CPU芯片上。多核CPU通常为每个核配有独享的一级和二级缓存,以及各核之间共享的三级缓存
全速二级缓存频率亦CPU相同或半速二级缓存为CPU主频的一半
堆heap/堆栈stack是内存的一部分
寄存器
寄存器压栈,就是把cpu寄存器里的数据存到内存的栈空间里
寄存器是中央处理器内的组成部份。它跟CPU有关。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。
储存设备储存能力更强(即储存一个bit需要的电路面积更小), 但是读写速度就会更慢。cpu上的寄存器存读写速度很快(但是由于存储一个bit需要的电路面积大,所以寄存器register的容量都很小),存储能力很小
寄存器vs缓存vs硬盘的更多相关文章
- 程序与CPU,内核,寄存器,缓存,RAM,ROM、总线、Cache line缓存行的作用和他们之间的联系?
目录 缓存 什么是缓存 L1.L2.L3 为什么要设置那么多缓存.缓存在cup内还是cup外 MESI协议----主流的处理缓存和主存数据不一样问题 Cache line是什么已经 对编程中数组的影响 ...
- Android Glide数据更新及内存缓存、硬盘缓存清理
[转] 原文 Android Glide数据更新及内存缓存.硬盘缓存清理 Android的Glide在加载图片时候内部默 ...
- cpu、内存、缓存、硬盘使用率
1.cpu ./bunsan2.sh uptime < servers.txt | awk '{print $11 }' |sed 's/,//g' #!/bin/bash cpu_load=$ ...
- 计算机基础和Linux基础
计算机原理 计算机发展史 机器语言—让机器干活 差分机—让机器的数学运算和逻辑运算只简化成“加法”,计算机只处理“加法” 计算机硬件CPU=运算器+控制器+寄存器(缓存)硬盘=存储器+寄存器寄存器是为 ...
- cpu,内存,虚拟内存,硬盘,缓存之间是什么关系??
1.CPU即中央处理器,是英语“Central Processing Unit”的缩写.CPU从内存或缓存中取出指令,放入指令寄存器,并对指令译码分解成一系列的微操作,然后发出各种控制命令,执行微操作 ...
- (转载)CPU、内存、硬盘、指令以及他们之间的关系
CPU.内存.硬盘.指令以及他们之间的关系 最近读完<程序是怎样跑起来的>以及<深入理解计算机系统>的3.6.9章节后对计算机的组成有了更深入细致的了解,现总结一下对CPU.内 ...
- 计算机cpu、寄存器、内存区别
1.寄存器是中央处理器内的组成部份.它跟CPU有关.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和位址.在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC). ...
- 《Linux 性能及调优指南》1.4 硬盘I/O子系统
翻译:飞哥 (http://hi.baidu.com/imlidapeng) 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Linux Performance a ...
- CPU内部结构域寄存器
CPU内部结构域寄存器 64位和32位系统区别: 寄存器是CPU内部最基本的存储单元. CPU对外是通过总线(地址.控制.数据)来和外部设备交互的,总线的宽度是8位,同时CPU的寄存器也是8位,那 ...
随机推荐
- evpp tcp server服务端
// netserver.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <evpp/tcp_server.h> ...
- Eclipse搭建maven web项目
最近在做做一个小实验,搭建ssm框架,要求使用maven来统一管理jar包,接下来就看如何建立maven项目,首先必须有要有相应的开发环境:JDK和maven,以及配置tomcat. 开发环境搭建可以 ...
- danci
plain 英 [pleɪn] 美 [plen] adj. 平的:简单的:朴素的:清晰的 n. 平原:无格式:朴实无华的东西 adv. 清楚地:平易地 n. (Plain)人名:(英)普莱恩:(法)普 ...
- CSE301 – Bio-Computation
CSE301 – Bio-Computation Assessment 3Contribution to overall module assessment 10%Submission deadlin ...
- AST11103 Problem Solving
AST11103 Problem Solving with Programming SkillsAdditional Individual Assignment: Min-Game Programmi ...
- Vue --- 基础简介
目录 Vue简介 1.什么是Vue 2.为什么要学习Vue 3.special -- 特点 4.如何使用vue Vue使用 1.如何使用vue 2.插值表达式 3.文本指令 4.事件指令 5.属性指令 ...
- .Net Core 遇到 “'windows-1252' is not a supported encoding name.”
使用iTextSharp生成Pdf文件时报错如下: 'windows-1252' is not a supported encoding name. For information on defini ...
- ZOJ 2676 Network Wars(网络流+分数规划)
传送门 题意:求无向图割集中平均边权最小的集合. 论文<最小割模型在信息学竞赛中的应用>原题. 分数规划.每一条边取上的代价为1. #include <bits/stdc++.h&g ...
- Dump文件数据存储格式(一)
我们已经了解了什么是Dump文件,它保存了什么数据,有什么作用,但它是如何存储的,数据格式是怎样的呢.下面简单说一下. 一.总体结构 二.文件头 首先文件的最开始的32个字节是Dump文件的文件头,这 ...
- proc near/far
proc是定义子程序的伪指令,位置在子程序的开始处,它和endp分别表示子程序定义的开始和结束两者必须成对出现. far是该子程序的属性,决定调用程序和子程序是否在同一代码段如下:为子程序定义及说明, ...