JavaEE--计算机是如何工作的

一、一台计算机的组成部分

1.CPU(中央处理器)

2.主板(一个大插座)

3.内存(存储数据的主要模板)

4.硬盘(存储数据的主要模板)

内存和硬盘对比:

内存硬盘
读写速度
存储空间
成本
存储数据的持久性不持久持久

存储空间大小:硬盘>内存>>CPU

数据访问速度快慢:CPU>>内存>硬盘

5.电源

6.散热器

7.机箱

8.显卡

9.键盘鼠标

10.显示器

二、冯·诺伊曼体系(Von Neumann Architecture)

冯·诺伊曼体系是计算机体系结构的一种基本设计原则,也称为存储程序计算机。它由匈牙利裔物理学家冯·诺伊曼在20世纪40年代提出,被认为是现代计算机的基础。

冯·诺伊曼体系的核心思想是将程序指令和数据存储在同一存储器中,这样的设计使得计算机可以按照存储器中的指令序列自动执行程序。这种设计有效地实现了程序控制和数据流的分离,使得计算机的结构更加简单和灵活。

冯·诺伊曼体系包括了四大部分:CPU中央处理器、存储器、输入设备和输出设备。这种体系结构的设计思想被广泛应用于现代计算机的设计中,包括个人电脑、服务器、移动设备等各种计算机设备。

  • CPU 中央处理器:进行算术运算和逻辑判断;
  • 存储器:分为外存和内存, 用于存储数据(使用二进制方式存储);
  • 输入设备:用户给计算机发号施令的设备,如键盘、鼠标;
  • 输出设备:计算机个用户汇报结果的设备,如显示器。

        既是输入设备,也是输出设备的:触摸屏,网卡……

总的来说,冯·诺伊曼体系为计算机的发展奠定了坚实的基础,是现代计算机体系结构的重要里程碑之一。

三、CPU基本工作原理

CPU(Central Processing Unit,中央处理器)的基本工作原理可以概括为以下几个步骤:

  1. 读取指令(Instruction Fetch):CPU从内存中读取下一条指令,这个过程通常包括将指令的地址加载到指令寄存器中。

  2. 解析指令(Instruction Decode):CPU解析指令的操作码和操作数,并确定执行该指令需要的操作。

  3. 执行指令(Instruction Execute):根据解码后的指令内容,CPU执行对应的操作,可能涉及算术运算、逻辑运算、内存访问等。

  4. 写回结果(Write Back):将执行指令后的结果写回到相应的寄存器或内存中。

在这些基本步骤中,CPU内部包含多个寄存器、运算器和控制器等部件,通过时钟信号来同步各个部件的工作。CPU根据指令集架构(ISA,Instruction Set Architecture)定义的指令集执行相应的操作,实现对数据的处理和控制。整个过程是高度复杂且高效的,CPU内部的微指令控制了各个部件的工作流程,从而实现了计算机的正常运行。

衡量CPU好坏的重要指标:

1.CPU频率(正相关)

基频/ 默频: 

睿频/ 加速频率:

2.CPU核心数(正相关)

1. 算术逻辑单元ALU

算术逻辑单元(Arithmetic Logic Unit,ALU)是计算机中的一个核心组件,用于执行基本的算术运算(如加法、减法、乘法、除法)和逻辑运算(如与、或、非、异或等)。ALU通常是CPU中的一个子模块,负责处理各种运算操作,是计算机实现数据处理和逻辑判断的关键部分。

ALU通常包括以下功能和特点:

  1. 算术运算功能:ALU能够执行各种算术运算,如加法、减法、乘法和除法。这些运算操作是基本的数据处理操作,用于对数字进行加减乘除等操作。

  2. 逻辑运算功能:除了算术运算,ALU还支持逻辑运算,如与、或、非、异或等逻辑操作。这些运算用于进行数据比较、逻辑运算和控制流程。

  3. 位操作:ALU能够对数据进行位级的操作,如移位、旋转等。这些操作对于处理位级数据非常重要,如编码解码、位操作等。

  4. 状态标志位:ALU通常会生成一些状态标志位,如零标志、进位标志、溢出标志等,用于指示运算结果的状态,方便程序在之后进行条件判断或跳转。

  5. 并行处理:现代计算机中的ALU通常是高度并行化的,能够同时处理多个操作,提高计算效率和性能。

