当前位置: 首页 > news >正文

计算机组成原理----指令系统课后习题

对应的知识点:

指令系统

扩展操作码的计算:

公式:

对扩展操作码而言,若地址长度为n,上一层留出m种状态,下一层可扩展出 mx2^n 种状态

1.设计某指令系统时,假设采用 16 位定长指令字格式,操作码使用扩展编码方式,地址码为6位,包含零地址,一地址和二地址3种格式的指令,若二地址指令有12条,一地址指令有254条,则零地址指令的条数最多为()

A.0        B.2        C.64        D.128

答案:D

先分析一下:

二地址指令占12(2*6=12)位地址空间,4位用来表示操作码,二地址指令有12条,那么剩余16-12=4条操作码扩展给一地址指令。

0000~1011  xxxx xxxx xxxx

一地址指令格式为:

11xx xxxx xxxx xxxx,其中低6位为地址码,一地址指令有254条,那么一地址指令可表示的范围:

1100 0000 00xx xxxx~1111 1111 01xx xxxx

其中,00 0000 00~11 1111 01表示0~253,总共254条指令。剩余256-254=2条指令扩展给零地址指令。

1111 1111 1xxx xxxx,前9位固定,因为超过1111 1111 01xx xxxx,就是零地址能表示的范围了。剩余位为16-9=7。所以零地址指令的条数最多为2^7=128条。

直接用公式:

二地址指令有12条,则剩余16-12=4种操作码给一地址指令,一地址指令有254条,4*2^6-254=2种操作码给零地址指令,所以零地址指令一共有2*2^6=128条。

还可以这么想:

地址码为6位,一条二地址指令会占用2^6条一地址指令的空间,一条一地址指令会占用2^6条零地址指令的空间。若全都是零地址指令,则最多有2^16条,减去一地址指令和二地址指令所占用的零地址指令空间,即2^16-254x2^6-12x2^6x2^6=128。

2.某计算机按字节编址,指令字长固定且只有两种指令格式,其中三地址指令29条、二地址指令107条,每个地址字段为6位,则指令字长少应该是()

A.24位        B.26位        C.28位        D.32位

答案:A

分析:三地址指令有29条,需要至少5位操作码,最后会剩余:2^5=32 ,32-29=3种操作码扩展给二地址指令,而二地址额外多了6位操作码(地址码比三地址指令少6位),所以数量最大达到3*64=192条。所以指令字长最少为5+6+12=23位。

又因为计算机按字节编址,需要8的倍数,所以指令字长至少为24位。

指令寻址方式:

1.寄存器 R1、R2 均为 16 位,指令 MOV R1,[R2]的功能是把内存数据传送至寄存器 R1,寻址方式为寄存器间接寻址。R2的值为1234H,内存单元1234H存放数据56H,内存单元 1235H 存放数据 78H,采用小端方式存储。则执行指令后R1的值为()。

A.5678H        B. 7856H        C.8765H        D.6587H

答案:B

MOV R1,[R2]指的是将R2寄存器的内容放到R1中,又因为R1,R2是16位寄存器,所以可以取出两个内存单元的数据放到R1中,即取出1234和1235的内容"5678",小端方式存储和阅读顺序是反的,所以R1的值为“7856”

2.某计算机机的字长为 16 位,主存按字编址。转移指令由两个字节组成,采用相对寻址,第一个字节为操作码字段,第二个字节为相对偏移量字段。若某转移指令所在的主存地址为 4000H,相对偏移量字段的内容为06H,则该转移指令执行后的PC值为()。

A.4002H       B. 4004H        C.4007H         D.4008H

答案:C

转移指令的目标地址一定是当前指令的下一条指令作为基址+偏移量。

由于主存按字编址,而转移指令又由两个字节组成,刚好就是一个字,所以只需要PC+1就可以。

如果这个这里说的是“主存按字节编址”,那么PC自增的时候就是PC+2

转移指令执行后的PC值为:4000H+06H+1=4007H

3.某机器指令字长为 16 位,主存按字节编址,取指令时,每取一字节,PC自动加1。当前指令地址为 2000H,指令内容为相对寻址的无条件转移指令,指令中的形式地址为40H。则取指令后及指令执行后PC的内容为()

A.2000H,2042H        B.2002H,2040H        C.2002H,2042H        D.2000H,2040H

答案:C

1.取一个字节,PC+1,指令字长为16位(2个字节),所以取指令后PC的内容为:PC+2=2002

2.转移指令的目标地址:需要将当前指令的下一条指令作为基地址+偏移量:

2000+2+40=2042

同个题型:

