文章目录

  • 指令系统
    • 定义
    • 作用
    • 重要性
    • 国际主流指令系统
    • 发展
    • 自主软硬件需求自主指令系统
  • 指令系统的设计
    • 指令系统在计算机中的位置
    • 设计原则
    • 影响指令系统设计的因素:
  • 指令系统的演变
    • 指令系统分类:
    • 指令系统演变-系统管理
    • MIPS32存储空间分段/页情况
    • 运行级别的演变 - MIPS
  • 指令系统的组成
    • 组成元素:
    • 操作数的存储(地址空间)
    • 操作数的表示
    • 指令操作
    • 指令编码
  • 指令集详细说明
    • 一个“典型”的RISC
    • MIPS指令
    • RISC

指令系统

定义

指令系统是计算机功能的抽象模型(不仅仅是关于指令功能的编码)
> 是软硬件的界面,所有软件最终都以指令的形式运行
> 体现了结构设计者对应用的深刻理解
> 一个指令系统可以有多种实现(低功耗、高性能、软件模拟…)

作用

(承上启下)是软硬件的交互接口
在这里插入图片描述

重要性

计算机产业的枢纽,产业生态的基础
指令系统是计算机软硬件的重要标准:
-决定应用程序的二进制兼容(Wintel和AA都做到)
-是操作系统二进制兼容(Wintel做到、AA没做到)的重要因素
指令系统影响系统性能和实现复杂性等:
-如RISC/CISC,32位/64位,媒体指令,向量指令等
-微结构对系统复杂性影响更大

国际主流指令系统

(1)三大主流指令系统:X86、ARM、MIPS
-X86:每年几亿片,垄断PC和服务器市场,虽受到ARM的一些威胁,但桌面的垄断地位难以动摇,并通过凌动阻止ARM向高端渗透
-ARM:每年50-100亿片,在手持终端市场处于垄断地位,成功侵蚀MIPS的数字电视、机顶盒等市场,试图在云服务器等领域与X86竞争
-MIPS:每年5-10亿片,在传统市场如打印机、网络等仍有一定势力

(2)其他指令系统
-PowerPC:在汽车电子、工控、服务器领域还有一线生机
-Alpha、PA-RISC、Sparc、IA64主流市场机会不大
-RISC-V(开源指令集):想成为CPU中的Linux,道阻且长,巨头联手逼向低端MCU

发展

(1)历史发展历程
-X86位宽从8位、16位、32位、64位不断发展
-功能从只支持定点、到浮点、到媒体指令、到向量指令
-向量指令又经历了MMX、SSE、SSE2、SSE3、SSE4、AVX等
(2)对指令发展新的要求
-多核结构要求指令增加对多核同步、通信和数据一致性的支持
-向量部件需要指令系统增加专门的向量指令
-媒体类应用要求指令系统增加对媒体编解码的专门支持
-云计算要求指令系统增加对虚拟机的支持;等等

自主软硬件需求自主指令系统

(1)现状
国外垄断企业设置了严密的知识产权壁垒,主要体现在包括指令系统在内的各类接口中
目前IT产业正从单极化向多极化发展,要抓住机遇。目前自主软硬件推进效果明显,但我国软硬件力量过于薄弱,通过统一的自主指令系统可以迅速形成合力

(2)自主指令系统发展的可行路径
先兼容后自主
-与国外指令兼容(MIPS、RISC等),在此基础上自主发展
-“可控”权:自主扩展和自主再授权
-“对等”权:协商扩展和反向授权
先自主后兼容
-通过二进制翻译方式,运行主流指令系统的软件
-如Transmeta,IA64上运行IA32程序等
-Intel推出的基于X86的智能手机能运行Android上ARM的应用
二者结合
-如基于MIPS/RISC5,并通过扩展实现对X86和ARM的兼容

(3)指令系统示意图
在这里插入图片描述

指令系统的设计

指令系统在计算机中的位置