在计算机中,ALU与寄存器、控制单元等组件共同协作,完成指令的执行,实现计算机的数据处理功能。ALU的设计和优化对计算机的性能、功耗等方面有重要影响,是计算机体系结构中的关键组成部分。

ALU符号

 2.寄存器(Register)

寄存器(Register)是计算机内部用来存储临时数据和指令的一种存储器件。在CPU中,寄存器扮演着非常重要的角色,主要用于存储指令执行过程中需要的数据、地址和控制信息。

CPU的寄存器访问速度比内存快很多,存储空间也比内存小很多,成本也高很多。

3.指令(Instruction)

指令(Instruction)是计算机中用于执行特定操作的基本命令。计算机通过执行一条条指令来完成各种任务,指令是计算机程序的基本单元,由操作码(Opcode)和操作数(Operand)组成。

指令可以包括各种操作,如数据传输、算术运算、逻辑运算、跳转、分支等。每条指令都对应着计算机中的一些硬件操作,例如将数据从一个地方移到另一个地方、对数据进行加减乘除等运算、进行条件判断和跳转等。

指令的执行是由CPU中的控制单元负责的,控制单元会按照程序的顺序逐条读取指令,并将其解码和执行。在执行指令时,CPU会根据指令的操作码确定执行的操作类型,操作数则提供操作所需的数据。

简化指令表

指令  

 功能    opcode  操作的地址或寄存器

 LOAD_A 

从RAM(内存)的指定地址,将数据加载到寄存器A中   0010   RAM地址(4bit)
LOAD_B   从RAM(内存)的指定地址,将数据加载到寄存器B中   0001   RAM地址(4bit)
STORE_A  将数据从寄存器A中写入指定地址中      0100  RAM地址(4bit)
ADD    计算两个寄存器数据的和,并将结果放在第二个寄存器中   1000 

   2位寄存器ID

   2位寄存器ID

四 、编程语言

编程语言是一种用于编写计算机程序的形式化语言。它定义了一套语法规则和符号,用于编写代码以表达计算机程序的逻辑和算法。编程语言通过编译器或解释器将程序代码转换为机器能够执行的指令,从而实现程序的功能。

编程语言分为三类:

  1. 机器语言:计算机能直接理解和执行的二进制代码
  2. 汇编语言:使用助记符号来表示机器指令
  3. 高级语言:高级语言可以分为编译型语言和解释型语言。编译型语言在程序执行前需要将代码编译成机器码,例如C、C++;解释型语言则在运行时逐行解释执行代码,例如Python、JavaScript。

五、操作系统

操作系统是一种管理计算机硬件和软件资源的系统软件。它提供了用户与计算机硬件交互的界面,同时负责调度系统资源、管理文件系统、控制输入输出及网络通信等功能。操作系统的主要目的是使计算机系统能够高效、稳定地运行各种应用程序。

目前常见的操作系统有:Windows系列、Unix系列、Linux系列、OSX系列、Android系列、iOS系列、鸿蒙等。

六、进程

在计算机科学中,进程(Process)是指计算机中运行的程序的实例。进程是操作系统中分配资源的基本单位,每个进程都有自己独立的内存空间、代码、数据和系统资源,包括文件、网络连接等。进程之间是相互独立的,它们不能直接访问其他进程的数据,需要通过操作系统提供的IPC(进程间通信)机制来进行通信。

进程有以下特点:

  1. 独立性:每个进程有独立的内存空间,不受其他进程影响。

  2. 并发性:操作系统能够在多个进程之间进行快速的切换,实现并发执行。

  3. 动态性:进程的创建和销毁都是动态的,进程可以根据需要动态生成或销毁。

  4. 资源分配:操作系统为每个进程分配系统资源,如内存、CPU时间等。

在操作系统中,进程的管理包括进程的创建、调度、终止和通信等功能。进程的调度是操作系统根据一定的调度算法决定何时将CPU分配给哪个进程执行,以实现多个进程的并发执行。进程通信是指不同进程之间进行数据交换和共享信息,常见的进程通信方式包括管道、信号、消息队列、共享内存等。

进程是操作系统中重要的概念,它为多任务处理、资源管理和系统性能提供了基础。理解进程的基本原理和管理机制对于操作系统的设计和开发非常关键。

1.进程控制块(PCB)

