JavaEE初阶(1)(冯诺依曼体系、CPU、CPU基本原理、如何衡量CPU的好坏?指令、操作系统、操作系统“内核”)

目录

冯诺依曼体系(Von Neumann Architecture)

CPU

CPU基本原理:

如何衡量CPU的好坏?

1、主频(时钟速度):

2、核心数:

指令

操作系统

操作系统“内核”


冯诺依曼体系(Von Neumann Architecture)

冯·诺伊曼体系(Von Neumann Architecture),也称为存储程序计算机或冯·诺伊曼结构,是一种计算机架构和设计原则,于20世纪40年代由匈牙利数学家和计算机科学家约翰·冯·诺伊曼(John von Neumann)提出。这种体系结构成为了现代计算机体系结构的基础,它在计算机硬件和软件的设计中起到了关键作用。

一台计算机是如何组成的?

1. 中央处理器(CPU):
   - CPU 是冯·诺伊曼体系中的核心部分,负责执行计算机程序的指令。它包括算术逻辑单元(ALU)和控制单元(Control Unit)。
   - ALU 执行算术和逻辑运算,控制单元负责指令的解码和执行。

2. 存储器(Memory):
   - 存储器用于存储程序和数据。冯·诺伊曼体系中的存储器是统一的,即程序指令和数据都存储在同一内存中。
   - 存储器分为主存储器(RAM,Random Access Memory)和辅助存储器(通常是硬盘或固态硬盘),主存储器用于临时存储程序和数据,而辅助存储器用于长期存储和备份。具体来说:

  1. 内存(主存储器):内存是计算机中的主要临时存储设备,用于存储正在运行的程序和数据。它是冯·诺伊曼体系中的一部分,用于存储程序指令和处理数据。内存是非常快速的,但它是易失性存储器,意味着当计算机断电时,存储在内存中的数据会丢失。

  2. 外存储器(辅助存储器):外存储器用于长期存储数据和程序,通常包括硬盘驱动器、固态硬盘、光盘、闪存驱动器等。外存储器的特点是容量大且数据持久存储,即使计算机断电,数据也不会丢失。然而,与内存相比,外存储器的访问速度较慢。

  3. 由此,我们可以对内存和外存进行比较:

    内存速度快空间小成本高掉电后数据丢失
    外存速度慢空间大成本低 掉电后数据步不丢失

3. 控制单元(Control Unit):
   - 控制单元负责解释和执行存储在内存中的程序指令。它从主存储器中获取指令,解码指令并发出相应的操作,控制CPU的操作。
   - 控制单元还负责协调CPU、存储器和输入/输出设备之间的数据传输。

4. 输入/输出设备(I/O Devices):
   - 输入/输出设备允许计算机与外部世界交互,包括键盘、显示器、鼠标、打印机、硬盘驱动器等。
   - 这些设备通过输入和输出端口与计算机连接,允许数据的输入和输出。

5. 系统总线(System Bus):
   - 系统总线是连接CPU、存储器和输入/输出设备的通信通道。它传输数据、地址和控制信号。
   - 系统总线通常分为数据总线、地址总线和控制总线。

特点和工作原理:

  • 冯·诺伊曼体系的关键特点是程序存储和数据存储的统一性。程序指令和数据都以二进制形式存储在内存中,CPU能够根据需要将程序指令加载到控制单元,执行程序,并将结果存储回内存。
  • 冯·诺伊曼体系支持存储程序的概念,这意味着计算机可以存储和执行不同的程序,而不仅仅是硬连线的功能。
  • CPU通过不断循环的取指令、解码指令、执行指令的过程来执行程序。这个过程被称为 "冯·诺伊曼周期"。
  • 冯·诺伊曼体系的设计具有通用性和灵活性,因此它支持各种类型的应用程序和计算任务。
  • 冯·诺伊曼体系的设计启发了计算机科学的发展,包括计算机硬件和软件的设计、编程语言的发展等。

