计算机组成原理的学习笔记(9)-- CPU·其一 CPU的基本概念/流水线技术/数据通路
学习笔记
前言
本文主要是对于b站尚硅谷的计算机组成原理的学习笔记,仅用于学习交流。
CPU(中央处理器)
1. 组成
-
定义:计算机的核心部件,负责执行指令和处理数据。
-
组成部分:
-
核心:多个处理单元,提升多任务处理能力。
-
控制单元(CU):解码指令并协调各组件运作。
-
算术逻辑单元(ALU):执行算术和逻辑运算。
-
寄存器:临时存储器,用于存放数据和指令。
-
缓存(Cache):提高数据访问速度,减少对主存的访问。包括L1、L2、L3缓存。
-
总线接口单元:负责与外部设备或内存交换数据。
-
2. 时钟周期
-
定义:计算机内部时钟信号完成一次周期所需的时间。
-
频率:时钟频率以赫兹(Hz)为单位,表示每秒电路振荡的次数。
-
时钟周期与指令周期的关系:时钟周期决定了CPU每个操作的速度,而指令周期是完成一条指令所需的时间。不同的指令可能需要不同数量的时钟周期来完成。
-
影响性能的因素:
-
高频率通常意味着短的时钟周期,但也可能导致功耗和热量增加,影响稳定性。
-
时钟频率并不是唯一决定CPU性能的因素,还需要考虑指令集架构、缓存等因素。
-
3. 机器周期
-
定义:CPU完成一次基本操作所需的时间。
-
与时钟周期的关系:一个机器周期通常由多个时钟周期组成,具体依赖于CPU的架构和指令复杂度。
-
机器周期的组成:
-
一个机器周期通常包括取指周期、间址周期(地址计算)和执行周期。不同类型的操作可能需要不同的机器周期。
-
4. 指令周期
-
定义:执行一条指令所需的总时间,常由多个机器周期组成。
-
主要阶段:
-
取指(Fetch):从内存中读取指令。
-
解码(Decode):将指令解析为控制信号,准备执行。
-
执行(Execute):根据指令执行相应的算术或逻辑运算,或进行数据传输。
-
访存(Memory Access):如果指令涉及内存操作(如读取或写入数据),则进行访存。
-
写回(Write-back):将运算结果写回寄存器或内存。
-
5. 流水线技术
-
定义:将指令的执行过程分解为多个阶段,允许同时处理多条指令。
-
优势:提高指令吞吐量,优化资源利用,减少空闲时间。
-
流水线分段:流水线通常包括多个阶段,如取指、解码、执行、访存、写回等。
-
流水线的深度:流水线的阶段越多,每个阶段的任务越简单,但也可能带来更多的冒险问题。
-
冒险问题:
-
数据冒险:指令之间的数据依赖造成的冲突。可以通过数据转发或流水线停顿来解决。
-
控制冒险:由分支指令引起的指令流不确定性。通过分支预测和延迟槽来优化。
-
结构冒险:由于资源不足引起的冲突。通过增加硬件资源(如多个执行单元)来缓解。
-
6. 超标量技术
-
定义:允许在一个时钟周期内同时发射多条指令的处理器架构。
-
特点:
-
多个执行单元并行处理指令,提高处理效率。
-
动态调度:处理器通过动态调度(如乱序执行)来提高指令吞吐量,尽可能利用空闲的执行单元。
-
指令发射:多个指令同时发射到不同的执行单元,减少了CPU的空闲时间。
-
复杂的调度机制:通过硬件或者编译器技术,处理器可以动态安排指令执行,优化指令间的空闲时间。
-
7. 超流水线技术
-
定义:将执行过程中的每个阶段进一步细分,以增加流水线的阶段数量。
-
优化目标:通过细化每个阶段的操作,使得每个阶段执行的任务更简单,从而提高流水线的吞吐量。
-
挑战:虽然细化阶段可以提高吞吐量,但也可能增加指令之间的延迟,尤其是在增加了很多分支预测和指令重排的情况下。
8. 超长指令技术
-
定义:将多个操作合并为一个长指令字,允许并行执行多个操作。
-
VLIW(超长指令字):通过将多个操作(如加法、乘法、数据传输等)打包成一个超长指令,在硬件上进行并行执行,指令调度通常由编译器完成,而非硬件。
-
特点:
-
编译器在编译时负责指令调度。
-
每条指令包含多个操作,可以在多个执行单元中并行执行。
-
增加了编译器的复杂性,但可以有效提高处理器性能。
-
9. 数据通路
-
定义:用于数据传输与处理的硬件部分,是执行指令的基础。
-
组成:
-
寄存器、算术逻辑单元(ALU)、多路复用器(MUX)、数据总线。
-
-
工作流程:在各个阶段中,负责从寄存器读取,执行操作,和存储结果。
专用数据通路
1. 取指周期(Instruction Fetch Cycle)
取指周期的任务是从内存中获取指令并加载到指令寄存器(IR)。在这一周期内,处理器执行以下微操作:
-
PC → MAR:程序计数器(PC)的内容送到内存地址寄存器(MAR),以便确定当前要取指令的内存地址。
-
(MAR) → M:打开MAR送到地址总线的输出门。
-
1 → R:CU通过控制总线向主存发出读命令。
-
M(MAR) → MDR:主存通过数据总线根据MAR中的地址所对应的存储单元中的内容(指令)送入MDR。
-
MDR → IR:打开控制门,将内存数据寄存器(MDR)中的数据(即指令)送到指令寄存器(IR)中。
-
OP(IR) → CU:打开指令操作码送往CU的输出门。
-
PC + 1 → PC:程序计数器(PC)自增,准备下一条指令的地址。
2. 间址周期(Address Calculation Cycle)
间址周期通常用于指令中的寻址操作。例如,对于ADD R1, M
(将内存地址M中的值加到寄存器R1中)指令,间址周期的任务是计算指令中的操作数地址。在这一周期中,微操作如下:
-
Ad(MAR) → MAR:打开MDR和MAR的控制门,将形式地址送到MAR。
-
(MAR) → AB → M:打开MAR送到地址主线的输出门。
-
1 → R:CU 通过控制总线向主存发出读命令。
-
M(MAR) → MDR:主存通过数据总线,将MAR中地址所对应的存储单元的内容(有效地址)送到MDR。
3. 执行周期(Execution Cycle)
执行周期是实际进行运算的过程。对于加法指令,它的任务是执行加法操作,并将结果存储回目的寄存器或内存。微操作如下:
-
MDR → MAR:将有效地址送到MAR。
-
(MAR) → AB → M:打开MAR送往地址总线的输出门。
-
1 → R:CU通过控制总线向主存发出读命令。
-
M(MAR) → DB → MDR:将操作数存入MDR。
-
C6,C7同时有效:打开ACC和MDR链接ALU的控制门。
-
ACC + MDR → ACC:打开ALU通往ACC的控制门,存入计算结果。
执行加法指令的微操作过程可总结为:
-
取指周期:从内存中取出指令,并更新PC。
-
间址周期:计算操作数的地址,并从内存中读取操作数。
-
执行周期:执行加法操作,并将结果存储到目标寄存器。
内部总线结构
1. 取指周期(Instruction Fetch Cycle)
在取指周期中,主要任务是从内存中获取当前要执行的指令,并更新程序计数器(PC)。通过内部总线将各个模块连接在一起以进行数据传输。
-
PC → MAR:程序计数器(PC)的内容送到内存地址寄存器(MAR),确定当前要获取的指令的内存地址。
-
1 → R:CU发出 "R"(读指令),
-
M(MAR) → MDR:主存通过数据总线根据MAR中的地址所对应的存储单元中的内容(指令)送入MDR。
-
MDR → IR:内存数据寄存器(MDR)中的数据(即当前的指令)通过总线传送到指令寄存器(IR)中。
-
PC + 1 → PC:程序计数器(PC)自增,为下一条指令准备地址。
-
数据通过总线从PC传送到MAR,再从内存(通过MDR)传送到IR,最后更新PC指向下一条指令。总线在整个过程中充当着数据传输的媒介。
2. 间址周期(Address Calculation Cycle)
间址周期的任务是从指令中提取操作数的地址,并从内存中读取操作数。指令可能包含一个操作数地址,需要通过间址周期进行地址计算和数据获取。对于ADD R1, M
,这里的M
是内存地址。
-
Ad(MAR) → MAR:将指令的形式地址经内部总线送至MAR。
-
1 → R:C通过控制总线向主存发出读命令
-
M(MAR) → MDR:主存通过数据总线,将MAR中地址所对应的存储单元的内容(有效地址)送到MDR。
-
MDR → A:将内存数据寄存器(MDR)中的数据(即
M
的值)传送到寄存器A(临时寄存器,用于存放操作数)。
3. 执行周期(Execution Cycle)
执行周期是指令执行的核心部分,主要任务是通过ALU进行加法运算,并将结果存储到目标寄存器中。对于 ADD R1, M
,目标是将内存 M
的值加到寄存器 R1
的值上。
-
(MDR)→ MAR:将有效地址经内部总线送至 MAR。
-
1→R:CU通过控制总线向主存发出读命令(R)。
-
M(MAR)→ MDR:主存通过数据总线,将 MAR 中地址所对应存储单元的内容(数据)送至 MDR。
-
(MDR)→Y:将操作数送至奇存器Y,直接作为 ALU 的一个输入。
-
ACC + Y → Z:CU 向 ALU发出“ADD"加法指令的控制信号,完成 ACC和 MDR 内容的相加得到的结果直接送往寄存器 Z。
-
Z → ACC:结果写入ACC。
比较:
特性 | 内部总线结构(Bus-Based Architecture) | 专用数据通路(Dedicated Data Path Architecture) |
---|---|---|
带宽和延迟 | 带宽较低,延迟较高,因为总线是共享资源 | 带宽较高,延迟较低,避免了总线瓶颈 |
硬件资源消耗 | 硬件资源节约,减少了布线和硬件复杂性 | 需要大量的硬件资源,为每个操作设计专用通路 |
灵活性 | 灵活性高,适合扩展和变更 | 灵活性差,设计固定,扩展困难 |
系统扩展性 | 扩展性好,容易增加新组件 | 扩展困难,增加新组件需要重新设计硬件 |
并行性 | 并行性较差,多个组件访问总线时会造成冲突 | 高并行性,可以同时处理多个数据流 |
复杂性和维护 | 设计较简单,维护较容易 | 设计和维护较复杂,需要更多的工程资源 |
结语
关于指令系统的部分,中间涉及汇编的内容我暂时搁置了,我决定后面再系统地学一下汇编。
另外,怎么感觉越到后面越累了,是我的错觉吗?
相关文章:
计算机组成原理的学习笔记(9)-- CPU·其一 CPU的基本概念/流水线技术/数据通路
学习笔记 前言 本文主要是对于b站尚硅谷的计算机组成原理的学习笔记,仅用于学习交流。 CPU(中央处理器) 1. 组成 定义:计算机的核心部件,负责执行指令和处理数据。 组成部分: 核心:多个处…...
【Python】 -- python3 读取 aws athena 表数据
目录 1、环境准备 2、安装环境 3、举例查询某张表数据和执行 add partition 操作 3.1、编辑文件 athena_jdbc.py 3.2、查找 JVM 的动态链接库路径 3.3、保存文件,执行以下命令 1、环境准备 oracle jdk 11centos 8依赖:pandas、pyathenajdbc 和 sq…...
子网掩码计算route命令
子网掩码 - 站长工具 1.子网掩码 子网掩码就是用来遮掩IP地址并划分网段的工具,根据遮掩的位数不同来划分不同的网段。 2.网关 网关(Gateway)又称网间连接器、协议转换器。默认网关在网络层上以实现网络互连,是最复杂的网络互连设备,仅用…...
店铺营业状态设置
admineShopController RestController("admineShopController") RequestMapping("/admin/shop") Api(tags "店铺相关接口") Slf4j public class ShopController {//设置一个常量 因为经常使用public static final String KEY "SHOP-ST…...
JavaWeb 开发基础入门
在当今互联网时代,JavaWeb 开发是构建各类网络应用的核心技术之一。无论是大型企业级应用,还是小型的个人网站,JavaWeb 都展现出强大的生命力。今天,就让我们一起踏入 JavaWeb 开发的基础入门之旅。 一、认识 JavaWeb JavaWeb 是…...
Unity Dots理论学习-2.ECS有关的模块(1)
Unity的实体组件系统(ECS)是支撑DOTS模块和技术的面向数据架构。ECS为Unity中的内存数据和runtime进程调度提供了高度的控制和确定性。 ECS for Unity 2022 LTS 配备了两个兼容的物理引擎,一个高级的Netcode package,以及一个用来…...
CentOS下安装RabbitMQ
提示:“奔跑吧邓邓子” 的高效运维专栏聚焦于各类运维场景中的实际操作与问题解决。内容涵盖服务器硬件(如 IBM System 3650 M5)、云服务平台(如腾讯云、华为云)、服务器软件(如 Nginx、Apache、GitLab、Redis、Elasticsearch、Kubernetes、Docker 等)、开发工具(如 Gi…...
【JAVA高级篇教学】第四篇:MySQL 5.7 与 MySQL 8 的区别
MySQL 是最流行的开源数据库管理系统之一,而 MySQL 8 的发布相较于 MySQL 5.7 带来了大量的改进与功能增强。 目录 一、性能改进 二、功能增强 三、安全性 四、开发体验 五、默认排序规则 六、支持的排序规则数量 七、区分敏感性(Sensitivity&…...
【Git】-- 版本说明
Alpha:是内部测试版,一般不向外部发布,会有很多 Bug .一般只有测试人员使用。Beta:也是测试版,这个阶段的版本会一直加入新的功能。在 Alpha 版之后推出。RC:(Release Candidate) 顾名思义么 ! 用在软件上就是候选版本。系统平台…...
Flink优化----FlinkSQL 调优
目录 FlinkSQL 调优 1 设置空闲状态保留时间 2 开启 MiniBatch 3 开启 LocalGlobal 3.1 原理概述 3.2 提交案例:统计每天每个 mid 出现次数 3.3 提交案例:开启 miniBatch 和 LocalGlobal 4 开启 Split Distinct 4.1 原理概述 4.2 提交案例&…...
云上「算力浪费」,正在掣肘企业应用落地。
投入算力,真的能换来利润吗?这是每个想“入局”大模型的企业都会思考的问题。 人工智能行业一直困于成本,无论从模型训练到推理,都充满了“烧钱”的气息。无法避免的高昂算力,成为企业入局大模型的“铁门槛”。 据多…...
科技创新 数智未来|清科·沙丘投研院走进竹云
12月20日,清科沙丘投研院带领企投家团队走进竹云交流分享,聚焦技术创新、企业数字化管理、行业前沿应用案例等热点议题,深入探讨数字技术如何点燃企业高质量发展的澎湃动力,共话企业数字化、智能化发展之道。 达晨财智股权管理部…...
spring专题笔记(六):bean的自动装配(自动化注入)-根据名字进行自动装配、根据类型进行自动装配。代码演示,通俗易懂。
目录 一、根据名字进行自动装配--byName 二、根据类型进行自动装配 byType 本文章主要是介绍spring的自动装配机制, 用代码演示spring如何根据名字进行自动装配、如何根据类型进行自动装配。代码演示,通俗易懂。 一、根据名字进行自动装配--byName Us…...
EDGE浏览器每次关闭时再次打开保存的密码就消失如何解决
文章目录 EDGE浏览器每次重启的时候保存的密码都消失如何解决? 打开EDGE浏览器点击三个点 点击设置 点击隐私、搜索和服务 找到选择每次关闭浏览器时要清除的内容 将开启的关闭即可...
Python - 获取当前函数中的所有参数信息(名称和值)
代码 import inspect import randomclass P:def start(self, p1, p2, p3None, p4None):arg_info inspect.getargvalues(inspect.currentframe())kwargs arg_info.locals # 获取到所有参数print(kwargs)del kwargs["self"]try:self._start(**kwargs)except Except…...
pyqt5冻结+分页表
逻辑代码 # -*- coding: utf-8 -*- import sys,time,copy from PyQt5.QtWidgets import QWidget,QApplication, QDesktopWidget,QTableWidgetItem from QhTableWidgetQGN import Ui_QhTableWidgetQGN from PyQt5.QtCore import Qt from PyQt5 import QtCore, QtGui, QtWidgets…...
uniapp中实现APP调用本地通知栏通知、震动、本地提示音或者mp3提醒
要在uniapp中实现APP调用本地通知栏通知、震动和本地提示音或者mp3提醒,你可以使用uni-app提供的原生API和插件来实现。 通知栏通知: 你可以使用uni-app的原生API uni.showToast() 或者 uni.showModal() 来实现通知栏通知的功能。可以在需要发送通知的地…...
JS 数组创建、访问、常用方法
文章目录 创建访问常用属性和相关方法1. length 长度属性2. push() 新增元素 - 末尾添加3. unshift() 新增元素 - 开头添加4. pop() 移除元素 - 末尾删除5. shift() 移除元素 - 开头删除6. concat() 复制数组后新增7. slice() 复制数组8. splice() 增删改9. toString() 转字符串…...
【C++】ceil 和 floor 函数的实现与分析
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯ceil 和 floor 函数的基础介绍1. ceil 函数定义与功能示例代码输出结果功能分析使用场景 2. floor 函数定义与功能示例代码输出结果功能分析使用场景 💯自行实现…...
每天40分玩转Django:Django类视图
Django类视图 一、今日学习内容概述 学习模块重要程度主要内容类视图基础⭐⭐⭐⭐⭐View类、URLconf配置通用视图⭐⭐⭐⭐⭐ListView、DetailView等Mixin机制⭐⭐⭐⭐多重继承、功能组合自定义类视图⭐⭐⭐⭐视图定制、方法重写 二、类视图基础 2.1 基本类视图 # views.py…...
运动控制卡网络通讯的心跳检测之C#上位机编程
本文导读 今天,正运动小助手给大家分享一下如何使用C#上位机编程实现运动控制卡网络通讯的心跳检测功能。 01 ECI2618B硬件介绍 ECI2618B经济型多轴运动控制卡是一款脉冲型、模块化的网络型运动控制卡。控制卡本身最多支持6轴,可扩展至12轴的运动控制…...
秒验简介与下载说明
秒验简介与下载说明 产品概述 秒验是一款帮助开发者实现一键验证功能的产品,从根源上降低企业验证成本, 有效提高拉新转化率,降低因验证带来的流失率,3秒完成手机号验证 SDK信息 下载SDK 下载地址 SDK提供Maven和pod引入两种方…...
Redis中的数据类型
文章目录 前言一、字符串(String)应用场景常用命令 二、哈希(Hash)应用场景常用命令 三、列表(List)应用场景常用命令 四、集合(Set)应用场景常用命令 五、有序集合(Sort…...
esp8266_TFTST7735语音识别UI界面虚拟小助手
文章目录 一 实现思路1 项目简介1.1 项目效果1.2 实现方式 2 项目构成2.1 软硬件环境2.2 完整流程总结(重点整合)(1) 功能逻辑图(2) 接线(3) 使用esp8266控制TFT屏(4)TFT_espI库配置方法(5) TFT_esp库常用代码详解(6)TFT屏显示图片(7) TFT屏显示汉字(8) …...
RTOS 基础知识
**实时操作系统(RTOS, Real-Time Operating System)**是一种专为实时性要求设计的操作系统,具有确定性和高效性。RTOS 的系统架构围绕任务调度、时间管理和资源管理展开,以确保系统能够在规定时间内响应外部事件。以下是RTOS的系统…...
【 thefuck 安装与使用】Linux 终端自动纠错工具:一头GitHub上的“草泥马“ - thefuck,妈妈再也不用担心我打错命令行了!
目录 快速安装使用 . 1.简介 2.安装 3.配置 4.补充 官方盗料参考 快速安装使用 快速安装使用,四步即可: #Ubuntu/Debian系统 sudo apt update sudo apt install python3-dev python3-pip sudo pip3 install thefuck #编辑bashrc配置文件 vim ~/.bashrc…...
在Nginx部署Web应用,如何保障后端API的安全
1. 使用HTTPS和http2.0 参考:Nginx配置HTTP2.0_nginx 支持 2.0-CSDN博客 2. 设置严格的CORS策略 通过add_header指令设置CORS头。 只允许来自https://frontend.yourdomain.com的请求访问API location /api/ {if ($http_origin ~* (https://frontend\.yourdomai…...
vue关闭eslint校验及开启debugger
文章目录 在Vue项目中关闭ESLint检查,可以通过以下几种方式实现:修改package.json文件中的eslintScript,将其设置为空字符串或者直接删除。在项目根目录下创建.eslintrc.js文件,并设置rules为关闭所有规则。如果使用Vue CLI创建的…...
docker mysql5.7安装
一.更改 /etc/docker/daemon.json sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https:/…...
json字符串或者json文件转换成相应的bean,报错“Unrecognized field xxx , not marked as ignorable”
1. 异常描述 将一个json字符串或者json文件转换成相应的bean的时候,报如下错误: 2. 异常分析 bean中某个字段的get和set方法可能不是工具自动生成的,而是自己写的,譬如字段是“sInfo”,本来get方法是应该写成getsI…...
Windows下C++使用SQLite
1、安装 进入SQLite Download Page页面,下载sqlite-dll-win-x86-*.zip、sqlite-amalgamation-*.zip、sqlite-tools-win-x64-*.zip三个包,这三个包里分别包含dll文件和def文件、头文件、exe工具。 使用vs命令行工具生成.lib文件:进入dll和def文…...
依图科技简介
依图科技(YITU Technology)是中国一家全球领先的人工智能(AI)公司,成立于2012年,总部位于上海。公司专注于计算机视觉、语音识别和自然语言处理等核心AI技术,致力于推动AI技术在医疗、安防、金融…...
BiLSTM模型详解及代码复现(源码)
(需要源码请私信或留言) LSTM基础 LSTM (Long Short-Term Memory) 是一种特殊类型的循环神经网络(RNN),旨在解决传统RNN在处理长序列时面临的梯度消失和梯度爆炸问题。其核心创新在于引入了 门控机制 ,包括遗忘门、输入门和输出门,有效控制信息的流动和存储。这种独特的…...
HTMLCSS:超炫丝滑的卡片水波纹效果
这段代码创建了一个卡片,卡片上有三个波动效果,这些波动效果通过 CSS 的keyframes 动画实现,创建了一个旋转的动画效果。这种效果适用于创建动态的视觉效果,例如音乐播放器的封面、动态背景或其他需要动态效果的界面元素。 演示效…...
8086汇编(16位汇编)学习笔记05.asm基础语法和串操作
8086汇编(16位汇编)学习笔记05.asm基础语法和串操作-C/C基础-断点社区-专业的老牌游戏安全技术交流社区 - BpSend.net asm基础语法 1. 环境配置 xp环境配置 1.拷贝masm615到指定目录 2.将masm615目录添加进环境变量 3.在cmd中输入ml,可以识别即配置成功 dosbox…...
【漏洞复现】BIG-IP Next Central Manager OData 注入漏洞(CVE-2024-21793)
免责声明 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。本次测试仅供学习使用,如若非法他用,与平台和本文作…...
Go语言及MongoDB数据库安装配置详解!
Go语言安装 首先讲一下go语言的安装,这部分可直接从官网下载,基本上一键配置的: 官网地址:All releases - The Go Programming Language 选择自己对应系统的安装包,这里官网提供了5种不同的包可自行下载 之后便是默认…...
数据库管理-第275期 Oracle 23ai:画了两张架构图(20241225)
数据库管理275期 2024-12-25 数据库管理-第275期 Oracle 23ai:画了两张架构图(20241225)1 系统管理分片2 用户定义分片总结 数据库管理-第275期 Oracle 23ai:画了两张架构图(20241225) 作者:胖…...
HTML速查
HTML 基本文档 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>文档标题</title></head><body>可见文本...</body> </html>基本标签(Basic Tags) <h1>最大的…...
系统分析师第二版口诀
【绪 数 计 网 库】、【信 工 项 安 规 】、【需 架 设 测 运】、【We 嵌 移 大 微 物 论】(第1章 绪论、第2章 数学与工程基础、第3章 计算机系统、第4章 计算机网络与分布式系统、第5章 数据库系统、第6章 企业信息化、第7章 软件工程、第8章 项目管理、第9章 信息…...
E-commerce .net+React(一)——项目初始化
文章目录 项目地址一、创建.Net环境1.1环境配置1.1.1 使用vscode创建webapi1.1.2 Clean architecture结构创建1.1.3 将创建好结构的项目添加到git里1.1.4 EF Core配置1. 在infrastructure里安装EF所需环境2. 创建Product数据模型3. 创建EF Core的DbContext 数据库上下文4. 创建…...
15 break和continue
while True: content input("请输入你要喷的内容") print("发送给下路",content) #上述的程序如果没有外力干扰:程序会一直进行输入下去 #break:就能让当前这个循环立即进行停止 while True: content input("请输入…...
SwiftUI 入门趣谈:在文本框(TextField)内限制数字的输入
概述 虽然 SwiftUI 本身提供了海量内置的原生视图供我们使用,但对于某些情况我们还需要根据实际需求“量体裁衣、专属定制”。 在日常的撸码场景中,我们有时需要限制文本框(TextField)中数字内容的输入,如何又简单又快…...
JOGL 从入门到精通:开启 Java 3D 图形编程之旅
一、引言 Java 作为一门广泛应用的编程语言,在图形编程领域也有着强大的工具和库。JOGL(Java OpenGL)便是其中之一,它为 Java 开发者提供了访问 OpenGL(Open Graphics Library)功能的接口,使得…...
scrollIntoView() 滚动到元素顶部和底部
scrollIntoView() 是一个 DOM 方法,通常用于将某个元素滚动到视口内(可视区域)。这个方法能够使目标元素在页面上可见,尤其是在有滚动条的容器中。当你调用 scrollIntoView() 时,浏览器会自动滚动页面,直到…...
数据预处理
数据预处理科普指南 一、数据预处理:开启数据价值之门的钥匙 在当今数字化浪潮中,数据被视作蕴含无尽宝藏的富矿。然而,原始数据就如同刚从矿山采出的原石,虽内藏珍贵信息,却混杂着诸多瑕疵,如噪声、缺失…...
关于分布式数据库需要了解的相关知识!!!
成长路上不孤单😊😊😊😊😊😊 【14后😊///计算机爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于关于分布式数据库方面的相关内容&a…...
IP代理测试要测试哪些方面?
在数据采集的征途上,IP代理是我们的得力助手,它不仅帮助我们高效地收集信息,还能在保护数据安全方面发挥重要作用。但面对众多的IP代理服务,如何知道哪一个才是最适合我们的呢?这就需要我们进行一系列的测试。 速度与…...
【前沿 热点 顶会】AAAI 2025中与目标检测有关的论文
CP-DETR: Concept Prompt Guide DETR Toward Stronger Universal Object Detection(AAAI 2025) 最近关于通用物体检测的研究旨在将语言引入最先进的闭集检测器,然后通过构建大规模(文本区域)数据集进行训练࿰…...
【Unity3D】Jobs、Burst并行计算裁剪Texture3D物体
版本:Unity2019.4.0f1 PackageManager下载Burst插件(1.2.3版本) 利用如下代码,生成一个Texture3D资源,它只能脚本生成,是一个32*32*32的立方体,导出路径记得改下,不然报错。 using UnityEditor; using Uni…...