感性认识:计算机基本工作原理

news2024/11/27 10:31:02

一. 计算机发展史概述

1946年2月14日,在美国宾夕法尼亚大学,众所周知的世界上第一台电子数字计算机ENIAC诞生。然而,英国在二战期间研制的电子计算机Colossus(巨人)却要比ENIAC早两年,多年来,英国人对自己研制首台电脑的荣誉始终保持着缄默。

第一代:电子管计算机

第二代:晶体管计算机

第三代:中小规模集成电路计算机

第四代:大规模和超大规模集成电路计算机

第五代:人工智能和大数据云服务的结合

最开始的时候, 计算机诞生的使命是为了战争, 二战时期, 为了计算导弹轨道

img

计算的需求在人类的历史中是广泛存在的,发展大体经历了从一般计算工具到机械计算机到目前的电子计算机的发展历程。

二. 计算机基本组成

1. 冯诺依曼体系

冯·诺依曼(John von Neumann,1903~1957),20世纪最重要的数学家之一,在现代计算机、博弈论、核武器和生化武器等诸多领域内有杰出建树的最伟大的科学全才之一,被后人称为“计算机之父”和“博弈论之父”。

美籍匈牙利数学家冯·诺伊曼于1946年提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。 冯·诺依曼体系结构冯·诺伊曼理论的要点是:计算机的数制采用二进制;计算机应该按照程序顺序执行。人们把冯·诺伊曼的这个理论称为冯·诺伊曼体系结构。

现代的计算机, 大多遵守冯诺依曼体系结构

img

冯诺依曼体系提出任何的计算机都应该有CPU(运算器与控制器),输入设备,储存器和输出设备组成。

CPU 中央处理器: 进行算术运算和逻辑判断.

存储器: 分为外存和内存, 用于存储数据(使用二进制方式存储).

输入设备: 用户给计算机发号施令的设备.

输出设备: 计算机个用户汇报结果的设备.

针对存储空间
硬盘 > 内存 >> CPU
针对数据访问速度:
CPU >> 内存 > 硬盘

2. CPU和GPU

CPU是计算机最核心的部分, 进行算术运算和逻辑判断.

CPU可以认为是当前人类科技的巅峰之作, 技术难度上, 能和CPU相提并论的,只有"氢弹".

CPU 造的最好的就是美国(Intel, AMD, 高通) , 全世界的计算机,绝大多数,都是使用这几个公司的cpu.

CPU难的不是理论, 而是工艺, lntel AMD 可以研发出5 nm制程的CPU 了, 目前(2022年)能买到的CPU最好就是这个.

CPU最重要的指标,就是叫做"主频", 3.20Ghz,描述了CPU运算的速度, 其实本质是3.2G时钟周期, 可以近似的视为, 每秒钟能执行32亿条指令.

img

与CPU类似的功能组件还有一个显卡GPU, 显卡的定位和CPU类似.

CPU通用计算芯片→好比大学生, 可以让他算1+1, 也可以算微积分.

GPU专用计算芯片→好比小学生,只会算1+1

很多图形相关运算(游戏,视频剪辑), 不需要计算微积分, 就只需要算1+1, 但是计算的量特别大, 拿CPU算, 也可以, 但是大材小用了, 此时就专门搞了个GPU, 专门负责算这些1+1的(这里面包含很多很多的小学生).

3. CPU基本组成

3.1 逻辑门

逻辑门(Logic Gates)是在集成电路(Integrated Circuit)上的基本组件。简单的逻辑门可由晶体管组成。这些晶体管的组合可以使代表两种信号的高低电平在通过它们之后产生高电平或者低电平的信号。高、低电平可以分别代表逻辑上的“真”与“假”或二进制当中的1和0,从而实现逻辑运算。

3.2 门电路

用以实现基本逻辑运算和复合逻辑运算的单元电路称为门电路。常用的门电路在逻辑功能上有与门、或门、非门、与非门、或非门、与或非门、异或门等几种。

img

img

img

img

4. 算术逻辑单元 ALU(Arithmetic & Logic Unit)

ALU是计算机中进行算数、逻辑运算的核心部件,是计算机的数学大脑,ALU有两个单元,一个是逻辑单元,就是由前面的逻辑门实现,还有一个单元是算术单元AU。

由于计算机中的计算是以二进制来进行运算的,我们先来了解一下二进制。

img

算数单元(AU),负责计算机里的所有数字操作,比如四则运算,当然它能做的远远不止这些,最基本的运算器就是加法器,包括半加器和全加器,配合上逻辑门就能够进行运算了。

半加器(Half Adder),进行两个 1 位(bit) 数的相加,根据基本的门电路,可以构建出半加器。

img

全加器(Full Adder),进行三个 1 位(bit) 数的相加,根据半加器和门电路,可以构建出全加器。

img