冯·诺伊曼体系是一种经典的计算机体系结构,它是现代计算机体系结构的基础,并且在计算机科学和工程中具有广泛的应用。这个体系结构的灵活性和通用性使其成为处理各种计算任务的理想选择。

CPU

CPU基本原理:

微处理器:CPU通常由一个或多个微处理器芯片组成,每个芯片包含一些逻辑单元,如算术逻辑单元(ALU)和控制单元,以及缓存存储器。

关于这里,我们可以拓展一些很有意思的知识~

CPU通过大规模量产来降低成本,它升级换代的速度非常快每一代CPU出来,技术提升都蛮大的,这就又使得旧版本的CPU价格大幅度降低。Intel 目前应该到第13代了,AMD 也到7000系列。

不同的CPU型号和系列可以在性能、功耗、价格等方面有所不同。市面上最主要的CPU应该

是Intel和AMD的系列。

Intel CPU系列:

我们经常会听到“我的CPU是 i5 的”这种话,这是怎么来的?Intel 的CPU给服务器使用的叫“志强”,家用的叫“酷睿”,给嵌入式低功耗设备使用的叫“赛扬”……

家用的“酷睿”是分代数,目前最新的是13代,这里面又分不同的产品,就是我们的“ i3 ”、“ i5 ”等。

  1. Intel Core i3

    • Intel Core i3系列通常是入门级CPU,适用于一般办公和基本计算任务。
    • 它通常具有双核或四核设计,相对较低的时钟速度和较小的缓存。
    • 适合轻度多任务和基本游戏。
  2. Intel Core i5

    • Intel Core i5系列是中端CPU,具有更好的性能和多任务处理能力。
    • 它通常具有四核或六核设计,较高的时钟速度和更大的缓存。
    • 适合一般多任务、娱乐和一些轻度内容创作。
  3. Intel Core i7

    • Intel Core i7系列是高端CPU,具有出色的性能和多核处理能力。
    • 它通常具有六核或更多核心,更高的时钟速度和更大的缓存。
    • 适合专业的内容创作、游戏和多任务处理。
  4. Intel Core i9

    • Intel Core i9系列是顶级CPU,具有最强大的性能和多核处理能力。
    • 它通常具有八核或更多核心,非常高的时钟速度和大缓存。
    • 适合专业级内容创作、游戏和高度计算密集型任务。

但是13代的 i5 性能一般来说是大于12代的 i7 的。所以关键是代数。

AMD CPU系列:包括家用的锐龙和服务器用的霄龙

  1. AMD Ryzen 3

    • AMD Ryzen 3系列类似于Intel Core i3,适用于入门级用户和基本计算任务。
    • 通常具有四核设计,适合日常办公和轻度多任务处理。
  2. AMD Ryzen 5

    • AMD Ryzen 5系列类似于Intel Core i5,适用于中端用户和一般计算任务。
    • 通常具有四核或六核设计,具有良好的性能和多任务处理能力。
  3. AMD Ryzen 7

    • AMD Ryzen 7系列类似于Intel Core i7,适用于高端用户和多任务处理。
    • 通常具有六核或八核设计,具有强大的性能和多核能力。
  4. AMD Ryzen 9

    • AMD Ryzen 9系列类似于Intel Core i9,适用于专业级用户和高度计算密集型任务。
    • 通常具有八核或更多核心,非常强大的性能和多核处理能力。

以上CPU价格差别会很大,这是因为CPU的加工涉及到“良品率”的概念:

CPU芯片内部包含大量的晶体管和其他微观结构,这些结构必须精确制造。制造过程非常复杂,包括多个工艺步骤,如光刻、离子注入、蚀刻等。CPU内部非常精密的结构中存在大量的计算单元。每个计算单元的体积都极小,给加工制造(光刻机)带来非常大的困难。任何一个步骤出现问题都可能导致芯片的缺陷。所以制造的CPU上的计算单元不可能全都是好的。在某些情况下,芯片上的计算单元可能存在缺陷,但其他部分仍然正常工作,此时,制造商可以通过屏蔽掉缺陷的计算单元来使芯片仍然可用,这就是一些CPU在同一系列中性能不同的原因之一。