进程控制块(Process Control Block,PCB)是操作系统中用于管理和控制进程的核心数据结构,是操作系统为每个进程维护的信息块。PCB包含了操作系统对进程进行管理和调度所需的所有信息,是操作系统了解和控制进程状态的重要数据结构。PCB的抽象描述了操作系统对进程的控制和管理方式。

PCB通常包含以下信息:

  1. 进程标识符(Process ID):唯一标识一个进程的数字或字符串。

  2. 程序计数器(Program Counter):存储当前指令的地址,用于指示下一条要执行的指令。

  3. 寄存器集合:存储进程的寄存器状态,包括通用寄存器、指令指针等。

  4. 进程状态(Process State):表示进程当前的状态,如运行、就绪、阻塞等。

  5. 调度信息:包括进程的优先级、运行时间、等待时间等信息,用于调度算法的选择。

  6. 进程控制信息:包括进程的父进程ID、子进程ID等关联信息。

  7. 进程间通信信息:用于进程间通信的信息,如消息队列、信号等。

  8. 资源占用信息:记录进程所占用的资源情况,如内存地址空间、打开的文件描述符等。

PCB的抽象实现了操作系统对进程的管理和控制,当操作系统需要管理进程时,会根据PCB中的信息进行相应的操作,如进程的创建、销毁、切换和调度等。PCB的存在使操作系统能够有效地管理多个进程,实现进程的并发执行和资源分配。

总的来说,进程控制块的抽象描述了操作系统对进程进行管理和控制的方式,是操作系统中重要的数据结构之一。

2.进程调度

进程调度是操作系统内核中的一个重要功能,用于决定在多个就绪态进程中选择哪个进程获得CPU的执行权限。进程调度的目标是合理地分配CPU时间片和其他系统资源,以提高系统的效率、公平性和响应性。​​​​

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

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

相关文章

电源测试系统有哪些可以利用AI工具的科技??

AI技术的发展对电源模块测试系统的影响是深远的,不仅协助系统提升了测试效率和精度,还推动了测试方法的创新和智能化。那么在电源测试系统中哪些模块可以利用AI工具实现自动化测试? 1. 自动化测试与效率提升 智能测试流程优化 AI算法可以自动优化测试…

React 之 Redux 第二十八节 学习目标与规划大纲及概要讲述

接下来 开始Redux 全面详细的文档输出,主要基于一下几个方面,欢迎大家补充指正 一、Redux 基础概念 为什么需要 Redux? 前端状态管理的挑战(组件间通信、状态共享) Redux 解决的问题:集中式、可预测的状态…

通过多线程同时获取H264和H265码流

目录 一.RV1126 VI采集摄像头数据并同时编码H264、H265的大概流程​编辑​编辑 1.1初始化VI模块: 1.2H264、H265的VENC模块初始化: 1.3VI分别绑定H264的VENC层和H265的VENC层: ​​​​​​​1.4开启H264线程采集H264的VENC数据&#xff…

unity lua属性绑定刷新

我们现在有一个 角色属性类叫heroModel,内容如下,当heroModel中的等级发生变化的时候,我们需要刷新界面显示等级信息,通常我们是在收到等级升级成功的协议的时候,发送一个事件,UI界面接受到这个事件的时候,刷新一下等级…

vscode+vue前端开发环境配置

目录 一、安装Vue二、使用vue新建项目 一、安装Vue 在node.js安装好之后, npm config set registry https://registry.npmmirror.com# 安装vue相关工具,webpack用来项目构建、打包、资源整合等。 npm install webpack -g# 安装vue-cli脚手架 npm insta…

《白帽子讲 Web 安全》之文件操作安全

目录 引言 (一)文件上传与下载漏洞概述 1.文件上传的常见安全隐患 1.1前端校验的脆弱性与服务端脚本执行危机在文件上传流程中,部分开发者可能会在前端使用 JavaScript 代码对文件后缀名进行简单校验,试图以此阻止非法文件上传…

vector习题

完数和盈数 题目 完数VS盈数_牛客题霸_牛客网 一个数如果恰好等于它的各因子(该数本身除外)之和,如:6321。则称其为“完数”;若因子之和大于该数,则称其为“盈数”。 求出2到60之间所有“完数”和“盈数”。 输入描述&#xff…

cesium+vue3自定义HTML实体弹窗、加高德路网、防实体漂浮、让用户画圆、鹰眼

一、基础使用:Cesium.js基础使用(vue)-CSDN博客 1、基础路径 为 Cesium 库设置一个全局变量 CESIUM_BASE_URL,用于指定 Cesium 的资源文件(如 WebGL shaders、纹理、字体等)的 示例场景:假设你…

