温馨提示:这篇文章已超过426天没有更新,请注意相关的内容是否还可用!
并发编程所需的底层基础包括计算机系统的体系结构、操作系统原理、数据结构和算法等。还需要深入理解并发编程模型,如多线程、异步编程等,以及并发控制机制,如锁、信号量等。熟悉并发编程中的常见问题,如死锁、竞态条件等及其解决方法也是必不可少的。这些基础知识的掌握对于进行高效、稳定的并发编程至关重要。
1、多级层次的存储结构
固态盘并不是主要的应用对象,因为其使用次数有限,无法支撑高并发场景,以下是关于存储结构的基本原理:
(此处插入图片描述)磁盘存储的最基本原理是电生磁,磁盘的磁道里有很多磁颗粒,为了防氧化,磁颗粒上有一层薄膜,磁盘的数据写入过程是这样的:我们的磁头上有一个线圈,通过调整线圈的电流方向,可以控制磁头的磁极,假设我们用磁极N级代表数字1,磁极S级代表数字0,这样每个磁颗粒都存储着相应的数据,每个磁颗粒存储的数据被称为1比特,关于数据传输过程,需要用到数据拦截器来识别合法的数据电压,CPU要读取磁盘中的某些数据时,必须先将地址发送给磁盘,数据拦截器内的电路默认是断开的状态,数据电压和地址电压共同作用才能使数据拦截器内的半导体变为导体,关于磁盘的访问速度,涉及到机械臂的移动和盘面的转动,大约需要5毫秒的时间,那么如何解决CPU和磁盘的速度差异呢?这就需要内存的作用。
(此处插入图片描述)关于内存部分,我们知道内存的最小单位是一些类似于二极管这样的装置,它们能存储一个电状态,高或低,可表示1或0,当内存断电时,数据会消失,这是因为内存条使用的是电容来存储电荷,那么CPU如何由内存提供数据呢?效率能达到大约1%。
接下来是高速缓冲存储器(Catch)的部分,程序访问存在局部性原理,即一段时间内程序的执行仅限于程序中的某一部分,相应地,所访问的存储空间也局限于某个内存区域,Catch之所以快,原因有以下几点:首先是距离不同,Catch在CPU内部,和CPU之间有专线连通;其次是硬件设计不同,Catch使用双稳态触发器存储信息,电路设计更加复杂,数据读取效率更高,CPU访问Catch的方式有两种:一是先访问Cache未命中再访问主存;二是cpu同时去cache和主存当中找数据。
(此处插入图片描述)关于寄存器部分,寄存器是计算机中存储容量最小的存储器件,通常被集成在处理器芯片中,寄存器通常用于存储处理器需要快速访问的数据,如程序计数器、指令寄存器、状态寄存器等,在CPU的计算过程中……
(此处插入图片描述)关于多核CPU部分,早期的CPU只有一个逻辑运算单元(内核),计算机核心的主要功能是对数据进行运算,在一个时刻,单核处理器只能运算同一指令,例如在一个for循环中……
还没有评论,来说两句吧...