某机器字长为 16位,主存按字节编址,转移指令采用相对寻址,由 2字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定取指令时,每取一字节 PC 自动加 1。若某转移指令所在主存地址为 2000H,相对位移量字段的内容为06H,则该转移指令成功转移后的目标地址是()

A.2006H        B.2007H        C.2008H        D.2009H

答案:C

2000+2+06=2008

4.某计算机的主存容量为4M*16 位,且存储字长等于指令字长,若该机能完成 97 种操作,操作码位数固定,且有直接、间接、基址、变址、相对、立即六种寻址方式,则相对寻址的偏移量范围为()

A.(-32,+31)
B.(-64,+63)
C.(-128,+127)
D.(-256,+255)

答案:A

指令由操作码+寻址特征+地址码组成:

97种操作对应至少2^7=128种操作码,即操作码位数有7位;6种寻址方式对应至少3位地址。内存地址有16位,所以偏移量为:16-7-3=6位。

偏移量是用补码表示的,n位补码表示范围是-2^{n-1}~2^{n-1}-1,所以6位能表示的范围:

-2^{5}~2^5-1(-32~31)

同一题型:

某计算机采用 16 位定长指令字格式,操作码位数和寻址方式位数固定,指令系统有 48 条指令,支持直接、间接、立即、相对4种寻址方式。在单地址指令中,直接寻址方式的可寻址范围是()。A.0~255        B.0~1023        C.-128~127        D.-512~511

答案:A

48条指令,所以操作码字段为6位(2^6=64),又因为有4种寻址方式,所以寻址特征需要2位(2^2=4),地址字段:16-6-2=8位。

因为采用直接寻址,所以地址码字段放的是主存地址,主存地址是无符号数,所以这个问题就转化为了8位无符号数的寻址范围:0~2^8-1

5.对按字寻址的机器,程序计数器和指令寄存器的位数各取决于()

A.机器字长,存储器的字数        

B.存储器的字数,指令字长

C.指令字长,机器字长

D.地址总线宽度,存储器的字数

答案:B

机器按字寻址,程序计数器PC给出下一条指令字的访存地址(指令在内存中的地址),因此取决于存储器的字数;指令寄存器(IR)用于接收取得的指令,因此取决于指令字长。

6.设相对寻址的转移指令占 3B,第一字节为操作码,第二、三字节为相对位移量(补码表示),而且数据在存储器中采用以低字节为字地址的存放方式。每当 CPU 从存储器取出一字节时,即自动完成(PC)+1→PC。若 PC的当前值为 240(十进制),要求转移到290(十进制 ),则转移指令的第二、三字节的机器代码是( );若 PC 的当前值为 240(十进制),要求转移到 200(十进制),则转移指令的第二、三字节的机器代码是( )。

A. 2FH、FFH        B. D5H、00H                C. D5H、FFH        D.2FH、00H

答案:D,C

① 数据在存储器中采用以低字节为字地址的存放方式,表示采用小端存储。小端存储表示数据低位存放在低地址空间,大端存储表示数据的高位存放在低地址空间。就拿低地址空间来记就可以了,如果低地址放的是数据低位(低字节)就是小端存储,如果低地址放的是数据高位(高字节)就是大端存储。

"以低字节为字地址的存放方式”,字的地址取低地址作为字地址,例如下图,大端方式存储:低地址存放在数据高位,那么他的字地址就是12H。小端方式存储,他的字地址就是34H。以低字节为字地址,也就是低字节数据放在低地址,所以是小端存储方式。

② PC当前值是240,执行完转移指令后,PC的值为290,所以

240+3(PC+3)+x(偏移量)=290,x=47=101111(2进制)。转移指令占3B,第一字节为操作码,第二、三字节为相对位移量,并且用补码表示,所以101111扩展为16位:
0000 0000 0010 1111---->002F(16进制),采用小端存储:2F00

注意:小端存储只是字节之间的顺序颠倒,字节内的顺序不能动。

③ 同理 240+3+x=200,x=-43

-43对应的补码(16位):1111 1111 1101 0101---->FFD5(16进制),采用小端存储:D5FFH

7.某计算机按字节编址,采用大端方式,某指令的一个操作数的机器数为 ABCD 00FFH,该操作数采用基址寻址方式,指令中形式地址(用补码表示)为FF00H,当前基址寄存器的内容为 C000 0000H,则该操作数的LSB(即FFH)存放的地址是()。

A.C000 FF00H         B.C000 FF03H         C.BFFF FF00H         D.BFFF FF03H

答案:D

操作数的有效地址:C000 0000H+FFFF FF00H=BFFF FF00H。