软硬件的界面;
反映了结构设计者对计算机系统的认识;

设计原则

-兼容性:对软件的包容性,长时间保持不变,如X86
-通用性:对软件的易用性,编译器和程序员觉得好用
-高效性:对硬件的易用性,便于CPU设计优化和不同性能的实现
-安全性:对软硬件安全的支持,支持通用操作系统,考虑不同的安全要求

影响指令系统设计的因素:

(1)工艺技术
①. 早期的硬件昂贵,指令系统设计主要考虑如何减少硬件;
②. 集成度的提高(TLB、从32位到64位、SIMD媒体运算);
③. 现在如何发挥存储层次的效率,如何利用芯片面积;
-CPU与存储器的速度差距,指令系统应能较好地利用存储层次,如通过并行或流水容忍延迟(Cache管理指令、预取指令)
-工艺进一步发展,主频极限和功耗问题引起的多核结构需要特殊指令支持(多线程管理和同步)

(2)系统结构
-指令系统本身是系统结构发展的结果,如:从16位、到32位、到64位;SIMD指令、从单核到多核等
-指令系统的兼容性要求与系统结构发展的矛盾关系:
尽量不改变指令系统的前提下提高性能,如流水、多发射等
尽量保持兼容,如Intel的做法
-增加指令功能还是提高主频?(RISC vs. CISC vs. VLIW)
-并行性: SIMD、向量、多发射(兼容性好)

(3)操作系统
-操作系统专用的核心态指令运行环境
-多进程支持、虚空间:(页表与TLB的关系;页保护:读写权限)
-系统安全等级:(核心态和用户态管理)
-异常和中断处理(异常处理入口、ERET指令等)
-访存和访问I/O的区别;
-虚拟机:(支持多操作系统的快速切换)

(4)编译技术与程序设计语言
-指令是编译器的工作结果
早期的指令系统主要考虑如何便于编程
后期(如RISC)兼顾便于编程和实现效率
-指令功能
只有简单指令,甚至乘法都由加法和移位来实现
具有复杂指令,如除法、开方
更复杂的函数由库函数实现(如C库)
-寄存器和存储器分配
堆栈存放局部变量,全局数据区存放静态数据,堆存放动态数据
为有效使用图着色启发式算法,至少需要16个通用寄存器
-简单规整,提高编译效率
正交性,如所有访存指令都可用所有寻址方式
简化编译器取舍,如允许编译时确定常量,只提供基本的通用操作等

(5)应用程序
-应用适应性(指令归根结底为应用设计);
-兼容性:更新计算机时,兼容老的应用;

指令系统的演变

指令系统分类:

-RISC技术有利于指令流水线的高效实现(X86处理器内部也把CISC翻译成简单操作来优化流水线);
-VLIW技术用于指令流水线优化不是很成功

(1)复杂指令系统(Complex Instruction Set Computer,简称CISC)
其指令长度可变(x86: 1~15字节)
在这里插入图片描述
①. 早期的CPU都采用CISC结构:昂贵的软硬件系统要求兼容性,计算机应用的发展要求新增指令;
②. 像Intel,曾经的辉煌也导致历史包袱(需要对过去指令可能已经淘汰不用的指令提供兼容性)太重,指令集的臃肿导致实现复杂,降低了常用指令的执行效率
③. 程序中80%的指令只占指令集的20%,人们开始意识到:简单指令有利于高效实现,例如:X86指令通过内部译码后的微操作类似于RISC

(2)精简指令系统(Reduced Instruction Set Computer,简称RISC)
求掉包袱,轻装上阵:其指令长度比较固定
在这里插入图片描述
-核心思想:简化
简化指令功能:执行时间短
简化指令编码:译码简单
简化访存类型:访存和运算分开
-运用:Power、MIPS、ARM、SPARC、Alpha……
-现代指令系统对CISC和RISC的融合:
核心流水线采用RISC
包含复杂功能的宏指令

