【计算机追本溯源】「底层原理系列」 回归与本质,让本文带你认识什么是计算机软件系统(1)

简介: 【计算机追本溯源】「底层原理系列」 回归与本质,让本文带你认识什么是计算机软件系统(1)

前提概要


如果希望可以把计算机编程技术提升到另外一个高度,,那么想要搞清楚什么是软件设计,首先就要理解什么是计算机软件,在这之后,再去考虑为什么对软件进行设计,以及在通常情况下应该怎样设计软件。



什么是计算机


作为开端,首先来说说计算机到底是什么样子的电子设备,它是由那些部分组成的,以及这些部分在计算机程序运行中都起到了什么样子的作用。在初版的计算机中最核心的部件主要有三个:控制器,运算器和存储器。其中控制器和运算器主要针对于指令集层面,需要挂靠到CPU中,才会发挥作用机制。



CPU中央处理器


中央处理器就是我们常说的CPU(Center Processing Unit)。起始是我们常常所了解的集成电路芯片,这种电路芯片一般都会通过高分子纳米技术的光刻机刻录到一块硅晶体电子版中,并且统一进行分割成为多个CPU芯片的主板上面,一个CPU可以包含了几十亿哥晶体管,我们可以理解一下电控开关机制(0和1信号量)。

image.png



CPU处理器的发展方向


随着摩尔定律的慢慢陨落,CPU性能提升方向已经慢慢从纵向转换为横向,这是为什么呢?原来就是CPU中只有一套客户意向配合的提供计算的集成电路。这样的一套电路被称之为一个CPU核心(core)。只会拥有一个CPU核心(逻辑内核)的CPU被称之为单核CPU。



CPU处理器的纵向发展


如果希望提高CPU的性能机制,那么就必须要进行改进CPU核心的电路结构,以及相关的电路密度机制,这就是所谓的纵向发展计划。也就是说只会焦聚于单核心的优化机制。

单核心的优化技术体系,如下所示:

image.png


CPU电路板


CPU芯片的电路底版,主要用于承载CPU核心数以及相关的器件,单个CPU核心的电路密度已经很接近物理上的极限阈值,所以,每个CPU工厂的厂商都开始陆陆续续的研发推出拥有很多核心的CPU机制体系,我们称之为多核心CPU,一个多核CPU会有多个CPU核心,或者多套集成电路,这些CPU核心之间的必须会保持独立且相互合作的方式,从而可以的拥有几个或者十几个核心,有的最新的CPU甚至拥有几十个多核心之多。

image.png

每个CPU核心都会拥有自己独立的控制器,运算器和寄存器。简单来说,控制器只会着运算器和寄存器,并一次来实现CPU指令的执行,以及数据的读出和写入。


  • 运算器:主要用于各种算数和逻辑运算操作,比如说算术中的加、减、乘、除以及逻辑上的与或非、异或运算等,此外还有我们很少了解的移位和比较、传送等。


  • 寄存器:在进行运算操作期间,在CPU运算计算器程序的过程中,临时存储那些马上就要用到得的指令和数据。包括了CPU指令、中间运算结果、程序运算状态以及相关的内存指令地址和数据地址。


所有的相关的控制器和运算器都是会频繁的使用到寄存器的,有的时候甚至需要独自占有寄存器,所以它们之间是想当的密切的。



Storage存储器

image.png

存储器是哟个可以将数据或者相关信息写入进来,并且永久性或者临时性存储下去,等待需要进行读取的时候,就需要进行读取操作,所以我们定义在一定的条件下可以存储的了数据的器件都可以称之为存储器,例如:硬盘、SSD或者U盘、移动硬盘等都是。

image.png

其实,这里多说一句,指令也算是一种数据,一种可以是驱动CPU执行某种操作的数据,其中也会包含了很多中操作的代码以及包含内部相关操作的数据信息。(也可能是对应的存储地址)。而对于数据而言:一般属于哪种静态存储在某个地址中的具有某种格式或者结构的内存信息内润。



计算机中的存储设备


存储器作为计算机核心部件大概有三种:寄存器、高速缓冲存储器和内存存储器、以及我们常用的硬盘存储器。


  • 寄存器的速度是最快的,它属于CPU核心里的一种组件。


  • 高速缓存也用于暂存的指令和数据,但它暂存的往往是近期会用到的数据,而不是马上就要用的数据,速度仅次于寄存器


  • 内存存储器,速度慢于前两者的速度机制,但是高速缓冲存储器是两者的桥梁,所以不会造成过大的速度瓶颈。

image.png

总体CPU电路板机制的逻辑结构图


CPU核心->【控制器、运算器、存储器】->【存储器:高速缓存、内存、寄存器、硬盘存储器】


image.png




相关文章
|
4月前
|
存储 编解码 并行计算
【软件设计师备考 专题 】计算机系统的组成、体系结构分类及特性
【软件设计师备考 专题 】计算机系统的组成、体系结构分类及特性
84 0
|
3月前
|
存储 数据库 芯片
计算机系统论述与相关概念-思维导图
计算机系统论述与相关概念-思维导图
|
4月前
|
存储 缓存 算法
作者推荐 | 【底层服务/编程功底系列】「底层技术原理」史上最清晰的采用程序员的视角方式进行深入探索Linux零拷贝技术原理及实现
作者推荐 | 【底层服务/编程功底系列】「底层技术原理」史上最清晰的采用程序员的视角方式进行深入探索Linux零拷贝技术原理及实现
51 0
|
4月前
|
存储 缓存 网络虚拟化
深入理解计算机系统第九章知识点总结
深入理解计算机系统第九章知识点总结
88 0
|
人工智能 编解码 网络协议
计算机实验基础要点
第一台计算机ENIAC 1946年 计算机发展:电子管计算机,晶体管计算机,集成电路计算机,大规模集成电路计算机 计算机分类:超级计算机,大型计算机,小型计算机,微型计算机,嵌入式计算机, 计算机特点:速度快,精度高,存储容量大,具有逻辑判断能力,自动化程度高,可与通信网络互联 计算机应用:1科学计算2数据处理3辅助技术4过程控制5人工智能 计算机系统组成:1硬件2指令3程序4软件
83 0
|
Python
数据库系统概论第六章(关系数据理论)知识点总结(2)—— 码的概念总结
语义:一个演奏者可以演奏多个作品,某一作品可被多个演奏者演奏,听众可以欣赏不同演奏者的不同作品
362 0
|
监控 数据可视化 测试技术
软工导第一节课 计算机软件工程学作一个简短的概述,回顾计算机系统发展简史 软件工程的基本原理和方法有概括的本质的认识,详细讲解生命周期相关知识讲解8种典型的软件过程模型
软工导第一节课 计算机软件工程学作一个简短的概述,回顾计算机系统发展简史 软件工程的基本原理和方法有概括的本质的认识,详细讲解生命周期相关知识讲解8种典型的软件过程模型
252 0
软工导第一节课 计算机软件工程学作一个简短的概述,回顾计算机系统发展简史 软件工程的基本原理和方法有概括的本质的认识,详细讲解生命周期相关知识讲解8种典型的软件过程模型
|
存储 编解码 缓存
1.5微型计算机的操作系统 计算机专业理论基础知识要点整理
1.5微型计算机的操作系统 计算机专业理论基础知识要点整理
172 0