由于计算机按字节编址,采用大端方式:

所以在存储单元BFFF FF00H(低地址)中放高字节ABH(1字节),BFFFF FF01H放CDH,BFFFF FF02H放00H,  BFFFF FF03H放FFH。      

问机器数ABCD 00FFH中的"FFH"存放在哪里?答案就是BFFFF FF03H。

同一题型:

某计算机采用大端方式,按字节编址。某指令中操作数的机器数为 1234 FF00H,该操作数采用基址寻址方式,形式地址(用补码表示)为FF12H,基址寄存器的内容为 F000 0000H,则该操作数的LSB(最低有效字节)所在的地址是()。

A.FO00 FF12H         B. F000 FF15H        C.EFFF FF12H        D. EFFF FF15H

答案:D

基址寻址方式,基址寄存器的内容不变,即F000 0000H,形式地址为FF12H,所以操作数的有效地址:

F000 0000H+FFFF FF12H=EFFF FF12H,又因为采用大端方式(低地址存放高字节数据),按字节编址,所以EFFF FF12H中存放的是"12H" ,EFFF FF13H中存放"34H",

EFFF FF​​​​​​​14H存放"FFH",EFFF FF15H存放"00H",所以操作数的LSB(最低有效字节)所在的地址(00H)是:

EFFF FF​​​​​​​15H

8.某机器有一个标志寄存器,其中有进位/借位标志 CF、零标志 ZF、符号标志 SF 和溢出标志 OF,条件转移指令 bgt(无符号整数比较大于时转移)的转移条件是( )
A.CF+OF=1        B.\overline{SF}+ZF=1        C.\overline{CF+ZF}=1        D.\overline{CF+SF}=1

答案:C

对于无符号数而言,SF和OF无意义,其实就可以选出C了。

大于的时候转移,即两个数进行相减操作,CF=0(只有不够减才会借位),ZF也为0(ZF是1说明结果为0),所以\overline{CF+ZF}=1   

9.某计算机有 16 个通用寄存器,采用 32 位定长指令字,操作码字段(含寻址方式位)为8位,STORE指令的源操作数和目的操作数分别采用寄存器直接寻址和基址寻址方式。若基址寄存器可使用任意一个通用寄存器,且偏移量用补码表示,则STORE指令中偏移量的取值范围是()

A.-32768~+32767
B.-32767~+32768
C.-65536~+65535
D.-65535~+65536

答案:A

指令的组成:

操作码字段:8位        源操作数的寻址特征(寻址方式):4位(16位通用寄存器)

目的操作数的寻址特征(寻址方式):4位        偏移量:32-8-4-4=16位。

16位补码的取值范围:-32768~+32767

答案:C

先变址后间址:

(I)+D:存放有效地址的地址。

((I)+D):操作数的有效地址。

(((I)+D )):操作数。

10.按字节编址的计算机中,某 double 型数组 A 的首地址为 2000H,使用变址寻址和循环结构访问数组 A,保存数组下标的变址寄存器的初值为 0,每次循环取一个数组元素,其偏移地址为变址值乘以 sizeof(double),取完后变址寄存器的内容自动加 1。若某次循环所取元素的地址为2100H,则进入该次循环时变址寄存器的内容是()。

A. 25        B. 32        C.64        D.100

答案:B

每个数组元素的地址:2000H(起始地址)+变址寄存器的内容*sizeof(double)

  2100H=2000H+变址寄存器的内容*8(double型)----->100H(16进制)=256(10进制),256/8=32,所以变址寄存器的内容为32。

指令系统:

1.假设 R[ax]= FFE8H,R[bx]=7FE6H,执行指令“add ax,bx”后,寄存器的内容和各标志的变化为( )
A. R[ax]=7FCEH,OF=1,SF=0,CF=0,ZF=0
B. R[bx]=7FCEH,OF=1,SF=0,CF=0,ZF=0
C.R[ax]=7FCEH,OF=0,SF=0,CF=1,ZF=0
D.R[bx]=7FCEH,OF=0,SF=0,CF=1,ZF=0​​​​​​​

答案:C

OF(溢出)=C_{n}\bigoplus C_{n-1},最高位的进位异或次高位的进位,所以OF=1

SF(符号):计算结果为正,所以SF=0

CF(进位/借位):Sub \bigoplus Cout,Sub:加法0,减法1        Cout:最高位的进位

所以CF=0\bigoplus 1=1

ZF(零标志位):ZF=0