(3)超长指令字(Very Long Instruction Word,简称VLIW)
本质上是多条同时执行的指令的组合,其“同时执行”的特征由编译器指定,无需硬件进行判断
在这里插入图片描述
-它是指令集并行ILP的极端:
-运用:应用在早期的GPU中,GPGPU发展后遭弃用(AMD转向了SIMT的GCN架构)
TRACE、Itanium(IA-64)

指令系统演变-系统管理

(满足现代操作系统的发展需求)

(1)存储管理上

  • 连续实地址:各程序数据连续存放,显式保证不冲突
  • 段式:分为多个段,通过相对段的偏移来访问
  • 页式:将虚地址和实地址的对应关系组织为页表(TLB)
  • 段页式:融合段式和页式

(2)运行级别的演变

  • 唯一实模式:无管理
  • 保护模式:权限管理,核心态和用户态(kernel/user)
  • 调试模式:调试支持,ARM JTAG、MIPS EJTAG
  • 客户模式:虚拟机支持,host/guest

MIPS32存储空间分段/页情况

在这里插入图片描述

运行级别的演变 - MIPS

在这里插入图片描述

指令系统的组成

组成元素:

指令主、谓、宾:CPU、操作、操作数
在这里插入图片描述

操作数的存储(地址空间)

(1)地址空间的组成

  • 寄存器空间: 整数通用寄存器、浮点通用寄存器、协处理器寄存器
  • 系统内存空间: 内存空间、IO空间
    访问方式
  • 寄存器:在指令中以寄存器号引用
  • 系统内存:访存指令

(2)地址空间的演变
①堆栈型(Stack):零地址指令
-两操作数在栈顶,运算操作不用指定操作数,结果写回栈顶。
②累加器型(Accumulator):单地址指令
-一个操作数由指令指定,一个操作数总在累加器中,结果也写回累加器
③寄存器型(Register):多地址指令
-Register-Register型、Register-Memory型、Memory-Memory型
不同类型指令功能举例:不同指令在指令系统完成C=A+B的指令序列(假设ABC在内存的不同单元中)
在这里插入图片描述

(3)指令系统类型的发展
①早期的计算机多用堆栈和累加器型指令
• 出于降低硬件复杂度的考虑
• 现在已经不用(Intel有点例外),JAVA字节码使用堆栈结构
②1980年代后的机器主要是寄存器型
• 访问寄存器比访问存储器快,便于编译器使用和优化
• 寄存器可以用来存放变量,减少访存次数
寄存器间的相关容易判断,易于实现流水线、多发射、乱序执行等
• X86通过把复杂指令翻译成类似于RISC的内部操作并使用RISC指令流水线技术提高性能,X86的向量指令也是寄存器型
③RISC的不断复杂化
内存离寄存器越来越远,以寄存器为中心的结构增加了不必要的数据搬运开销(如memcpy)
• 向量指令、超越函数指令、Transacitonal memory等

(4)附
不同指令系统通用寄存器数量:
在这里插入图片描述
MIPS寄存器空间:
在这里插入图片描述
Linux/MIPS虚拟地址空间安排:
-有关IO空间的划分:
○ X86规定了独立的IO空间,使用专门的in/out指令来访问
○ EoMIPS/ARM不区分IO空间和内存空间,使用同样的访存指令
在这里插入图片描述

操作数的表示

(1)数据类型
- 整数、实数、字符、十进制数
- 字节、半字、字、双字
- IEEE 754格式

(2)类型的表示
- 一般由操作码来区分不同类型
- 专门的类型标志

(3)数据类型的分布
在这里插入图片描述
(4)访存对象
1)存储器按字节编址
-所有地址都是字节地址
-访问长度:字节、半字、字、双字
2)访存地址是否对齐( Aligned vs. Misaligned )
在这里插入图片描述
在这里插入图片描述
-地址对齐简化硬件设计:如字地址最低两位为0 -跨数据通路边界的访问可能需要访问两次RAM
-如何支持不对齐访问(如串操作)
3)大尾端(Big Endian)和小尾端(Little Endian)
-Little Endian地址指向一个字的最右字节
-Big Endian 反之

