湖南企业建站系统平台,莱芜网络营销,长春做网站多少钱,企业名录是什么作者简介#xff1a;
CSDN内容合伙人、CSDN新星计划导师、JAVA领域优质创作者、阿里云专家博主#xff0c;计算机科班出身、多年IT从业经验、精通计算机核心理论、Java SE、Java EE、数据库、中间件、分布式技术#xff0c;参加过国产中间件的核心研发#xff0c;对后端有…作者简介
CSDN内容合伙人、CSDN新星计划导师、JAVA领域优质创作者、阿里云专家博主计算机科班出身、多年IT从业经验、精通计算机核心理论、Java SE、Java EE、数据库、中间件、分布式技术参加过国产中间件的核心研发对后端有自己独到的见解。
目录
1.概述
2.计算机由哪些部分组成
3.计算机各部分之间如何通信
4.数据如何存储
5.计算机如何与外界进行通信 1.概述
在实际的JAVA后端开发中我们会经常碰见一些性能问题这些性能问题很多其实都是因为现代计算机的基础架构自身存在着绕不过去的短板而很多性能优化的方法其实就是围绕着如何补这个短板而展开的。
例如因为读数据库读磁盘很慢而产生的redis之类的缓存技术又例如IO很慢JAVA从BIO从而升级了NIO在其中提出了零拷贝的解法。
了解计算机的基础架构能让我们在看待后端技术时拥有更高的视角会发现其实搞来搞去归根结底就是为了补全那么几个地方的缺陷使得纷繁复杂且抽象的知识很快就能归类起来而且更加容易类推使得学习无往不利。
博主之前写过一个系列的《计算机组成原理》是专门针对后端方向来写的。本文可以理解为是该系列的清单。本文将依次讲述
计算机由哪些部分组成各部分之间如何通信数据如何存储计算机如何与外界进行通信
注本文的所有图片均来自博主以前的文章那时候的ID还不是现在这个均属自产自销。
2.计算机由哪些部分组成
文章链接
计算机组成原理1概论_pc机内存储器由半导体存储器组成,可分为 ddr3和()两大类。__BugMan的博客-CSDN博客 我们现在使用的计算机的设计与实现均遵循1946年美籍匈牙利科学家冯·诺伊曼提出的“冯诺依曼体系”该体系简单总结起来即为计算机有五大部分组成内部有运算器、控制器、存储器外部有输入、输出设备。
内部 运算器ALU算术逻辑单元执行算术逻辑运算以及位移循环等操作。常说的计算机的位数也就是运算器的一个数据单元的宽度8位、16位、32位、64位。控制器CU产生控制命令控制全机。存储器用二进制的方式存储数据和程序。外部 输入设备输入信息输出设备输出信息 3.计算机各部分之间如何通信
文章链接
计算机组成原理2总线_单总线和双总线的区别__BugMan的博客-CSDN博客 计算机的五大组件我们已经知道了但是五大组件都是各自独立的要让他们携手起来一起工作还需要一样东西将他们串联起来这样东西就是——总线。
总线系统是计算机内部各个组件之间进行数据传输和通信的物理连接和控制机制。总线可以看作是一组并行的电子线路用于传递指令、数据和控制信号。总线系统在计算机的内部连接各种硬件组件如中央处理器CPU、内存、输入输出设备等实现它们之间的协调工作。
总线一共有三种 数据总线 传输数据信息 地址总线 传输数据总线上传输的数据在内存中的地址 控制总线 传输控制信号如中断信号、复位信号、就绪信号等。
加上总线后整个计算机的架构应该长这样 4.数据如何存储
文章链接
计算机组成原理3存储器_计组数据总线等于储存容量__BugMan的博客-CSDN博客 计算机除了需要CPU来完成运算和控制功能以外还需要有一个存储体系来存储数据。现代计算机的存储结构采用的一个多级结构 数据从最底层的硬盘上一层层的加载进上层最终给CPU之所以将存储体系构架成这样是因为构建一个合理的存储体系会涉及以下问题
主存速度够快吗主存容量够大吗价格够低吗
1.主存速度够快吗
按照摩尔定律计算机的CPU上晶体管每18个月数量会翻一倍因此CPU的读写速度现阶段要远远高于主存的读写速度。
CPU是一个食客主存是个厨子食客吃菜的速度肯定比厨子做菜的速度快的多这时候食客等待的这段时间就被浪费掉对应于CPU来说就是未被充分利用起来大段时间处于空转、等待。
解决办法就是做成自助餐放在餐台上让餐台这个设施去平衡食客和厨子之间速率的不匹配。至于食客到底想吃什么会有一个算法去自动计算计算出食客可能想吃的是什么。
这个餐台就是位于CPU和主存之间的高速缓冲存储器cache
2.主存容量够大吗价格够低吗
存储设备的价格和读写速度是成正比的基于成本考虑计算机中的存储设备不可能都用主存级读写速度的。因此更为合理的架构是——主存辅存主存就是内存条辅存就是硬盘主存读写速度较快价格高容量小存放计算机当前需要的热数据辅存中读写速度较慢价格低容量大存放冷数据。手机的诸如8128464就是指的内存和主存。
5.计算机如何与外界进行通信
链接
计算机组成原理4IO_计算机组成原理io设备__BugMan的博客-CSDN博客 计算机的输入/输出I/OInput/Output是指计算机与外部设备之间的数据交换过程。在JAVA后端IO优化是性能优化上很重要的一点其实JAVA的IO模型就是对计算机的IO模型进行的二次封装搞明白计算机的IO模型对编程语言的IO将会一目了然。