2.假设 R[ax]= 7FE6H,R[bx]=FFE8H,执行指令“sub bx,ax”后,寄存器的内存和各标志的变化为()。
A.R[ax]=8002H,OF=0,SF=1,CF=1,ZF=0
B. Rbx]=8002H,OF=0,SF=1,CF=0,ZF=0
C.R[ax]=8002H,OF=1,SF=1,CF=0,ZF=0
D.R[bx]=8002H,OF=1,SF=1,CF=0,ZF=0

答案:B

“sub bx,ax”,就是bx-ax

减法转加法:bx - ax--->bx+(-ax)

怎么将ax转为-ax:ax的全部位取反,末位+1

        1111 1111 1110 1000

+      1000 0000 0001 1010 

---------------------------------------

    (1)1000 0000 0000 0010

所以  OF=1\bigoplus1=0,SF=1,CF=Sub \bigoplus Cout=1\bigoplus1=0,ZF=0       

3.某计算机的数据采用小端方式存储,减法指令“sub ax,imm”的功能为(ax)-imm→ax,imm 表示立即数,该指令对应的十六进机器码为 2dxxxx(从左到右以字节为单位由低地址到高地址),其中xxxx对应 imm 的机器码,若imm= -3 ,(ax)=7,则该指令对应的机器码和执行后 OF 标志位的值分别为()。

A.2DFFFDH,0        B2DFFFDH,1        C.2DFDFFH,0        D.2DFDFFH,1

答案:C

① -3的机器数为(别忘了符号扩展):1111 1111 1111 1101(2进制)=FFFD(16进制)

采用小端方式存储,所以低地址存放的是低字节数据,所以题目中

“2dxxxx(从左到右以字节为单位由低地址到高地址)”,对应的机器码就是2dFDFF:

FD是一个字节,FF是一个字节,字节间颠倒,字节内不用颠倒。

② 运算的时候是一定是按2个字节进行运算:

也就是不能按照

     0111

+   0011(-3全部位取反+1)

--------------

(0) 1010

这样算得到的OF=1,是错的。

需要按照

0007H-FFFDH计算:

     0000 0000 0000 0111

+   0000 0000 0000 0011

-----------------------------------

     0000 0000 0000 1010

这样算是正确的,OF=0

4.假设 R[eax]=080480B4H,R[ebx]=00000011H,M[080480F8H]=000000B0H,执行指令

“imul eax,[eax+ebx*4],-16”后,寄存器或存储单元的内容变为( )。

A.R[eax]=00000B00H          B. M[080480F8H]=00000B00H

C.R[eax]= FFFFF500H        D.M[080480F8H]=FFFFF500H

答案:C

[eax+ebx*4]*(-16)--->eax

ebx*4:就是让ebx的内容左移2位

00000011--->000000(没有拆) 0001 0001----左移两位--->000000(没有拆) 0100 0100

eax+ebx*4:

0804 80F8H+0000 0044 = 0804 80F8H

*(-16):先将其看作*16,即左移4位(2^4=16)

000000B0H--->00000(没拆) 0000 1011 0000---左移四位--->00000(没拆)  1011 0000 0000

即00000 B 00 H

继续乘-1,相当于取了相反数,即全部位取反,再加1:

00000 B 00 H--->FFFFF 0101 0000 0000=FFFFF500

5.程序P中有两个变量i和j,被分别分配在寄存器 eax 和 edx 中,P 中语句“if(i<j) {...}”,对应的指令序列如下(左边为指令地址,中间为机器代码,右边为汇编指令),其中jle指令的偏移量为 0d:

若执行到 804846aH 处的cmp指令时,i=105,j=100,则 jle 指令执行后将会转到()处的指令执行。
A. 8048461H
B.804846eH
C.8048479H
D.804847bH

答案:D

① jle表示jump if less or equal,如果edx-eax的结果<=0,那么就执行jle。

② 100-105为负数,所以要执行jle,执行完jle后,PC自增,有图片可以看出每次自增+2

(804846a---->804846c)

所以最后会转到:804846c+2+0d=8048 47bH

相关文章:

计算机组成原理----指令系统课后习题

对应的知识点&#xff1a; 指令系统 扩展操作码的计算&#xff1a; 公式&#xff1a; 对扩展操作码而言&#xff0c;若地址长度为n&#xff0c;上一层留出m种状态&#xff0c;下一层可扩展出 mx2^n 种状态 1.设计某指令系统时&#xff0c;假设采用 16 位定长指令字格式&#…...

yolov8环境搭建+训练自己数据集

一、yolov8环境搭建 1. 安装miniconda环境 地址&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda 选择Python3.8版本 最好安装在C盘 勾选自动添加环境变量 ***以下操作安装过程中关闭代理软件 *** 2. 创建虚拟环境 conda create -n yolov8 python3…...