(5)寻址方式
在这里插入图片描述

  • 访存方式:三个程序在VAX机上的统计
    -寄存器访问占一半,存储器访问占一半,简单寻址方式占存储器访问的的97%;
  • 偏移量分布:PEC CPU2000在Alpha结构(最大偏移为16位)上的统计:
    -小偏移和大偏移较多,大偏移(14位以上)多数为负数;
    -跟数据在内存中的分布有关;
  • 立即数比例:SPEC CPU2000在Alpha结构上的统计
    -ALU操作定点1/4、浮点1/5需要立即数
    -Load操作有近1/4是取立即数(没有真正访存)
    -平均定点1/5、浮点1/6的指令需要立即数
  • 立即数值的分布:SPEC CPU2000在Alpha结构上的统计
    -CINT2000中20%、CFP2000中30%的立即数是负的
    -在支持32位立即数的 VAX上统计表明,20%-30%立即数大于16位

综上所述:
①应至少支持以下寻址方式:Register、Immediate、Displacement、Register indirect;
②指令中常数位数:地址偏移量位数12-16位 ,立即数位数8-16位;

指令操作

(1)指令操作
在这里插入图片描述

(2)常见指令操作
把简单指令做快点,其他慢一点没关系;

  • SPECint92的X86指令统计:
    在这里插入图片描述
  • SPEC CPU2000动态指令分布:
    在这里插入图片描述
    (3)转移指令
    1)转移指令类型:条件转移/无条件转移、过程调用/过程返回
    2)转移地址类型
    相对:PC+偏移量
    绝对:指令中给出转移地址
    间接:根据寄存器内容转移(编译器不知道目标地址),如Switch语句、函数指针、动态链接、过程返回等
    3)特点
    ①条件转移最多;(根据条件位判断转移,直接比较寄存器内容转移)
    -SPEC CPU2000在Alpha结构上的统计:
    在这里插入图片描述
    ②偏移位数多数是4-8位(虚拟机生成的代码放得较远,转移指令偏移量大)
    -SPEC CPU2000在Alpha结构上的统计:
    在这里插入图片描述
    ③条件转移的分布:小于、等于、小于或等于比较最多
    -SPEC CPU2000在Alpha结构上的统计:
    在这里插入图片描述

指令编码

(1)需要考虑的因素
①. 操作码部分比较简单
②. 操作数的个数、类型对指令长度影响很大
③. 变长指令程序代码短、定长指令实现简单

(2)编码方法
①. 定长:RISC
②. 变长:VAX的指令1-53字节,其中ADD指令3-19字节,Intel的X86指令1-17字节
③. 混合:IBM 360/370,MIPS16,Thumb,TI TMS320C54x

(3)特点—RISC系统结构
①. 简单操作和简单寻址方式用得最多
-10种简单操作指令占96%
-寄存器, 立即数, 偏移寻址, 寄存器间接寻址四种寻址方式
②. 简单指令便于高效实现和使用
-load-store结构简化硬件设计,提高主频
-定长简化译码
-符合编译器“常用的做得快,少用的只要对”的原则
③. 硬件优化应充分考虑兼容性
-流水、多发射不改变指令系统
-流水、多发射技术在load-store指令系统上容易实现

指令集详细说明

一个“典型”的RISC

  • 32位定长指令
  • 32个32位通用寄存器
  • 三寄存器操作数运算指令
  • Load-Store指令,基址+偏移量寻址方式
  • 简单转移条件

MIPS指令

(1)MIPS指令格式
在这里插入图片描述
(2)MIPS指令类型
在这里插入图片描述

RISC

