CPU

CPU是一块超大规模的集成电路板,是计算机的核心部件,承载着计算机的主要运算和控制功能,是计算机的最终解释模块和执行模块。总之,用一句话概括就是,CPU是由控制器和运算器组成的,而内部寄存器使这两者协作更为高效。CPU的内部结构如下图所示。

下面对图中的三大组成部分进行简单的讲解。

控制器

​ 控制器是由控制单元指令译码器指令寄存器三大部分构成。其中控制单元是CPU的核心,由时序控制和指令控制等组成;指令译码器是在控制单元的协调下完成指令读取、分析并交由运算器执行等操作;指令寄存器是存储指令集,当前流下的指令包括 X86SSEMMS 等。控制器类似于我们平常使用代码编译器一样,当输入编译之后的0与1的源码流,通过译码和控制单元对存储设备的数据进行读取,运算完成之后,保存回寄存器或者是内存。

运算器

​ 从图中我们可以得知,运算器的核心是算术逻辑运算单元,即 ALU,能够执行算术运算或逻辑运算等各种指令,运算单元会从寄存器中提取或存储数据。相对于控制单元来讲,运算器是受控的执行部件。我们平时开发的编程语言,如Java、Python等,用到的a+b的算术运算,无论是字节码指令,还是汇编指令,最终的结果是一定以0与1的组合流形式在部件内完成最终计算,并保存到寄存器,最后送出CPU。

寄存器

​ 为了区分,作者在寄存器图上特意标明了CPU的高速缓存L1L2,缓存容量是组装计算机时必问的两个CPU性能问题之一。缓存结构和大小对于CPU的运行速度影响非常大,毕竟CPU的运行速度远快于内存的读写速度,甚至硬盘。基于执行指令和热点数据的时间局部性和空间局部性,CPU缓存部分指令和数据,以提升性能。但由于CPU内部空间狭小且结构复杂,高速缓存远小于内存空间。

小结

CPU是一个高内聚的模块化组件,对于外部其他硬件设备的时序协调、指令控制、存取动作,都需要通过操作系统进行统一管理和协调。

内存

​ CPU与内存的执行速度有着很大的差距,上图中寄存器里面的L1L2分别对应着256KB和4MB,它们是CPU和内存之间的缓冲区,但需要注意的是,并非所有的处理器中都存在L3缓存。

内存就是系统资源的代名词,它是其他硬件设备与CPU沟通的桥梁,计算机中的所有程序都在内存中运行,它的容量与性能如果存在瓶颈,即使CPU再快,也是白费功夫。内存的物理结构是由内存芯片、电路板、控制芯片以及相关支持模块等组成。

​ 在Java当中,内存就全权交给了JVM(Java虚拟机)来自动分配和释放,这个过程就是垃圾回收机制。虽然垃圾回收机制能够帮助我们的程序减轻了压力,但是不在代码中加以约束的话,同样也会耗尽内存资源。

初探计算机网络之CPU和内存的更多相关文章

  1. Linux资源控制-CPU和内存

    主要介绍Linux下, 如果对进程的CPU和内存资源的使用情况进行控制的方法. CPU资源控制 每个进程能够占用CPU多长时间, 什么时候能够占用CPU是和系统的调度密切相关的. Linux系统中有多 ...

  2. 使用Jmeter监测服务器cpu、内存等性能

    jmeter中可以监控服务器的CPU和内存使用情况,但是需要安装一些插件还需要在被监测服务器上开启服务. 1.下载JMeterPlugins-Standard-1.4.0.zip插件.下载后将JMet ...

  3. CPU与内存的那些事

    下面是网上看到的一些关于内存和CPU方面的一些很不错的文章. 整理如下: 转: CPU的等待有多久? 原文标题:What Your Computer Does While You Wait 原文地址: ...

  4. CPU与内存的关系

    至今才对cpu和内存有一定了解了,下面有几个比喻的理解,很形象呦~ 1# 例如你要吃东西时,硬盘是锅,内存是碗,CPU是你,浅显点就是这样子了~ 2# 例如电脑是企业,内存是车间,cpu是生产线,硬盘 ...

  5. 【好书摘要】性能优化中CPU、内存、磁盘IO、网络性能的依赖

    系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书本上 ...

  6. KVM 介绍(2):CPU 和内存虚拟化

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

  7. Cgroups控制cpu,内存,io示例

    Cgroups是control groups的缩写,最初由Google工程师提出,后来编进linux内核. Cgroups是实现IaaS虚拟化(kvm.lxc等),PaaS容器沙箱(Docker等)的 ...

  8. Ubuntu 16.04 标题栏实时显示上下行网速、CPU及内存使用率--indicator-sysmonitor

    ---------------------------------------------------------------------------- 原文地址:http://blog.csdn.N ...

  9. 电脑结构和CPU、内存、硬盘三者之间的关系

    前面提到了,电脑之父——冯·诺伊曼提出了计算机的五大部件:输入设备.输出设备.存储器.运算器和控制器. 我们看一下现在我们电脑的: 键盘鼠标.显示器.机箱.音响等等. 这里显示器为比较老的CRT显示器 ...

随机推荐

  1. HDFS简介及基本概念

    (一)HDFS简介及其基本概念   HDFS(Hadoop Distributed File System)是hadoop生态系统的一个重要组成部分,是hadoop中的的存储组件,在整个Hadoop中 ...

  2. C++继承体系中的内存分段

    ---------------综述与目录-------------- 讨论这个问题之前我们先明确类的结构,一个类的大概组成,下面的很多分类名词都是我个人杜撰,为的就是让读者看懂能够区分,下面分别分类: ...

  3. Java程序设计学习笔记(一)

    时间:2015-6-2 23:04 程序员,程序猿,程序媛,码农 -------------------------------------------------------   --Java的应用 ...

  4. Android WorkManager 定时任务

    App有时可能需要定期运行某些工作.例如,可能要定期备份数据.上传信息到服务器,定期获取新的内容等等. 在app运行期间,我们使用Handler也可以完成定期的功能.在这里我们介绍WorkManage ...

  5. 项目中经常用到的sass语法汇总

    1.定义变量 使用:$(符号定义变量) 注意:使用时要带有'$'符号,定义变量的方式与PHP相同 $变量:数值; $color_r : red; div{ color:$color_r; } 2.if ...

  6. Python3-sqlalchemy-orm

    1 #-*-coding:utf-8-*- 2 #__author__ = "logan.xu" 3 4 5 import sqlalchemy 6 from sqlalchemy ...

  7. (四)羽夏看C语言——循环与跳转

    写在前面   由于此系列是本人一个字一个字码出来的,包括示例和实验截图.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇 ...

  8. zset类型数据的操作指令

    1. 也可以追加数据 2. 3. 4. 5. 6. 7. 8. 9.

  9. Mysql 面试宝典

    实时更新 你用过哪些数据库? mysql redis mysql 和 redis 的区别? 比较点 Mysql Redis 数据库类型 关系型 非关系型 作用 持久化层 存储需要持久化的数据,数据存在 ...

  10. 通过url把第一个页面的数据传到第二页面

    第一个页面: function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^& ...