Eureka 学习笔记(1)

一 、contextInitialized() eureka-core里面&#xff0c;监听器的执行初始化的方法&#xff0c;是contextInitialized()方法&#xff0c;这个方法就是整个eureka-server启动初始化的一个入口。 Overridepublic void contextInitialized(ServletContextEvent event) {try {init…...

视觉新纪元:解码LED显示屏的视角、可视角、最佳视角的最终奥秘

在璀璨夺目的LED显示屏世界里&#xff0c;每一个绚烂画面的背后&#xff0c;都离不开三个关键概念&#xff1a;视角、可视角与最佳视角。这些术语不仅是衡量显示效果的重要标尺&#xff0c;也是连接观众与精彩内容的桥梁。让我们一起走进这场视觉盛宴&#xff0c;探索那些让LED…...

Benchmarking Panoptic Scene Graph Generation (PSG), ECCV‘22 场景图生成,利用PSG数据集

2080-ti显卡复现 源代码地址 Jingkang50/OpenPSG: Benchmarking Panoptic Scene Graph Generation (PSG), ECCV22 (github.com) 安装 pytorch 1.7版本 cuda10.1 按照readme的做法安装 我安装的过程如下图所示,这个截图是到了pip install openmim这一步 下一步 下一步 这一步…...

Linux 文件权限

优质博文&#xff1a;IT-BLOG-CN 一、使用者与群组的概念 【1】在Linux里面&#xff0c;任何一个文件都具有[User,Group及Other]三种身份的个别权限&#xff1a;不过需要注意的是root用户&#xff0c;具有所有权限。 ✔ User(文件拥有者)&#xff1a;只有文件拥有者&#xf…...

IOS Swift 从入门到精通:算术运算,运算符重载,符合赋值运算,比较运算,条件,结合条件,三元运算,Swift语句,范围运算

目录 算术运算符 运算符重载 复合赋值运算符 比较运算符 条件 结合条件 三元运算符 Switch 语句 范围运算符 总结 算术运算符 现在您已经了解了 Swift 中的所有基本类型&#xff0c;我们可以开始使用运算符将它们组合在一起。运算符是那些像和 这样的小数学符号-&…...

Flutter开发环境搭建和调试

[你的Flutter文件夹路径]\flutter\bin 这样我们的Flutter SDK的环境变量就配置完毕了。接下来在命令提示符窗口中输入命令&#xff1a; flutter doctor 它可以帮助我们检查Flutter环境变量是否设置成功&#xff0c;Android SDK是否下载以及配置好环境变量等等。如果有相关的…...

【IC验证】UVM实验lab03

1. TLM端口的创建、例化与使用 创建&#xff1a; uvm_get_blocking_port #(fmt_trans) mon_bp_port; 例化&#xff1a; function new(string name "mcdf_refmod", uvm_component parent);super.new(name, parent);fmt_trans new("fmt_trans", this);…...

document.write()方法总结

document.write()方法总结 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;document.write()方法是JavaScript中用于向HTML文档写入内容的方法之一。它允许我们在…...

C#循环语句总结

前言 正所谓磨刀不误砍柴工&#xff0c;C#上位机软件开发能力的提升离不开对C#语法的精通&#xff0c;本文接着讲解C#语法知识中的循环语句&#xff0c;在C#程序开发中我们经常会用到各种循环语句&#xff0c;常见的有for循环、while循环&#xff0c;本文就是对C#中用到的各种…...

Spring-bean

Spring 网站&#xff1a;spring.io 两个方面&#xff1a; 简化开发&#xff1a; IoCAOP 框架整合&#xff1a; MyBatis SpringFrameWork系统架构&#xff08;上层依赖下层&#xff09; 解决问题&#xff08;代码耦合度高——模块与模块之间的依赖程度&#xff09; 目标&am…...

Linux常用命令(14)—查看文件内容(有相关截图)

写在前面&#xff1a; 最近在学习Linux命令&#xff0c;记录一下学习Linux常用命令的过程&#xff0c;方便以后复习。仅供参考&#xff0c;若有不当的地方&#xff0c;恳请指正。如果对你有帮助&#xff0c;欢迎点赞&#xff0c;关注&#xff0c;收藏&#xff0c;评论&#xf…...

【html】用html+css实现银行的账户信息表格

我们先来看一看某银行的账户信息表格 我们自己也可以实现类似的效果 效果图: 大家可以看到&#xff0c;其实效果差不多 接下来看看我们实现的代码 源码&#xff1a; <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8"&…...

