初探计算机网络之CPU和内存
CPU
CPU是一块超大规模的集成电路板,是计算机的核心部件,承载着计算机的主要运算和控制功能,是计算机的最终解释模块和执行模块。总之,用一句话概括就是,CPU是由控制器和运算器组成的,而内部寄存器使这两者协作更为高效。CPU的内部结构如下图所示。
下面对图中的三大组成部分进行简单的讲解。
控制器
控制器是由控制单元、指令译码器、指令寄存器三大部分构成。其中控制单元是CPU的核心,由时序控制和指令控制等组成;指令译码器是在控制单元的协调下完成指令读取、分析并交由运算器执行等操作;指令寄存器是存储指令集,当前流下的指令包括 X86、SSE、MMS 等。控制器类似于我们平常使用代码编译器一样,当输入编译之后的0与1的源码流,通过译码和控制单元对存储设备的数据进行读取,运算完成之后,保存回寄存器或者是内存。
运算器
从图中我们可以得知,运算器的核心是算术逻辑运算单元,即 ALU,能够执行算术运算或逻辑运算等各种指令,运算单元会从寄存器中提取或存储数据。相对于控制单元来讲,运算器是受控的执行部件。我们平时开发的编程语言,如Java、Python等,用到的a+b的算术运算,无论是字节码指令,还是汇编指令,最终的结果是一定以0与1的组合流形式在部件内完成最终计算,并保存到寄存器,最后送出CPU。
寄存器
为了区分,作者在寄存器图上特意标明了CPU的高速缓存L1、L2,缓存容量是组装计算机时必问的两个CPU性能问题之一。缓存结构和大小对于CPU的运行速度影响非常大,毕竟CPU的运行速度远快于内存的读写速度,甚至硬盘。基于执行指令和热点数据的时间局部性和空间局部性,CPU缓存部分指令和数据,以提升性能。但由于CPU内部空间狭小且结构复杂,高速缓存远小于内存空间。
小结
CPU是一个高内聚的模块化组件,对于外部其他硬件设备的时序协调、指令控制、存取动作,都需要通过操作系统进行统一管理和协调。
内存
CPU与内存的执行速度有着很大的差距,上图中寄存器里面的L1和L2分别对应着256KB和4MB,它们是CPU和内存之间的缓冲区,但需要注意的是,并非所有的处理器中都存在L3缓存。
内存就是系统资源的代名词,它是其他硬件设备与CPU沟通的桥梁,计算机中的所有程序都在内存中运行,它的容量与性能如果存在瓶颈,即使CPU再快,也是白费功夫。内存的物理结构是由内存芯片、电路板、控制芯片以及相关支持模块等组成。
在Java当中,内存就全权交给了JVM(Java虚拟机)来自动分配和释放,这个过程就是垃圾回收机制。虽然垃圾回收机制能够帮助我们的程序减轻了压力,但是不在代码中加以约束的话,同样也会耗尽内存资源。
初探计算机网络之CPU和内存的更多相关文章
- Linux资源控制-CPU和内存
主要介绍Linux下, 如果对进程的CPU和内存资源的使用情况进行控制的方法. CPU资源控制 每个进程能够占用CPU多长时间, 什么时候能够占用CPU是和系统的调度密切相关的. Linux系统中有多 ...
- 使用Jmeter监测服务器cpu、内存等性能
jmeter中可以监控服务器的CPU和内存使用情况,但是需要安装一些插件还需要在被监测服务器上开启服务. 1.下载JMeterPlugins-Standard-1.4.0.zip插件.下载后将JMet ...
- CPU与内存的那些事
下面是网上看到的一些关于内存和CPU方面的一些很不错的文章. 整理如下: 转: CPU的等待有多久? 原文标题:What Your Computer Does While You Wait 原文地址: ...
- CPU与内存的关系
至今才对cpu和内存有一定了解了,下面有几个比喻的理解,很形象呦~ 1# 例如你要吃东西时,硬盘是锅,内存是碗,CPU是你,浅显点就是这样子了~ 2# 例如电脑是企业,内存是车间,cpu是生产线,硬盘 ...
- 【好书摘要】性能优化中CPU、内存、磁盘IO、网络性能的依赖
系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书本上 ...
- KVM 介绍(2):CPU 和内存虚拟化
学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...
- Cgroups控制cpu,内存,io示例
Cgroups是control groups的缩写,最初由Google工程师提出,后来编进linux内核. Cgroups是实现IaaS虚拟化(kvm.lxc等),PaaS容器沙箱(Docker等)的 ...
- Ubuntu 16.04 标题栏实时显示上下行网速、CPU及内存使用率--indicator-sysmonitor
---------------------------------------------------------------------------- 原文地址:http://blog.csdn.N ...
- 电脑结构和CPU、内存、硬盘三者之间的关系
前面提到了,电脑之父——冯·诺伊曼提出了计算机的五大部件:输入设备.输出设备.存储器.运算器和控制器. 我们看一下现在我们电脑的: 键盘鼠标.显示器.机箱.音响等等. 这里显示器为比较老的CRT显示器 ...
随机推荐
- 【权限管理】Spring Security 执行流程
转自:https://blog.csdn.net/weixin_37689658/article/details/92752890 1.基本配置使用 (1)创建配置类 创建一个配置类SecurityC ...
- linux下C编程初篇
对于程序设计员来说,makefile是我们绕不过去的一个坎.可能对于习惯Visual C++的用户来说,是否会编写makefile无所谓.毕竟工具本身已经帮我们做好了全部的编译流程.但是在Linux上 ...
- ffmpeg 视频ts切片生成m3u8
下面几种转换方式是不同版本和方法 新版本ffmpeg转视频直接可以切边并生成 m3u8(目前用的方式,也可以用选项 segment ): ffmpeg -i '源文件.mp4' -c:v h264 - ...
- 默认标签的解析过程(三)parseDefaultElement
private void parseDefaultElement(Element ele, BeanDefinitionParserDelegate delegate) { if (delegate. ...
- 并发控制--context篇
目录 1. 前言 2 Context 实现原理 2.1 接口定义 2.1 cancelCtx 2.1.1 Done()接口实现 2.1.2 Err()接口实现 2.1.3 cancel()接口实现 2 ...
- C# - 习题05_写出程序的输出结果o1.count
时间:2017-08-24 整理:byzqy 题目:写出下列程序的输出结果: //原题程序如下: class Class1 { private static int count = 0; static ...
- Data Leakage in Machine Learning 机器学习训练中的数据泄漏
refer to: https://www.kaggle.com/dansbecker/data-leakage There are two main types of leakage: Leaky ...
- You have mail in /var/mail/xxx
因为配置 DDNS, 我添加了个 crontab 定时任务,每隔 1 分钟执行一段 python 脚本 然后就发现 terminal 经常提示 'You have mail in /var/mail/ ...
- 【开发工具】Postman保姆级入门教程
目录 一.简单使用 1. 创建命名空间 2. 创建新集合 3. 按模块整理接口 二.使用环境变量 1. 创建环境与环境变量 2. 使用环境变量 3. 登录后自动更新环境变量 转载请注明出处 一.简单使 ...
- 20210821 打表,蛇,购物,ants
考场 T1 没看懂 T4 一眼回滚莫队,但忘记怎么写了,小慌 模拟 T1 题意的时候教练让 zsy 澄清了一下,确定了我不会做... T2 一看就是毒瘤题,T3 感觉比较可做 T4 确定了回滚的细节, ...