安全运营的“黄金4小时“:如何突破告警疲劳困局

在当今复杂多变的网络安全环境中,安全团队面临着前所未有的挑战。尤其是面对高级持续性威胁(APT)时,最初的“黄金4小时”成为决定成败的关键窗口。在这段时间内,快速而准确地响应可以极大地降低损失,然而&a…

HTML AI 编程助手

HTML AI 编程助手 引言 随着人工智能技术的飞速发展,编程领域也迎来了新的变革。HTML,作为网页制作的基础语言,与AI技术的结合,为开发者带来了前所未有的便利。本文将探讨HTML AI编程助手的功能、应用场景以及如何利用它提高编程…

Oracle 数据库基础入门(五):限制查询与范式三约定深度解析

在 Oracle 数据库的学习进程中,限制查询与范式三约定是两个极为重要的概念。限制查询帮助我们精准获取特定范围的数据,而范式三约定则为数据库设计提供了科学的指导框架。对于 Java 全栈开发者而言,掌握这些知识不仅有助于高效地从数据库中提…

[BUUCTF]web--wp(持续更新中)

ps:文章所引用知识点链接,如有侵权,请联系删除 [极客大挑战 2019]EasySQL 题目类型:简单SQL注入 发现是登录页面,用万能登录方法测试,两种语句均能解出flag [极客大挑战 2019]Havefun 题目类型:代码审计…

MySQL数据库的数据类型

1.设置MySQL服务器的默认储存引擎 set default_storage_engineMYISAM2. 数值类型 整数类型 TINYINT:1字节,范围:-128~127(有符号),0~255(无符号)。适用于状态码、布尔值&#xff08…

探秘基带算法:从原理到5G时代的通信变革【四】Polar 编解码(二)

文章目录 2.3.3 极化编码巴氏参数与信道可靠性比特混合生成矩阵编码举例 2.3.4 极化译码最小单元译码串行抵消译码(SC译码)算法SCL译码算法 2.3.5 总结**Polar 码的优势****Polar 码的主要问题****Polar 码的应用前景** 2.3.6 **参考文档** 本博客为系列…

迁移过程中,hive元数据字段校对

有时候在迁移过程中,源端字段可能被修改了,这些都存储在元数据库里,通常我们一般配置的hive元数据库都是mysql。所以我们最快的速度查出结果,就是在mysql里查。 然后对比2端表的md5就可以找到哪个表有问题了,再针对这…

计算机基础面试(数据结构)

1. 数组和链表的区别是什么?各自的优缺点是什么? 专业解答: 数组内存连续,支持随机访问,但插入删除效率低;链表内存离散,插入删除高效,但访问需遍历。 初中生版: 数组像…

DeepSeek vs Grok vs ChatGPT:大模型三强争霸,谁将引领AI未来?

DeepSeek vs. Grok vs. ChatGPT:大模型三强争霸,谁将引领AI未来? 在人工智能领域,生成式模型的竞争已进入白热化阶段。DeepSeek、Grok和ChatGPT作为三大代表性工具,凭借独特的技术路径和应用优势,正在重塑…

解决寻找两个正序数组中位数问题:C语言实现与解析

在算法学习和实际编程应用中,处理数组相关的问题是很常见的。其中,寻找两个正序数组的中位数就是一个经典的题目,不仅考验对数组操作的熟悉程度,还涉及到对算法效率的考量。今天,我们就来深入探讨如何使用C语言解决这一…

【二分答案 C/C++】洛谷P1182 数列分段 Section II

2025 - 03 - 02 - 第 66 篇 Author: 郑龙浩 / 仟濹 【二分搜索/二分答案】 文章目录 洛谷P1182 数列分段 Section II题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1 说明/提示思路1 每段和的最大值最小 什么意思??2 大体思路代码 洛谷P1182 数…

vue3项目中使用Arco Design的Table表格组件expandable展开行属性结合h()函数生成表格嵌套表格效果

文章目录 需求实现方式方式一方式二 操作父元素时默认收起当前展开行 需求 vue3项目中使用Arco Design - Table结合 vue3-h()函数实现表格嵌套表格的效果 实现方式 方式一 1、给Table组件设置表格的“展开行配置”参数&#xff1a;expandable <a-table :expandable&quo…