两种单例模式(保证线程安全)

开始前&#xff0c;球球各位读者给个三连吧&#xff0c;有错误感谢指出&#xff0c;谢谢 单例模式也叫单个实例&#xff0c;也就是这个类只有且只能有一个实例对象&#xff0c;这样一个类就叫做“单例”&#xff1b;单例模式有很多种&#xff0c;这里只介绍“饿汉模式”和“懒…...

开发 Golang 项目的 Docker 化案例

开发 Golang 项目的 Docker 化案例 在这个案例中&#xff0c;我们将展示如何使用 Docker 容器化一个简单的 Golang Web 应用。我们将创建一个基于 Go 的 Hello World 应用&#xff0c;并使用 Docker 和 Docker Compose 管理容器化环境。 1. 创建 Golang Web 应用 首先&#…...

PHP面试宝典之Laravel篇

Laravel简介 Laravel是一种优雅的PHP Web应用程序框架&#xff0c;它具有简洁、优雅的语法&#xff0c;并提供了强大的工具用于构建大型、健壮的应用程序。Laravel采用了现代PHP开发的最佳实践&#xff0c;因此深受开发者欢迎。 Laravel面试常见问题 1. 什么是Laravel中间件…...

自动驾驶仿真:Carsim转向传动比设置

文章目录 一、转向传动比概念二、设置转向传动比1、C factor概念2、Steer Kinematics概念3、传动比计算公式 三、转向传动比验证 一、转向传动比概念 转向传动比&#xff08;Steering Ratio&#xff09;表示方向盘转动角度与车轮转动角度之间的关系。公式如下&#xff1a; 转向…...

PyTorch nn.CrossEntropyLoss() 交叉熵损失函数详解和要点提醒

文章目录 前置知识nn.CrossEntropyLoss() 交叉熵损失参数数学公式带权重的公式&#xff08;weight&#xff09;标签平滑&#xff08;label_smoothing&#xff09; 要点 附录参考链接 前置知识 深度学习&#xff1a;关于损失函数的一些前置知识&#xff08;PyTorch Loss&#x…...

DW学习笔记|数学建模task2

本章主要涉及到的知识点有&#xff1a; 微分方程的解法如何用 Python 解微分方程偏微分方程及其求解方法微分方程的基本案例差分方程的求解数值计算方法元胞自动机 2.1 微分方程的理论基础 微分方程是什么&#xff1f;如果你参加过高考&#xff0c;可能在高三备考中遇到过这…...

【大数据 复习】第9章 数据仓库分析工具Hive

一、概念 1.概述 &#xff08;1&#xff09;Hive是一个构建于Hadoop顶层的数据仓库工具。 &#xff08;2&#xff09;某种程度上可以看作是用户编程接口&#xff0c;本身不存储和处理数据。 &#xff08;3&#xff09;依赖分布式文件系统HDFS存储数据。 &#xff08;4&#xf…...

ionic7 从安装 到 项目启动最后打包成 apk

报错处理 在打包的时候遇到过几个问题&#xff0c;这里记录下来两个 Visual Studio Code运行ionic build出错显示ionic : 无法加载文件 ionic 项目通过 android studio 打开报错 capacitor.settings.gradle 文件不存在 说明 由于之前使用的是 ionic 3&#xff0c;当时打包的…...

setInterval 定时任务执行时间不准验证

一般在处理定时任务的时候都使用setInterval间隔定时调用任务。 setInterval(() > {console.log("interval"); }, 2 * 1000);我们定义的是两秒执行一次&#xff0c;但是浏览器实际执行的间隔时间只多不少。这是由于浏览器执行 JS 是单线程模式&#xff0c;使用se…...

Stable Diffusion Model网站

Civitai Models | Discover Free Stable Diffusion Modelshttps://www.tjsky.net/tutorial/488https://zhuanlan.zhihu.com/p/610298913超详细的 Stable Diffusion ComfyUI 基础教程&#xff08;一&#xff09;&#xff1a;安装与常用插件 - 优设网 - 学设计上优设 (uisdc.com)…...

K8S - 实现statefulset 有状态service的灰度发布

什么是灰度发布 Canary Release 参考 理解 什么是 滚动更新&#xff0c;蓝绿部署&#xff0c;灰度发布 以及它们的区别 配置partition in updateStrategy/rollingUpdate 这次我为修改了 statefulset 的1个yaml file statefulsets/stateful-nginx-without-pvc.yaml: --- apiVe…...

Qt 技术博客:深入理解 Qt 中的 delete 和 deleteLater 与信号槽机制