进一步通过半加器和全加器可以构建8位的加法器,以此类推,最终可以实现32位或64位的加法器。

img

逻辑单元,如8 位(bits) 数非 0 判断器,由多个或门构成,就是每两位为一个单位,判断是否含有1,如果含有1最终结果会返回1,表示这个数不是0。

img

上面的ALU实现图是8位的,都是由基本的门电路一步一步构建而成的,前面的半加器和全加器也是基于门电路实现的,现在大部分是64位的计算机了,虽然这里构建的是一个8位的ALU,但是基于64的ALU也是按照类似的思路构建出来的。

5. 寄存器和内存

寄存器和内存(主储存器)都是属于储存器,除此之外,还包括外存(硬盘,磁盘等)。

img

寄存器是CPU中内部的储存器,速度比内存快3-4个数量级,空间比内存小很多,一般几百字节左右。

计算机的工作离不开寄存器,因为在计算之前,首先需要将数据加载到寄存器,然后计算完成后需要把运算好的结果保存到寄存器中。

内存被称为 RAM(Random Access Memory),可以支持 O(1) 时间复杂度访问任意位置的数据,这也就是我们数组下标访问操作是 O(1) 的硬件支持。

6. 控制单元

有了ALU和存储了,但这还是不足以让计算机工作起来,需要有一个部件来指挥 ALU 进行何种的运算,而这个部件就是控制单元(CU)。

7. 指令

所谓指令,即指导 CPU 进行工作的命令,主要有操作码 + 被操作数组成。其中操作码用来表示要做什么动作,被操作数是本条指令要操作的数据,可能是内存地址,也可能是寄存器编号等。指令本身也是一个数字,用二进制形式保存在内存的某个区域中。

img

指令周期:

img

电子计算机中的 CPU 靠背后一个时钟来进行周期驱动的.

时钟频率的概念:

img

最后,ALU + CU + 寄存器 + 时钟就组成了我们平时经常看到的一个词汇:中央处理器(Center Process Unit)简称 CPU。

8. 编程语言到指令

我们所写的代码都会被编译器转换成许多条CPU能够识别的机器语言指令,然后CPU去执行指令,实现程序的功能。

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/85885.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

运筹说 第85期 | 只有初中学历的数学家

有学者形容华罗庚是在中国现代数学洪荒之地中抱定“战士死在沙场幸甚”的开拓者。这一句话足以肯定华罗庚教授在我国数学领域重要地位,下面我们就来一起领略伟人的风采。 (华罗庚,1910年11月12日-1985年6月12日) 华罗庚&#xff0…

预尝试4个小时入门Vue

目录 Vue简介 ​编辑 第一个vue程序 el挂载点 data数据对象 Vue指令 v-text和v-html v-on v-show v-if v-bind v-for v-model 记事本案例 axios网络请求库 1、安装 2、使用&#xff0c;作一个音乐播放器 均来自黑马教程。 Vue简介 第一个vue程序 <!DOCTYP…

用 Python 编写的 Python 解释器,你会吗?

计算机只能理解机器码。归根结底&#xff0c;编程语言只是一串文字&#xff0c;目的是为了让人类更容易编写他们想让计算机做的事情。真正的魔法是由编译器和解释器完成&#xff0c;它们弥合了两者之间的差距。解释器逐行读取代码并将其转换为机器码。 在本文中&#xff0c;我…

java计算机毕业设计基于安卓Android的儿童疫苗接种管理App

项目介绍 本文讲述了儿童疫苗管理App的设计与实现。结合电子管理系统的特点,分析了儿童疫苗管理App的现状,给出了儿童疫苗管理App实现的设计方案。 本论文主要完成不同用户的权限划分,不同用户具有不同权限的操作功能,在客户端,主要有管理员、医生和用户三个角色可以登录,用户…

【react】JSX基本语法

1、全称 JavaScript XML 2、定义 是react定义的一种类似于XML的JS扩展语法: JS XML本质是React.createElement(component, props, …children)方法的语法糖 3、作用: 用来简化创建虚拟DOM 4、标签名任意 HTML标签或其它标签 5、标签属性任意 HTML标签属性或其它 6、基本语法规…

Python 缩进语法的起源:上世纪 60-70 年代的大胆创意!

上个月&#xff0c;Python 之父 Guido van Rossum 在推特上转发了一篇文章《The Origins of Python》&#xff0c;引起了我的强烈兴趣。 众所周知&#xff0c;Guido 在 1989 年圣诞节期间开始创造 Python&#xff0c;当时他就职于荷兰数学和计算机科学研究学会&#xff08;简称…

SAP ABAP CDS view 里 INNER JOIN 和 Association 的区别