由于制造过程中可能存在不同程度的缺陷,CPU制造商会对芯片进行测试和分类。根据测试结果,芯片可以被分为不同的等级或系列。通常,高端系列(如Intel的i7和i9)包括更多的良品,而低端系列(如i3)可能包括较少的良品。

Intel 的联合创始人兼副总裁、半导体工业先驱戈登·摩尔(Gordon Moore)于1965年提出了一条细思极恐的定律——“摩尔定律(Moore's Law)”,这一定律预言了半导体技术的发展趋势。

具体来说,摩尔定律表明:

每隔约18至24个月,集成电路上可容纳的晶体管数量将翻一番,而价格将大致保持不变,性能也将提高。

简而言之,半导体器件(如CPU和内存芯片)的集成度每隔一段时间会翻倍,同时成本大致不变。这意味着芯片的性能将不断提高,而成本将相对稳定,这种趋势持续了几十年。

摩尔定律的重要性在于它推动了半导体工业的快速发展和技术进步。随着晶体管数量的增加,计算机性能也不断提升,这使得计算机变得更加强大、小型化和价格更加实惠。这对于

计算机科学和信息技术产业产生了深远的影响,推动了数字革命。

然而,随着时间的推移,摩尔定律所描述的晶体管数量的指数增长面临着物理限制和技术挑战(由此可见基础物理的重要性),因此在近年来,人们开始质疑摩尔定律是否仍然成立。尽管如此,摩尔定律仍然是计算机科学和半导体领域中的一个重要概念,它在过去几十年中塑造了整个行业,并推动了计算机技术的革命性进步。

指令集架构:CPU执行的指令集架构定义了CPU支持的指令集合,例如x86、ARM等。不同的架构具有不同的指令集和寻址方式。

时钟速度:CPU的时钟速度(也称为时钟频率)表示CPU每秒执行的时钟周期数。时钟速度通常以赫兹(Hz)为单位表示,例如1 GHz表示每秒执行10^9次时钟周期。

多核处理:现代CPU通常具有多个核心,每个核心都可以独立执行指令,从而提高了计算性能。多核处理器可以执行多个任务或线程,加快多任务处理。

如何衡量CPU的好坏?

我们这里最关注的指标有两方面:

1、主频(时钟速度):

主频是CPU时钟的频率,通常以赫兹(Hz)表示,如千兆赫兹(GHz)。

主频影响了CPU每秒钟执行时钟周期的数量,因此通常被认为是衡量CPU速度的指标之一。

更高的主频通常意味着更快的单核性能,适用于单线程任务和单核应用程序。

如图2.80GHz,这里你可以理解为这个CPU一秒钟可以执行28亿条指令。但是,现在的CPU主频都是在时刻改变的,它会根据当前任务的负载程度动态变化。打开我们的任务管理器:

这上面就提到当前的速度是2.70GHz,而且它还在不停的变化。我们把这个当前的频率叫做“睿频”,它也有上限,不同的CPU上限不一样,约好的CPU上限越高,甚至有的CPU还可以超频,也就是说给它更高的电压、更多的电,它就有更强的表现。 

2、核心数:

核心数表示CPU内部有多少个物理或逻辑核心,每个核心都可以独立执行指令。

多核CPU可以同时处理多个任务,因此在多任务处理和多线程应用程序中具有优势。

更多的核心通常意味着更好的多核性能,适用于并行处理任务,如视频编辑、科学计算、虚拟化等。但并不是所有应用程序都能够充分利用多核处理器,对于某些单线程或单任务应用,核心数的增加可能不会显著提高性能。

最开始CPU都是单个核心的(核心就可以理解成一个能完整计算功能的整体,是有很多的计算单元构成的)。在核心数还是单核心的时候,我们通过提高集成程度来提升CPU的速度。

随着时代的发展,随着集成程度的提高,我们发现进一步提高越发困难。因为你需要去再减小单个计算单元的体积,这势必就会增大工艺的难度。当体积小到一定的程度的时候,经典力学就失效了,我们来到量子力学的领域……所以就像《三体》里说的那样,基础物理限制了我们的工艺水平。

那这个时候怎么办?我们只好增加核心数量。

像我这台电脑就有4个内核。等等?后面的逻辑处理器是啥?

emmmm,我们可以这样理解,这台电脑的物理核心有4个,逻辑核心有8个。

简单来说,物理核心就是我们CPU上面焊上去的核心,逻辑核心则是利用了所谓的超线程技术,使物理核心一个顶俩~

像是13代的 Inter CPU有一个大小和技术,大核相当于两个核心,小核就是一个核心,大核和小核相互转换,在能耗和性能之间做一个均衡,以此提高移动设备和笔记本电脑的续航时间,并在需要时提供足够的性能。

大核心是针对高性能任务而设计的。它们通常具有更高的主频、更多的缓存和更多的计算资源,以处理计算密集型任务,如游戏、视频编辑和虚拟机操作等,小核心是针对低功耗和轻型任务而设计的。它们通常具有较低的主频和较少的计算资源,但非常省电。小核心通常用于处理日常任务,如浏览网页、观看视频、办公应用程序等。

CPU可以根据工作负载的要求动态切换大核心和小核心。当需要高性能时,大核心被激活,而在轻负荷或需要更低功耗时,小核心被激活。这种切换是透明的,用户通常无需干预。这样就节省了电量。消耗的电越多,发热量越大,所以很多笔记本都会用低压CPU来降低功耗来降低发热效果。

 这也就解释了为什么游戏本都是特别笨重的,因为它电源功率大,体积大,本体需要更大的散热空间。性能提高-->散热增加-->便携降低。

美国人对我们的芯片领域“卡脖子”主要卡的就是CPU,国内心啊在大力发展CPU,最新的已经能达到 Intel 10 代的水平了,相当于美国2020年的时候。

指令

指令(Instruction)是计算机中用于指导CPU执行操作的基本命令。每条指令都包含操作码(Opcode)和操作数(Operand)两个主要部分,用于告诉CPU要执行的操作以及操作的数据。

一个CPU设计的时候就会提供一些可以进行操作(支持哪些指令),比如加法指令、读取内存条指令、条件判定指令、函数调用指令等等。

指令是CPU上能够执行的任务的最小单元。这些最小单元都是由二进制的方式来表示的——机器语言。

以下是指令的主要组成部分:

1. 操作码(Opcode):
操作码是指令中的一部分,用于标识要执行的操作类型。操作码通常以二进制或十六进制编码表示,不同的操作码对应不同的指令,如加法、减法、乘法、除法等。
操作码告诉CPU要执行的具体操作,以及操作数的来源和目标。

2. 操作数(Operand):
操作数是指令中的另一部分,它包含要操作的数据或数据的地址。操作数可以是内存中的地址、寄存器的编号、立即数(常数)等。
操作数指定了指令要处理的数据,例如,在加法指令中,操作数可以是要相加的两个值的地址或寄存器编号。

指令通常以二进制形式存储在计算机的内存中,CPU会逐条从内存中读取指令并执行它们。指令集架构(Instruction Set Architecture,ISA)定义了特定计算机体系结构支持的指令集合,以及每个指令的操作码和操作数格式。

不同的计算机体系结构具有不同的指令集,例如x86体系结构、ARM体系结构等,它们的指令集和指令格式可能有所不同。也就是说,不同的CPU支持的指令/机器语言是不相同的。注意,这里的不同指的是架构不同!比如家用的计算机和服务器都基本用的 X86 系列(8086系列衍生出来的),手机(苹果M1/M2芯片、嵌入式设备)用的基本使 arm 系列,功耗低,性能也会略低。

编程人员使用汇编语言或高级编程语言来编写程序,这些程序被编译成特定计算机体系结构的机器码,包括操作码和操作数,以便CPU执行。

总之,指令是计算机中用于执行操作的基本命令,由操作码和操作数组成,用于告诉CPU如何进行计算和处理数据。不同的计算机体系结构支持不同的指令集,这些指令集定义了可用的指令和其操作方式。

操作系统

操作系统(Operating System,简称OS)是计算机系统中的关键软件组件,它负责管理和控制计算机的硬件资源,并为用户和应用程序提供一个统一的、友好的界面,以便进行操作和执行任务。

常见的操作系统有Windows 10、Windows 11、linux、mac os、android、ios等,这些操作系统本质上都是用来搞管理的软件:对下管理所有的硬件设备(硬件设备还需要同时提供一个驱动程序,方便操作系统完成对其的控制),对上要给软件提供稳定运行环境(进程的隔离性——一个计算机上可以同时运行多个程序,这些程序各自独立运行,不会相互干扰,否则如果某个程序出现bug,就直接导致系统重启后者其他程序也崩溃)。

操作系统的相关功能: 

  1. 硬件管理

    • 操作系统负责管理计算机的硬件资源,包括中央处理器(CPU)、内存、硬盘、输入输出设备(如键盘、鼠标、显示器)、网络接口等。
    • 它分配和调度CPU时间,确保多个程序可以共享计算资源,同时避免冲突和资源竞争。
  2. 文件系统管理

    • 操作系统提供文件系统,用于组织、存储和检索文件和数据。它负责文件的创建、删除、复制、移动、重命名和保护。
    • 文件系统管理还包括磁盘空间的分配和回收。
  3. 用户界面

    • 操作系统提供用户与计算机交互的界面。这可以是命令行界面(CLI),图形用户界面(GUI)或其他类型的界面。
    • 用户界面使用户能够运行程序、管理文件、配置系统设置等。
  4. 进程和任务管理

    • 操作系统管理运行在计算机上的进程和任务。它分配CPU时间片、处理进程间通信、维护进程状态信息等。
    • 操作系统确保多任务处理的有效性,允许多个程序同时运行。
  5. 安全性和权限管理

    • 操作系统负责确保计算机系统的安全性。它通过访问控制和身份验证来保护系统和数据不受未经授权的访问。
    • 操作系统为每个用户和程序分配权限,并监控其活动以检测和防止恶意行为。
  6. 设备驱动程序管理

    • 操作系统提供设备驱动程序,允许计算机与硬件设备进行通信。这包括键盘、鼠标、打印机、网络适配器等。
    • 设备驱动程序允许应用程序与硬件设备进行交互,而无需了解硬件的底层细节。
  7. 资源分配

    • 操作系统负责分配有限的资源,如CPU时间、内存和硬盘空间,以确保最高的系统性能和资源利用率。

操作系统“内核”

  1. 内核(Kernel):一个操作系统 = 内核 + 配套的应用程序

    • 内核是操作系统的核心组成部分,它是操作系统的主要执行引擎。内核负责管理和控制计算机的硬件资源,执行各种系统服务和操作。
    • 内核包括诸多关键组件,如进程管理、内存管理、文件系统管理、设备驱动程序、安全性管理等。它提供了一组API(应用程序接口),允许应用程序与硬件进行交互和利用操作系统的功能。
  2. 用户态(User Mode)

    • 用户态是指应用程序运行的环境。在用户态中,应用程序执行自己的代码,但不能直接访问或操作计算机的底层硬件资源。
    • 大多数应用程序在用户态下运行,包括办公软件、游戏、浏览器等。它们依赖操作系统的服务来执行文件操作、网络通信、图形显示等任务。
  3. 内核态(Kernel Mode)

    • 内核态是指操作系统内核运行的特权级别。在内核态下,操作系统可以直接访问和控制计算机的硬件资源,执行特权指令。
    • 内核态用于执行操作系统的核心功能,如设备驱动程序、中断处理、内存管理等。只有在内核态下,操作系统才具有足够的权限来执行这些任务。
  4. 操作系统的结构

    • 操作系统通常由内核和用户空间应用程序组成。内核位于操作系统的核心,负责管理硬件和提供系统服务。用户空间应用程序则是用户直接交互的程序,它们在用户态下运行,通过操作系统的API访问内核功能。

一个程序在运行过程中可能是在内核态工作,也可能是指用户态工作。

总之,内核是操作系统的核心部分,负责管理和控制计算机的硬件资源,为应用程序提供支持。用户态是应用程序运行的环境,而内核态是操作系统内核运行的特权级别,用于执行操作系统核心功能。操作系统的结构包括内核和用户空间应用程序,二者协同工作以提供完整的计算机系统功能。

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

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

相关文章

【启扬方案】启扬多尺寸安卓屏一体机,助力仓储物料管理系统智能化管理

随着企业供应链管理的不断发展,对仓储物料管理的要求日益提高。企业需要实时追踪和管理物料的流动,提高物流效率、降低库存成本和减少库存的风险。因此,仓储物料管理系统的实现成为必要的手段。 仓储物料管理系统一体机作为一种新型的物料管理…

Linux的基本使用和Web程序部署(JavaEE初阶系列18)

目录 前言: 1.Linux 1.1Linux是什么 1.2Linux发行版 1.3Linux环境搭建 1.3.1环境搭建方式 1.3.2使用云服务器 1.4使用终端软件连接到Linux 1.4.1什么是终端软件 1.4.2使用Xshell登录主机 1.5Linux常用的命令 1.5.1ls 1.5.2cd 1.5.3pwd 1.5.4touch 1.…

CMU15445 fall 2022/spring 2023 项目环境搭建+选择合适的版本

前言 CMU15445是一门关于数据库管理系统(DBMS)的设计和实现的优秀课程。由数据库领域大佬Andy主讲,同时还有迟策大佬所设计和维护的BusTub,其名声在外之处更是有着极高质量的作业(HOMEWORKS)和项目&#x…

Java之Collection集合的详细解析

1.Collection集合 1.1数组和集合的区别【理解】 相同点 都是容器,可以存储多个数据 不同点 数组的长度是不可变的,集合的长度是可变的 数组可以存基本数据类型和引用数据类型 集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类 1.2集合类体系结构【理解】 …

uniapp打包微信小程序。报错:https://api.weixin.qq.com 不在以下 request 合法域名列表

场景:在进行打包上传测试时,发现登录失效,但在测试中【勾选不效应合法域名】就可以。 出现原因:我在获取到用户code后,直接使用调用官方接口换取openid 解决方案: 可以把code带给后端,让他们返…

Linux命令200例:man用于显示和阅读关于Linux内置命令的使用说明

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师&#xff0…

WordPress(5)在主题中添加文章字数和预计阅读时间

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 样式图一、添加位置二、找到主题文件样式图 提示:以下是本篇文章正文内容,下面案例可供参考 一、添加位置 二、找到主题文件 在主题目录下functions.php文件把下面的代码添加进去: // 文章字数…

Java jvm 内存溢出分析

1.如何分析jvm内存溢出呢 我们经常用visualVm监控Jvm的内存,cpu,线程的使用情况,通常可以根据内存不断增长来判断内存是否存在不释放。但是我们不可能时时盯着去看,这里涉及jvm堆内存配置,堆内存参数配置和调优会在其…

鼠标右键使用VSCode打开文件或文件夹配置

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

英诺森 “供应链智能数据平台”荣获“科技进步奖”

近日,2023年中国物流与采购联合会科学技术奖正式公布,该奖项经国家科技部批准,在国家科学技术奖励工作办公室登记备案,是我国物流行业最具影响力的奖项之一。 英诺森联合客户申报的科技项目“英诺森供应链智能数据平台”&#xf…

Qt day2

目录 1.多态,虚函数,纯虚函数 1.多态性(Polymorphism): 2.虚函数(Virtual Function): 3.纯虚函数(Pure Virtual Function): 将引用作为函数参…

leetcode 205. 同构字符串

2023.9.6 本题维护两个映射表map&#xff0c;若发现无法对应则返回false。 代码如下&#xff1a; class Solution { public:bool isIsomorphic(string s, string t) {unordered_map<char,char> m1;unordered_map<char,char> m2;for(int i0; i<s.size(); i){//相…

Matlab进阶绘图第27期—水平双向堆叠图

在上一期文章中&#xff0c;分享了Matlab双向堆叠图的绘制方法&#xff1a; 进一步&#xff0c;再来看一下水平双向堆叠图的绘制方法&#xff08;由于Matlab中未收录水平双向堆叠图的绘制函数&#xff0c;因此需要大家自行设法解决&#xff09;。 先来看一下成品效果&#xff…

CPU 伪共享是如何发生的?又该如何避免?

CPU 如何读写数据的&#xff1f; 先来认识一下 CPU 的架构 一个 CPU 里通常会有多个 CPU 核心&#xff0c;并且每个 CPU 核心都有自己的 L1 Cache 和 L2 Cache&#xff0c;而 L1 Cache 通常分为&#xff08;数据缓存&#xff09;和&#xff08;指令缓存&#xff09;&#xff0…

【Apollo学习笔记】——规划模块TASK之PIECEWISE_JERK_NONLINEAR_SPEED_OPTIMIZER(二)

文章目录 TASK系列解析文章OptimizeByNLP1.get_nlp_info()定义问题规模2.get_bounds_info()定义约束边界约束3.get_starting_point()定义初值4.eval_f()求解目标函数5.eval_grad_f()求解梯度6.eval_g()求解约束函数7.eval_jac_g()求解约束雅可比矩阵8.eval_h()求解黑塞矩阵9. f…

2023数模A题——定日镜场的优化问题

A题——定日镜场的优化问题 思路&#xff1a;该题主要考察的几何知识和天文学知识&#xff0c;需要不同角度下的镜面和遮挡情况。 资料获取 问题1&#xff1a; 若将吸收塔建于该圆形定日镜场中心&#xff0c;定日镜尺寸均为 6 m6 m&#xff0c;安装高度均为 4 m&#xff0c;且…

多目标应用:基于多目标哈里斯鹰优化算法(MOHHO)的微电网多目标优化调度研究MATLAB

一、微网系统运行优化模型 参考文献&#xff1a; [1]李兴莘,张靖,何宇,等.基于改进粒子群算法的微电网多目标优化调度[J].电力科学与工程, 2021, 37(3):7 二、多目标哈里斯鹰优化算法MOHHO 多目标哈里斯鹰优化算法&#xff08;Multi-Objective Harris Hawks Optimizer&#…

day-41 代码随想录算法训练营(19)动态规划 part 03

343.整数拆分 思路&#xff1a; 1.dp存储的是第i个数&#xff0c;拆分之后最大乘积2.dp[i]max(dp[i],max(j*(i-j),j*dp[i-j]));3.初始化&#xff1a;dp[0]dp[1]0,dp[2]1;4.遍历顺序&#xff1a;外层循环 3-n&#xff0c;内层循环 1-i 2.涉及两次取max&#xff1a; dp[i] 表…

【C语言】错题本(2)

题目: 将题目代码粘贴在下面便于分析: #define MAX_SIZE AB struct _Record_Struct {unsigned char Env_Alarm_ID : 4;unsigned char Para1 : 2;unsigned char state;unsigned char avail : 1;}*Env_Alarm_Record;struct _Record_Struct *pointer (struct _Record_Struct*)m…

0基础学习VR全景平台篇 第95篇:VR实景智慧导航操作手册

一、实景导航前期准备工作及点位采集 &#xff08;一&#xff09;实景导航前期准备工作 &#xff08;1&#xff09;拍摄设备 1.推荐相机&#xff1a;全画幅的佳能 Canon EOS​ 5D Mark IV 2.搭配镜头&#xff1a;原厂的佳能 Canon EF卡口 8-15mm 全画幅鱼眼镜头 3.三角架 …