在 Qt 开发中&#xff0c;内存管理和对象生命周期的处理是至关重要的一环。特别是在涉及信号和槽机制时&#xff0c;如何正确删除对象会直接影响应用程序的稳定性。本文将详细讨论在使用 Qt 的信号和槽机制时&#xff0c;delete 和 deleteLater 的工作原理&#xff0c;并给出最…...

自学鸿蒙HarmonyOS的ArkTS语言<一>基本语法

一、一个ArkTs的目录结构 二、一个页面的结构 A、装饰器 Entry 装饰器 : 标记组件为入口组件&#xff0c;一个页面由多个自定义组件组成&#xff0c;但是只能有一个组件被标记 Component : 自定义组件, 仅能装饰struct关键字声明的数据结构 State&#xff1a;组件中的状态变量…...

【OpenGauss源码学习 —— (ALTER TABLE(列存修改列类型))】

ALTER TABLE&#xff08;列存修改列类型&#xff09; ATExecAlterColumnType 函数1. 检查和处理列存储表的字符集&#xff1a;2. 处理自动递增列的数据类型检查&#xff1a;3. 处理生成列的类型转换检查&#xff1a;4. 处理生成列的数据类型转换&#xff1a; build_column_defa…...

【大数据 复习】第7章 MapReduce(重中之重)

一、概念 1.MapReduce 设计就是“计算向数据靠拢”&#xff0c;而不是“数据向计算靠拢”&#xff0c;因为移动&#xff0c;数据需要大量的网络传输开销。 2.Hadoop MapReduce是分布式并行编程模型MapReduce的开源实现。 3.特点 &#xff08;1&#xff09;非共享式&#xff0c;…...

Zookeeper:节点

文章目录 一、节点类型二、监听器及节点删除三、创建节点四、监听节点变化五、判断节点是否存在 一、节点类型 持久&#xff08;Persistent&#xff09;&#xff1a;客户端和服务器端断开连接后&#xff0c;创建的节点不删除。 持久化目录节点&#xff1a;客户端与Zookeeper断…...

生产级别的 vue

生产级别的 vue 拆分组件的标识更好的组织你的目录如何解决 props-base 设计的问题transparent component &#xff08;透明组件&#xff09;可减缓上述问题provide 和 inject vue-meta 在路由中的使用如何确保用户导航到某个路由自己都重新渲染&#xff1f;测试最佳实践如何制…...

kafka(五)spring-kafka(1)集成方法

一、集成 1、pom依赖 <!--kafka--><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId></dependency><dependency><groupId>org.springframework.kafka</groupId><artif…...

Java中的设计模式深度解析

Java中的设计模式深度解析 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在软件开发领域&#xff0c;设计模式是一种被广泛应用的经验总结和解决方案&#x…...

鸿蒙 HarmonyOS NEXT星河版APP应用开发—上篇

一、鸿蒙开发环境搭建 DevEco Studio安装 下载 访问官网&#xff1a;https://developer.huawei.com/consumer/cn/deveco-studio/选择操作系统版本后并注册登录华为账号既可下载安装包 安装 建议&#xff1a;软件和依赖安装目录不要使用中文字符软件安装包下载完成后&#xff0…...

[FreeRTOS 基础知识] 互斥访问与回环队列 概念

文章目录 为什么需要互斥访问&#xff1f;使用队列实现互斥访问休眠和唤醒机制环形缓冲区 为什么需要互斥访问&#xff1f; 在裸机中&#xff0c;假设有两个函数&#xff08;func_A, func_B&#xff09;都要修改a的值&#xff08;a&#xff09;&#xff0c;那么将a定义为全局变…...

音视频的Buffer处理

最近在做安卓下UVC的一个案子。正好之前搞过ST方案的开机广告&#xff0c;这个也是我少数最后没搞成功的项目。当时也有点客观原因&#xff0c;当时ST要退出机顶盒市场&#xff0c;所以一切的支持都停了&#xff0c;当时啃他家播放器几十万行的代码&#xff0c;而且几乎没有文档…...

【总结】攻击 AI 模型的方法

数据投毒 污染训练数据 后门攻击 通过设计隐蔽的触发器&#xff0c;使得模型在正常测试时无异常&#xff0c;而面对触发器样本时被操纵输出。后门攻击可以看作是特殊的数据投毒&#xff0c;但是也可以通过修改模型参数来实现 对抗样本 只对输入做微小的改动&#xff0c;使模型…...

Linux配置中文环境