(1)发展过程:现代X86处理器内部的核心也是RISC结构
在这里插入图片描述
(2)常见RISC指令系统比较
①指令格式:
在这里插入图片描述
②寻址方式:
在这里插入图片描述
③指令功能:

  • 所有RISC处理器都有一些公共指令
    -load/store指令
    -算术运算及逻辑指令
    -控制流指令
    -系统管理指令
  • 不同处理器在发展过程中形成的特色举例
    -MIPS的非对齐访问
    -SPARC的寄存器窗口
    -PowerPC的Link和Count寄存器
    -HP的Nullification
    -……

(3)具体指令说明
1)Load/Store指令:
-对任何GPR和FPR进行存取操作
-通常R0总是为0
2)ALU指令:
-所有ALU指令都是寄存器型的
-ALU的常见操作有加、减、与、或、异或、移位、比较,乘除法在专门的部件进行
3)控制流指令:
-绝对跳转jump和相对转移branch
4)条件转移的条件判断:

  • SPARC v8使用4位条件码(CC),该条件码在程序状态字中
    • 整数运算指令设置CC,条件转移指令检测CC
    • 浮点运算有另外两位CC
    • v9为了支持64位运算增加了4位整数CC,3位浮点CC
  • MIPS直接比较寄存器内容判断是否转移
    • MIPS III浮点部件有一位条件码,记录cmp指令的结果
    • MIPS IV有多位浮点条件码
  • PowerPC有4位CC,一个条件寄存器中有8份4位CC
    • 整数和浮点运算各1位,其它用于比较指令。
    • Branch指令需指定根据哪一位进行转移
    • 运算指令中有一位指定该指令是否影响CC
  • PA-RISC有多种选择,最常用的是比较两个寄存器的值并根据结果决定是否转移

5)系统管理指令
原子操作指令、存储管理指令、例外管理指令、共享存储同步指令等等

  • 原子操作指令—MIPS的LL和SC指令为例:
    在这里插入图片描述
    -LL(Load Linked)取数且置系统中LLbit为1
    -LL为1时,处理器检查相应单元是否被修改,如果其它处理器或设备访问了相应单元或执行了ERET操作,LLbit置为0
    -执行SC(Store Conditional)时若LLbit为1,则成功,目标寄存器为1;否则存数不成功,目标寄存器为0
    在这里插入图片描述

6)MIPS特色-非对齐访存指令LWR和LWL
①作用:边界不对齐的数据传送(小尾端)
②说明:

  • lwr:
    -对于大端:从所指位置(地址)向低地址方向取数直至地址对齐,且按从低地址至高地址的顺序将数据排序,将排序好的数据存放在寄存器的低位。
    -对于小端:从所指位置(地址)向高低址方向取数直至地址对齐,且按从高地址至低地址的顺序将数据排序,将排序好的数据存放在寄存器的低位。
  • lwl:
    -对于大端:从所指位置(地址)向高地址方向取数直至地址对齐,且按从低地址至高地址的顺序将数据排序,将排序好的数据存放在寄存器的高位。
    -对于小端:从所指位置(地址)向低地址方向取数直至地址对齐,且按从高地址至低地址的顺序将数据排序,将排序好的数据存放在寄存器的高位。

③举例:
在这里插入图片描述
如果没有它们,取一个不对齐的字需要10条指令,包括4个load/store并需要一个临时寄存器:
在这里插入图片描述

7)SPARC特色-寄存器窗口
2-32个寄存器窗口,用于不同过程:
-8个全局寄存器用于存放全局变量
-24个局部寄存器:8个输入参数,8个局部变量,8个输出参数
-过程调用和退出不用把现场保留到存储器SAVE和RESTORE指令:
-SAVE:功能同ADD,源寄存器来自调用过程(caller),目标寄存器来自被调用过程(callee),该指令自动修改寄存器窗口指针CWP–
-RESTORE:功能同ADD,源寄存器来自被调用过程(callee),目标寄存器来自调用过程(caller),该指令自动修改寄存器窗口指针CWP++
AMD AM29000的局部寄存器窗口大小可变,全局寄存器64个
在这里插入图片描述

