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,中央处理器)的基本工作原理可以概括为以下几个步骤:
-
读取指令(Instruction Fetch):CPU从内存中读取下一条指令,这个过程通常包括将指令的地址加载到指令寄存器中。
-
解析指令(Instruction Decode):CPU解析指令的操作码和操作数,并确定执行该指令需要的操作。
-
执行指令(Instruction Execute):根据解码后的指令内容,CPU执行对应的操作,可能涉及算术运算、逻辑运算、内存访问等。
-
写回结果(Write Back):将执行指令后的结果写回到相应的寄存器或内存中。
在这些基本步骤中,CPU内部包含多个寄存器、运算器和控制器等部件,通过时钟信号来同步各个部件的工作。CPU根据指令集架构(ISA,Instruction Set Architecture)定义的指令集执行相应的操作,实现对数据的处理和控制。整个过程是高度复杂且高效的,CPU内部的微指令控制了各个部件的工作流程,从而实现了计算机的正常运行。
衡量CPU好坏的重要指标:
1.CPU频率(正相关)
基频/ 默频:
睿频/ 加速频率:
2.CPU核心数(正相关)
1. 算术逻辑单元ALU
算术逻辑单元(Arithmetic Logic Unit,ALU)是计算机中的一个核心组件,用于执行基本的算术运算(如加法、减法、乘法、除法)和逻辑运算(如与、或、非、异或等)。ALU通常是CPU中的一个子模块,负责处理各种运算操作,是计算机实现数据处理和逻辑判断的关键部分。
ALU通常包括以下功能和特点:
-
算术运算功能:ALU能够执行各种算术运算,如加法、减法、乘法和除法。这些运算操作是基本的数据处理操作,用于对数字进行加减乘除等操作。
-
逻辑运算功能:除了算术运算,ALU还支持逻辑运算,如与、或、非、异或等逻辑操作。这些运算用于进行数据比较、逻辑运算和控制流程。
-
位操作:ALU能够对数据进行位级的操作,如移位、旋转等。这些操作对于处理位级数据非常重要,如编码解码、位操作等。
-
状态标志位:ALU通常会生成一些状态标志位,如零标志、进位标志、溢出标志等,用于指示运算结果的状态,方便程序在之后进行条件判断或跳转。
-
并行处理:现代计算机中的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
四 、编程语言
编程语言是一种用于编写计算机程序的形式化语言。它定义了一套语法规则和符号,用于编写代码以表达计算机程序的逻辑和算法。编程语言通过编译器或解释器将程序代码转换为机器能够执行的指令,从而实现程序的功能。
编程语言分为三类:
- 机器语言:计算机能直接理解和执行的二进制代码
- 汇编语言:使用助记符号来表示机器指令
- 高级语言:高级语言可以分为编译型语言和解释型语言。编译型语言在程序执行前需要将代码编译成机器码,例如C、C++;解释型语言则在运行时逐行解释执行代码,例如Python、JavaScript。
五、操作系统
操作系统是一种管理计算机硬件和软件资源的系统软件。它提供了用户与计算机硬件交互的界面,同时负责调度系统资源、管理文件系统、控制输入输出及网络通信等功能。操作系统的主要目的是使计算机系统能够高效、稳定地运行各种应用程序。
六、进程
在计算机科学中,进程(Process)是指计算机中运行的程序的实例。进程是操作系统中分配资源的基本单位,每个进程都有自己独立的内存空间、代码、数据和系统资源,包括文件、网络连接等。进程之间是相互独立的,它们不能直接访问其他进程的数据,需要通过操作系统提供的IPC(进程间通信)机制来进行通信。
进程有以下特点:
-
独立性:每个进程有独立的内存空间,不受其他进程影响。
-
并发性:操作系统能够在多个进程之间进行快速的切换,实现并发执行。
-
动态性:进程的创建和销毁都是动态的,进程可以根据需要动态生成或销毁。
-
资源分配:操作系统为每个进程分配系统资源,如内存、CPU时间等。
在操作系统中,进程的管理包括进程的创建、调度、终止和通信等功能。进程的调度是操作系统根据一定的调度算法决定何时将CPU分配给哪个进程执行,以实现多个进程的并发执行。进程通信是指不同进程之间进行数据交换和共享信息,常见的进程通信方式包括管道、信号、消息队列、共享内存等。
进程是操作系统中重要的概念,它为多任务处理、资源管理和系统性能提供了基础。理解进程的基本原理和管理机制对于操作系统的设计和开发非常关键。
1.进程控制块(PCB)
进程控制块(Process Control Block,PCB)是操作系统中用于管理和控制进程的核心数据结构,是操作系统为每个进程维护的信息块。PCB包含了操作系统对进程进行管理和调度所需的所有信息,是操作系统了解和控制进程状态的重要数据结构。PCB的抽象描述了操作系统对进程的控制和管理方式。
PCB通常包含以下信息:
-
进程标识符(Process ID):唯一标识一个进程的数字或字符串。
-
程序计数器(Program Counter):存储当前指令的地址,用于指示下一条要执行的指令。
-
寄存器集合:存储进程的寄存器状态,包括通用寄存器、指令指针等。
-
进程状态(Process State):表示进程当前的状态,如运行、就绪、阻塞等。
-
调度信息:包括进程的优先级、运行时间、等待时间等信息,用于调度算法的选择。
-
进程控制信息:包括进程的父进程ID、子进程ID等关联信息。
-
进程间通信信息:用于进程间通信的信息,如消息队列、信号等。
-
资源占用信息:记录进程所占用的资源情况,如内存地址空间、打开的文件描述符等。
PCB的抽象实现了操作系统对进程的管理和控制,当操作系统需要管理进程时,会根据PCB中的信息进行相应的操作,如进程的创建、销毁、切换和调度等。PCB的存在使操作系统能够有效地管理多个进程,实现进程的并发执行和资源分配。
总的来说,进程控制块的抽象描述了操作系统对进程进行管理和控制的方式,是操作系统中重要的数据结构之一。
2.进程调度
进程调度是操作系统内核中的一个重要功能,用于决定在多个就绪态进程中选择哪个进程获得CPU的执行权限。进程调度的目标是合理地分配CPU时间片和其他系统资源,以提高系统的效率、公平性和响应性。
相关文章:

JavaEE--计算机是如何工作的
一、一台计算机的组成部分 1.CPU(中央处理器) 2.主板(一个大插座) 3.内存(存储数据的主要模板) 4.硬盘(存储数据的主要模板) 内存和硬盘对比: 内存硬盘读写速度快慢存…...
API接口:企业名称、注册号、统一社会信用代码、企业类型、成立日期和法定代表人等数据 API 接口使用指南
API接口:企业名称、注册号、统一社会信用代码、企业类型、成立日期和法定代表人等数据 API 接口使用指南 本文详细介绍一种基于 Web 搜索方式实现的企业信息查询接口,适用于数据补全、企业资质验证、信息查询等场景。文章内容涵盖接口功能、请求参数、返…...

微信小程序text组件decode属性的小问题
今天学习微信小程序的text组件,这个组件类似于网页制作中的span标签,内联文本只能用 text 组件,不能用 view,如 foo bar </text。 text组件常用属性如下表: 属性说明user-select文本是否可选,该属性会使…...

【计算机网络入门】初学计算机网络(九)
目录 1.令牌传递协议 2. 局域网&IEEE802 2.1 局域网基本概念和体系结构 3. 以太网&IEEE802.3 3.1 MAC层标准 3.1.1 以太网V2标准 编辑 3.2 单播广播 3.3 冲突域广播域 4. 虚拟局域网VLAN 1.令牌传递协议 先回顾一下令牌环网技术,多个主机形成…...
LeetCode 974:和可被 K 整除的子数组
974. 和可被 K 整除的子数组 - 力扣(LeetCode) 给定一个整数数组 nums 和一个整数 k ,返回其中元素之和可被 k 整除的非空 子数组 的数目。 子数组 是数组中 连续 的部分。 示例 1: 输入:nums [4,5,0,-2,-3,1], k …...

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

001-码云操作
码云操作 一、配置公钥1.官网地址1.进入 git bash2.查看生成的公钥3.设置到 Gitee4.测试 二、初始化一个项目1.新建仓库 一、配置公钥 方便后续提交代码不用填写密码 1.官网地址 官网地址:https://gitee.com/Git码云教程:https://gitee.com/help/arti…...