文章目录 前言中文语言包中文输入法中文字体 前言 在Linux系统中修改为中文环境&#xff0c;通常涉及以下几个步骤&#xff1a; 中文语言包 更新源列表&#xff1a; 更新系统的软件源列表和语言环境设置&#xff0c;确保可以安装所需的语言包。 sudo apt update sudo apt ins…...

深入解析 iOS 应用启动过程:main() 函数前的四大步骤

深入解析 iOS 应用启动过程&#xff1a;main() 函数前的四大步骤 背景描述&#xff1a;使用 Objective-C 开发的 iOS 或者 MacOS 应用 在开发 iOS 应用时&#xff0c;我们通常会关注 main() 函数及其之后的执行逻辑&#xff0c;但在 main() 函数之前&#xff0c;系统已经为我们…...

textarea标签改写为富文本框编辑器KindEditor

下载 - KindEditor - 在线HTML编辑器 KindEditor的简单使用-CSDN博客 一、 Maven需要的依赖&#xff1a; 如果依赖无法下载&#xff0c;可以多添加几个私服地址&#xff1a; 在Maven框架中加入镜像私服 <mirrors><!-- mirror| Specifies a repository mirror site to…...

高通安卓12-Input子系统

1.Input输入子系统架构 Input Driver(Input设备驱动层)->Input core(输入子系统核心层)->Event handler(事件处理层)->User space(用户空间) 2.getevent获取Input事件的用法 getevent 指令用于获取android系统中 input 输入事件&#xff0c;比如获取按键上报信息、获…...

HTML 事件

HTML 事件 HTML 事件是发生在 HTML 元素上的交互瞬间,它们可以由用户的行为(如点击、按键、鼠标移动等)或浏览器自身的行为(如页面加载完成、图片加载失败等)触发。在 HTML 和 JavaScript 的交互中,事件扮演着核心角色,允许开发者创建动态和响应式的网页。 常见的 HTM…...

Mysql 官方提供的公共测试数据集 Example Databases

数据集&#xff1a;GitHub - datacharmer/test_db: A sample MySQL database with an integrated test suite, used to test your applications and database servers 下载 test_db: https://github.com/datacharmer/test_db/releases/download/v1.0.7/test_db-1.0.7.tar.gz …...

Docker 下载与安装以及配置

安装yum工具 yum install -y yum-ulits配置yum源 阿里云源 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装Docker 17.03后为两个版本&#xff1a; 社区版&#xff08;Community Edition&#xff0c;缩写为 CE&#x…...

Java中的集合框架详解:List、Set、Map的使用场景

Java中的集合框架详解&#xff1a;List、Set、Map的使用场景 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在Java编程中&#xff0c;集合框架是一个非常重要…...

[Django学习]前端+后端两种方式处理图片流数据

方式1&#xff1a;数据库存放图片地址,图片存放在Django项目文件中 1.首先&#xff0c;我们现在models.py文件中定义模型来存放该图片数据,前端传来的数据都会存放在Django项目文件里的images文件夹下 from django.db import modelsclass Image(models.Model):title models.C…...

如何配置IOMMU或者SWIOTLB

1. 前言 这篇文章说明了如何在Linux内核中启用和配置IOMMU和SWOTLB。 当今的计算或者嵌入设备使用一种内存分区的方法进行外设的管理&#xff0c;如显卡、PCI设备或USB设备&#xff0c;都将设备映射为一段内存&#xff0c;用于设备的读写。 传统意义上的IOMMU用于内存映射&a…...

【大数据 复习】第3章 分布式文件系统HDFS(重中之重)

一、概念 1.分布式文件系统把文件分布存储到多个计算机节点上&#xff0c;通过网络实现、文件在多台主机上进行分布式存储的文件系统。&#xff08;就是你的电脑存a&#xff0c;我的电脑存pple&#xff09; 2.降低了硬件开销: 与之前使用多个处理器和专用高级硬件的并行化处理装…...

element-ui里message抖动问题

由于element默认屏蔽滚动条&#xff0c;导致取消时弹message时 侧边滚动栏突然回来后引起抖动问题 是由于打开弹窗时出现遮罩层dialog对话框 时引起了元素内容超出自身尺寸 对应的overflow样式内容为hidden&#xff0c;且新建了一个class类内容为增加17 内右边距&#xff0c;当…...

Attention系列总结-粘贴自知乎

1. 梦想做个翟老师&#xff1a;阿里&#xff1a;Behavior Sequence Transformer 解读48 赞同 7 评论文章 优点:捕捉用户行为历史序列中的顺序信息。w2v也是捕捉用户序列信息的,本质差异在于啥&#xff1f; 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff0…...