8)PowerPC特色-Link和Count寄存器
寄存器说明:
-Link寄存器用于保存返回地址,实现快速过程调用
-Count寄存器用于循环计数,每次自动递减
这两个寄存器还可以放转移地址
PowerPC其他特色:
-PowerPC不用Delay Slot
-Load和Store指令同时存取多个寄存器(多达32个)
-Load和Store字符串(变长或定长、对齐或不对齐)

9)PA-RISC的Nullification
①根据当前指令执行结果确定下一条指令是否执行(所有的转移指令和多数算术指令可用)
-如ADDB(Add and branch)指令在完成加法后,检查加法结果是否满足条件,如果不满足就转移。同时判断下一条指令(延迟槽)是否执行。
可以消除一些简单的转移指令:
在这里插入图片描述
②其它指令系统有条件移数指令如“CMOV”;
③后来演化为IA64的谓词技术:运算指令通过64个谓词寄存器决定结果是否保存

(4)Alpha和PowerPC比较
在这里插入图片描述
-PowerPC的load-with-update和store-with-update指令适合于数组运算,Alpha没有寄存器加寄存器的寻址方式,指向数组的指针每次分别递增;
-在Alpha中,循环次数由指针实现,在PowerPC中,有CTR专门用于保存循环次数
-PowerPC只需两条浮点指令:乘及乘加
-Alpha需要10条指令,比PowerPC多4条
-Alpha指令简单容易高效实现,主频也高

(5)RISC指令系统小结
对于一个程序在上述四种RISC结构上的执行,平均90%以上的指令为四个指令系统共有的;
在这里插入图片描述

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