数据结构:二叉搜索树(排序树)
1.二叉搜索树的定义 二叉搜索树要么是空树,要么是满足以下特性的树 (1)左子树不为空,那么左子树左右节点的值都小于根节点的值 (2)右子树不为空,那么右子树左右节点的值都大于根节点的值 &#…...

【愚公系列】《Python网络爬虫从入门到精通》036-DataFrame日期数据处理
标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…...
C++(蓝桥杯常考点)
前言:这个是针对于蓝桥杯竞赛常考的C内容,容器这些等下棋期再讲 C 在DEVC中注释和取消注释的方法:ctrl/ ASCII值(常用的): A-Z:65-90 a-z:97-122 0-9:48-57 换行/n:10科学计数法:eg:…...

支付宝 IoT 设备入门宝典(下)设备经营篇
上篇介绍了支付宝 IoT 设备管理,但除了这些基础功能外,商户还可以利用设备进行一些运营动作,让设备更好的帮助自己,本篇就会以设备经营为中心,介绍常见的设备相关能力和问题解决方案。如果对上篇感兴趣,可以…...

蓝桥杯 之 填空题-位运算与循环
文章目录 循环握手问题门牌制作-循环小球反弹幸运数艺术与篮球跑步卡片 位运算3个1美丽的2024 位运算 可以关注这个Lowbit(x) 如何判断最低位是否是1? num&1 1就说明num最低位是1 循环 循环 握手问题 握手问题 思路分析: 可以直接计算出来&…...
iOS逆向工程概述与学习路线图
iOS逆向工程概述与学习路线图 欢迎各位加入我的iOS逆向工程专栏!在这个系列的第一篇文章中,我将为大家介绍iOS逆向工程的基本概念、应用场景以及完整的学习路线图,帮助大家建立清晰的学习框架。 什么是iOS逆向工程? 逆向工程&a…...

DeepSeek 助力 Vue3 开发:打造丝滑的时间选择器(Time Picker)
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 DeepSeek 助力 Vue3 开发:打造丝滑的时间选择器(Time Picker)📚前言📚页面效果📚指令输入…...

基于 Ingress-Nginx 实现 mTLS 双向认证
目录 背景描述: TLS 和 MTLS 之间的差异 通过自签名证书启用双向 TLS 1. 生成证书 (1) 生成 CA(根证书颁发机构) (2) 生成 CA(根证书颁发机构) (3) 生成客户端证书 2. 在 Kubernetes 中配置 mTLS &#x…...

学到什么记什么(25.3.3)
Upload-labs 今日重新做了一下文件上传漏洞,这里第一题之前采用直接抓包改后缀名.jpg为.php,再写入一句话<?php phpinfo();?>然后放行,得到图片地址(可复制),本来直接访问图片地址即可得到敏感信息…...

【子网掩码计算器:Python + Tkinter 实现】
子网掩码计算器:Python Tkinter 实现 引言代码功能概述代码实现思路1. 界面设计2. 功能实现3. 事件处理 子网掩码计算器实现步骤1. 导入必要的库2. 定义主窗口类 SubnetCalculatorApp3. 创建菜单栏4. 创建界面组件5. 判断 IP 地址类别6. 计算子网信息7. 其他功能函…...
《解锁HarmonyOS NEXT高阶玩法:艺术图像识别功能开发全攻略》
在当今数字化时代,AI技术不断拓展其应用边界,为各行业带来前所未有的变革。在艺术领域,AI图像识别技术能够帮助艺术从业者、爱好者快速识别艺术品风格、作者,甚至挖掘艺术品背后的历史文化信息。本文将结合HarmonyOS NEXT API 12及…...
Spring Boot的启动流程
Spring Boot 的启动流程是一个复杂且有序的过程: 创建SpringApplication实例 — 调用run方法 — 启动完成(发布应用启动事件,配置环境,创建ApplicationContext,准备ApplicationContext,刷新ApplicationContext[【创建B…...

【通俗讲解电子电路】——从零开始理解生活中的电路(三)
实际应用案例:生活中的电子电路 ——拆解你身边的“隐形工程师” 1. 手电筒电路:最简单的直流系统 电路组成 电源:2节1.5V电池(串联3V)。 开关:按钮控制回路通断。 LED:发光二极管ÿ…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...

【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...

2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...

给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
vue3 daterange正则踩坑
<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...