最近有朋友在我的知识星球里向我提问&#xff0c;SAP ABAP CDS view 的 INNER JOIN 和 Association 的功能可以理解为一样吗&#xff1f; (关于加入我的知识星球的方式&#xff0c;请移步本文文末) 本文就来聊一聊这个话题。既然 CDS view 里同时支持了 INNER JOIN 和 Assoc…

小伙伴因 unshift 插入数据被批,未曾想到找我诉苦竟梅开二度

背景 事情是这样的&#xff0c;今天小伙伴跟我诉苦&#xff0c;说写的代码被批了&#xff0c;原因是效率太低了&#xff0c;简单问了一下需求&#xff0c;就是将几千条数据倒序插入到数组中&#xff0c;他是通过循环搭配 unshift 实现的&#xff0c;听完我也批了他一顿。 小伙…

ImageNet

标题有点不太对是的 就能用了 这次是说 用有噪声的学生网络进行自我训练提高ImageNet分类 近年来&#xff0c;深度学习在图像识别方面取得了显著的成功。然而&#xff0c;最先进的视觉模型仍然是用监督学习来训练的&#xff0c;这就需要大量的标记图像才能很好地工作。 通过只…

监控易火星版纳管IPv6:IP地址管理V2.0的进化之路

IPv6的使用&#xff0c;不仅能解决网络地址资源数量的问题&#xff0c;而且也解决了多种接入设备连入互联网的障碍。大量IP地址的接入&#xff0c;导致运维人员不得不投入大量精力来解决IP管理分散、非法接入、IP地址错误、IP地址冲突等导致的问题。随之而来的&#xff0c;IP地…

java计算机毕业设计基于安卓Android的校园助手APP

项目介绍 网络的广泛应用给生活带来了十分的便利。所以把校园助手与现在网络相结合,利用java技术建设校园助手APP,实现校园助手的信息化。则对于进一步提高校园助手发展,丰富校园助手经验能起到不少的促进作用。 校园助手APP能够通过互联网得到广泛的、全面的宣传,让尽可能多的…

Metal每日分享,图像单色滤镜效果

本案例的目的是理解如何用Metal实现图像单色效果滤镜&#xff0c;将图像转换为单色版本&#xff0c;根据每个像素的亮度进行着色&#xff1b; Demo HarbethDemo地址 实操代码 // 去雾效果滤镜 let filter C7Monochrome.init(intensity: 0.83, color: .blue)// 方案1: Image…

Zookeeper[1]-Zookeeper介绍与安装以及集群环境准备

Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机&#xff0c;Java 仍是企业和开发人员的首选开发平台 课程内容的介绍 Zookeeper的介绍和安装 Zookeeper客户端使用…

基于Paddle2.4.0训练报错Debug

基于Paddle2.4.0训练报错Debug一、环境简介二、Debug过程错误一Debug错误二Debug错误三Debug更换PaddlePaddle版本三、总结参考文档一、环境简介 本文背景为使用AutoDL网站的租借显卡进行网络训练&#xff0c;训练环境如下&#xff1a; 操作系统&#xff1a;Ubuntu18.04&#…

Springboot内置的工具类之StringUtils

在实际的业务开发中&#xff0c;除了经常有针对对象的判断或操作以外&#xff0c;经常也会遇到的就是字符串的判断和操作。比如判断字符串是否为空、是否以某个字符结尾、去除头部和尾部的空白字符、字符的查找和替换。在Spring的核心包中存在这样一个类org.springframework.ut…

如何保证项目如期上线,测试工程师应该怎么做?

要保证项目按照正常进度发布&#xff0c;需要整个研发团队齐心协力。 有很多原因都可能会造成项目延期。1、产品经理频繁修改需求2、开发团队存在技术难题3、测试团队测不完今天我想跟大家聊一下&#xff0c;测试团队如何保证项目按期上线&#xff0c;以及在这个过程中可能遇到…

[附源码]Python计算机毕业设计SSM基于Web课堂签到管理系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

学生HTML网页作业:基于HTML+CSS+JavaScript画家企业8页

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

jvm垃圾处理

1.什么是垃圾 垃圾&#xff1a;没有引用指向的一个对象或者多个对象循环引用但是没有引用指向申请内存方式 c语言&#xff1a;malloc free c:new delete java:new 对象 2、垃圾是如何产生的 垃圾一般在发生引用传递时产生。一块堆内存可以被不同的栈内存所引用&#xff0c;…

DBCO-PEG-SPDP,SPDP-PEG-DBCO,DBCO-聚乙二醇-3-(2-吡啶二硫代)丙酸N-羟基琥珀酰亚胺

一、试剂基团反应特点&#xff08;Reagent group reaction characteristics&#xff09;&#xff1a; DBCO-PEG-SPDP中无铜点击反应一直是无催化剂生物共轭的有力工具。 DBCO试剂在水性缓冲液中具有稳定性&#xff0c;可用于以高特异性和反应性标记叠氮化物修饰的生物分子&…