相关文章

  1. mysql数据库操作

    mysql数据库操作 记录不熟数据类型 二进制类型BINARY(M) 字节数为 M,允许长度为 0~M 的定长二进制字符串 VARBINARY(M) 允许长度为 0~M 的变长二进制字符串,字节数为值的长度加 1 TINYBLOB 可变长二进制数据,最多 255 个字节 BLOB 可变长二进制数据,最多(216-1)个字节 M…...

    2024/5/8 16:36:34
  2. LO-RANSAC Algorithm

    matlab 编译loransac,lapackmex ranH.c时一直链接错误。原来mex在编译多个文件时要把所有的C文件都列出来。命令如下:mex loransacH.mex.c ranH.c utools.c Htools.c lapwrap.c matutl.c rtools.c -ID:\lapack\headers\lapack -LD:\lapack - lcbia.lib.lapack.dyn.rel.x64.1…...

    2024/5/8 20:26:20
  3. Java集合概述

    集合总览 Collection的实现接口以及子实现类,功能以及特点 集合的顶层接口:Collection 下面主要有:三个接口分别是 List Set Queue List列表是有序的,有下标的,可重复的 Set集合是无序的,但是要把LinkHashSet除外,没有下表,不可重复…...

    2024/5/8 14:37:54
  4. PyCharm启动后进入编写代码环境的完整过程

    ((一))双击桌面PyCharm图标;(1)选择使用免费试用;(2)其他经测试无法成功的办法:(a)进入c:\windows\system32\drivers\etc,修改hosts。在尾部增加两行:0.0.0.0 account.jetbrains.com 0.0.0.0 www.jetbrains.com会提示无修改权限问题,用覆盖的方法去替换hosts文件…...

    2024/4/24 22:55:59
  5. 春节强力弹

    文章目录春节第一弹——思维导图2020.1.182020.1.192020.1.20春节第二弹——简历 春节第一弹——思维导图 写个东东,打算记录我未来 半个月的学习之路~ 第一弹就是思维导图,六个月的时间学习,花几天时间 梳理一下流程,想想自己学的啥?!! 在家里面很多时候都 不能在规定的…...

    2024/4/20 3:08:53
  6. 计算机等级考试数据库三级知识点汇总

    ** 计算机等级考试数据库三级知识点汇总 ** 数据库三级去年一次过的,后面一直在准备软考的事情,没有时间总结,最近终于整理好了,和大家分享一下数据库三级一些主要的知识点总结!希望对即将考试的同学也能有所帮助,欢迎指正! 第一章 数据库应用系统开发方法 1, 数据库应…...

    2024/5/8 13:37:04
  7. 【pytest】编写、注册及使用 fixture(测试夹具)

    什么是 fixture?fixture 是 pytest 的精髓,它是测试脚手架,有两个部分组成:用例前置:用例前置的作用就是准备测试用例的前置条件和测试数据,相当于 unittest 中的 setup() 的功能;用例后置:用例后置的作用就是在测试用例执行完毕之后进行前置条件和测试数据的清理、复原…...

    2024/3/29 13:37:03
  8. 2020年该如何学习linux系统教程,学霸总结了6点干货!

    Linux操作系统相比于十年前的普及程度已经有了大大提高,但是由于其桌面操作系统上的可视化窗口操作模式并不像Windows操作系统那样直观、完美,对于一些刚接触Linux的人或者初学者来说入手还是有一定的难度,所以其发展并不是那么迅速。更多内容学习 点击我但是近年来Linux已经…...

    2024/4/28 21:42:14
  9. 全网最全系统MySQL5.7.17安装教程配置(配详细的图文解释)

    mysql数据库零基础入门学习mysql数据库零基础入门学习mysql安装教程步骤9.90去订阅首先,下载 MySQL 数据库的安装包:mysql-5.7.17.msi.下载完成之后,双击打开此msi文件,进入如下界面:更多的系统学习内容 点我备注1:安装所有 MySQL 数据库需要的产品;备注2:仅仅使用 MyS…...

    2024/3/29 13:37:01
  10. 适合java初学者的Java学习网站,java学习路线及实践项目

    1. java学习网站 之前在很多学习网站上学习过Java,踩过很多坑,今天给大家推荐一个比较好用的Java学习网站,希望大家能少踩坑 Java教程 | 项目实践一站式java学习 这个网站的针对性强,如果你是想学习Java,在这个网站学习就挺好,只要简单注册就可以免费学习,先看一下它的学…...

    2024/4/1 21:24:54
  11. 杭州复杂美科技有限公司CEO吴思进: 企业为什么要自己上区块链?

    12月28日,在由中国信息通信研究院与人民政协报文化传媒联合主办,可信区块链推进计划协办的“区块链技术应用与发展”主题座谈会上吴思进谈到自己在区块链上已经作了六年,酸甜苦辣只有自己知道。现在得到的信息,不是说在考虑是否用什么产品做区块链,而是想区块链是我们必须…...

    2024/3/29 13:36:59
  12. 集成学习——NGBoost论文研读与原理理解

    NGBoost(Natural Gradient Boosting)是一个比较新的Boosting方法,它是2019年10月斯坦福吴恩达团队在arXiv上发表的,论文连接为:NGBoost: Natural Gradient Boosting for Probabilistic Prediction 可以从它的名字上看出来,该方法使用的是基于自然梯度的boosting方法,这种…...

    2024/4/11 20:43:02
  13. LeetCode 349- 两个数组的交集--简单

    题目描述:给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。来源:力扣(LeetCod…...

    2024/5/8 8:18:08
  14. 机器学习笔记(二)-预测神奇宝贝CP值

    1、为什么要预测神奇宝贝的CP值? CP(Combat Power)值指的是一只神奇宝贝的战斗力,每个神奇宝贝有初始CP值,在抓到一个神奇宝贝后投喂糖果之后就会进化,CP值增加。如果可以精确的预测一只神奇宝贝进化后的CP值,就可以提前决定是否进化这只神奇宝贝,放弃投喂进化后CP值较…...

    2024/5/8 19:04:26
  15. vim的一些常用配置

    set nu "显示行数set hlsearch "高亮度查找 set backspace=2 "可以使用退格键删除任意字符,当为01时,仅可删除输入字符,不可删除已存在的字符 set autoindent "自动缩进 set ruler "可显示最后一行状态 set showmode "左下角那一行的状体 set…...

    2024/3/29 7:05:09
  16. unity制作警报模式的效果(Light)

    最近在开发秘密行动(stealth) 里边的警报系统效果挺有趣的 这篇博客实现一下警报的效果 大致就是让一个灯光闪烁 首先創建一個Light 我們的思路是动态新修改Light中的Intensity来实现修改灯光的闪烁这个值越大 灯光越亮(还有可以修改Range(半径)来控制灯光的亮度) 我们只…...

    2024/3/30 15:59:22
  17. linux进程间通讯——管道的使用

    在linux中使用的进程间通信(IPC)方法有 1、管道(pipe)和有名管道(FIFO) 2、信号(signal) 3、消息队列 4、共享内存 5、信号量 6、套接字 下面介绍管道的用法: 管道是单向的、先进先出的,它把一个进程的输出和另一个进程的输入连接在一起,一个进程(写进程)往管道尾…...

    2024/5/7 0:31:42
  18. Android 代码对百度地图截图无法显示内容?

    使用百度自带的截图方法就可以了,新手难免会多踩坑. mBaiduMap.snapshot(new BaiduMap.SnapshotReadyCallback() {@Overridepublic void onSnapshotReady(Bitmap bitmap) {image.setImageBitmap(bitmap);}});上部分是原图像,下部分是截图粘上去的...

    2024/3/29 13:36:56
  19. 15.如何删除表格中选中的某一行

    ...

    2024/3/29 13:36:56
  20. JZOJ 6439. 【GDOI2020模拟01.17】小 ω 数排列

    JZOJ 6439. 【GDOI2020模拟01.17】小 ω 数排列 题目 DescriptionInputOutputSample Input Sample Input1 4 10 3 6 2 9 Sample Input2 8 35 3 7 1 5 10 2 11 6 Sample Output Sample Output1 6 【样例 1 解释】 共有 6 个排列符合条件,它们是 (1, 3, 2, 4),(2, 4, 1, 3),(3, …...

    2024/5/5 23:22:05

最新文章

  1. 头歌C语言课程实验(递归函数、嵌套函数)

    第1关:递归求阶乘数列 任务描述 题目描述:用递归求Sn1!2!3!4!5!…n!之值,其中n是一个数字。 相关知识(略) 编程要求 请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充。 输…...

    2024/5/8 23:05:03
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/7 10:36:02
  3. C++ typeid运算符介绍

    在 C 中,typeid() 是一个运算符,用于获取表达式的类型信息。typeid() 运算符在 C 中是一个强大的工具,可以用于获取对象的类型信息、类型比较、多态类型判断、异常处理以及类型转换安全检查等场景中。 1. 类型比较: 可以使用 ty…...

    2024/5/7 15:40:09
  4. WKWebView的使用

    一、简介 在iOS中,WKWebView是WebKit框架提供的一个用于展示网页内容的控件,相比UIWebView有更好的性能和功能。 以下是在iOS中使用WKWebView的基本步骤: 1.1 导入WebKit框架 import WebKit1.2 创建WKWebView实例 let webView WKWebVie…...

    2024/5/8 18:01:10
  5. 基于单片机的数字万用表设计

    **单片机设计介绍,基于单片机的数字万用表设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的数字万用表设计概要是关于使用单片机技术来实现数字万用表功能的一种设计方案。下面将详细概述该设计的各个…...

    2024/5/8 7:24:20
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/8 6:01:22
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/7 9:45:25
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/7 14:25:14
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/7 11:36:39
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/8 20:48:49
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/7 9:26:26
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/8 19:33:07
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/8 20:38:49
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/6 21:42:42
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57