DDR5—新手入门学习(一)【1-5】

news2024/10/6 16:23:26

目录

1、DDR背景

(1)SDR SDRAM时代 :

(2)DDR SDRAM的创新 :

(3)DDR技术的演进 :

(4)需求推动:

2、了解内存

(1)DIMM的定义和历史:

(2)DIMM的分类:

3、DDR介绍

4、常见信号介绍

(1)内存访问流程:

(2)时延(Latency)

 5、读写操作

(1)读操作

(2)写操作


1、DDR背景

DDR内存技术从最初的DDR SDRAM发展到DDR4,其背景是计算机处理能力的不断提升和对更快数据处理速度的需求。

(1)SDR SDRAM时代 :

在20世纪90年代,Intel推出了首款同步动态随机存储器SDR SDRAM。
SDR SDRAM采用时钟同步接口,典型时钟频率为66MHz或83MHz,使用2n预取技术。

(2)DDR SDRAM的创新 :

DDR SDRAM,即双倍数据率SDRAM,于2000年左右推出。
DDR技术通过在时钟的上升沿和下降沿都传输数据,使带宽在相同时钟频率下翻倍。
DDR沿用了2n预取技术,并降低了成本和功耗。

(3)DDR技术的演进 :

DDR1:作为最早的DDR技术版本,DDR1通过每个时钟周期进行两次数据传输来提高传输速率。
DDR2:于2003年推出,采用更高的时钟频率和更高的数据传输速率,引入了新的电压规范(1.8V),降低了功耗。
DDR3:于2007年推出,进一步提升了数据传输速率、时钟频率和内存容量,采用更高的时钟频率和更低的电压(1.5V)。
DDR4:于2014年推出,具有更高的数据传输速率、更高的时钟频率和更大的内存容量支持,采用了Low Power Memory Access(LPA)技术,降低了功耗并提高了内存访问效率。

(4)需求推动:

随着CPU和其他计算机组件性能的不断提升,对内存的性能要求也越来越高。用户对更快的数据处理速度、更大的内存容量和更低的功耗的需求不断增长。随着互联网、多媒体应用、大型数据库和高性能计算等对内存性能要求极高的应用的普及,内存技术需要不断进步以满足这些需求。DDR内存技术的演进反映了整个计算机行业对更高效率、更好性能和更优能效比的不懈追求。每一次技术的更新换代都旨在提供更快的数据传输速度和更高的系统性能,以满足日益增长的计算需求。

2、了解内存

DIMM(Dual In-line Memory Module)是一种内存模块,它代表了内存条的基本形态,用于连接到计算机主板上的内存插槽。以下是从专业角度对DIMM及其不同类型进行的整理和总结:

(1)DIMM的定义和历史:

  • DIP (Dual In-line Package):在80286时代,内存颗粒以DIP封装形式直接插在主板上。
  • SIMM (Single-Inline Memory Module):随着80386时代的到来,内存颗粒被焊接在电路板上,形成了SIMM,其位宽为32位,即每个周期可以读取4个字节。
  • DIMM (Double-Inline Memory Module):随着奔腾处理器的推出,内存位宽增加到64位,即每个周期可以读取8个字节,SIMM因此演变为DIMM,这种形态至今仍被使用。

(2)DIMM的分类:

  1. RDIMM (Registered DIMM)

    • 用途:主要用于服务器领域。
    • 特点:包含寄存器(Register),提供额外的地址和控制信号缓冲,以提高内存的容量和稳定性。
    • ECC:大多数RDIMM配备错误校正码(ECC),以增强数据的安全性。
  2. UDIMM (Unbuffered DIMM)

    • 用途:通常用于标准台式电脑。
    • 特点:没有寄存器,因此成本较低,但稳定性和容量可能不如RDIMM。
    • ECC:UDIMM可以有无ECC版本,但大多数消费级产品通常不配备ECC。
  3. SO-DIMM (Small Outline DIMM)

    • 用途:专为笔记本电脑设计。
    • 特点:尺寸较小,以适应笔记本电脑的紧凑空间。
    • ECC:根据需求,SO-DIMM可以配备ECC。
  4. Mini-DIMM

    • 用途:用于对体积有严格要求的高端领域,如刀片式服务器。
    • 特点:是RDIMM的缩小版本,保持了RDIMM的高性能和稳定性,同时减小了尺寸。

不同类型的DIMM根据其用途和性能需求被设计出来,以满足从个人电脑到高端服务器等不同应用场景的需求。RDIMM因其稳定性和容量优势在服务器领域广泛使用,而UDIMM和SO-DIMM则更常见于消费级市场。Mini-DIMM则满足了特定高端应用对小尺寸和高性能的双重需求。

3、DDR介绍

Channel:内存通道(Channel)是内存控制器与内存模块之间的通信路径。在多通道配置中,每个通道可以独立工作,从而提高内存的带宽和性能。

DIMM (Dual In-line Memory Module):DIMM是物理内存模块,即我们通常所说的内存条。一个DIMM可以包含一个或多个Rank。

Rank:Rank是一组共享相同地址和控制信号的内存芯片集合。在图片中,每个DIMM有两个Rank(Rank 0和Rank 1),每个Rank由8个芯片组成。

Chip:芯片(Chip)是构成Rank的基本单元,每个芯片拥有自己的存储容量和内部结构。

Bank:每个芯片可以进一步划分为多个Bank。Bank是内存中可以独立操作的存储区域,可以提高并行访问数据的能力。

Row and Column:在每个Bank内部,存储矩阵由行(Row)和列(Column)组成。数据的存取通过指定行和列来实现。 

4、常见信号介绍

片选(Chip Select)信号
S0# 和 S1# 是片选信号,它们用于选择特定的内存Rank。每个信号的状态决定了哪个Rank被选中进行数据访问。

Bank地址线(BANK ADDRESS)
BA0-BA2 是Bank地址线,总共有3位,可以表示2^3=8个不同的Bank。这些地址线用于在多个Bank中选择一个特定的Bank进行访问。

列选(Column Address Select)信号
CAS# 是列选信号,当它为低电平时,表示列地址有效。这意味着此时在地址线A0-A13上传输的是列地址信息。

行选(Row Address Select)信号
RAS# 是行选信号,当它为低电平时,表示行地址有效。此时,地址线A0-A13上传输的是行地址信息,用于定位特定的行。

地址线
A0-A13 是地址线,它们用于传输行和列的地址信息。尽管这些地址线在物理上是共用的,但在不同的时间点上,它们分别表示行地址或列地址。

数据线
DQ0-DQ63 是数据线,用于在内存和外部设备之间传输64位的数据。

命令线(COMMAND)
COMMAND线用于传输各种内存访问命令,如读、写等。这些命令决定了内存操作的具体类型和流程。

(1)内存访问流程

1、行有效阶段

  • RAS# 为低电平,CAS# 为高电平。
  • 地址线A0-A13上传输行地址信息,以定位特定的行。

2、列有效阶段

  • RAS# 为高电平,CAS# 为低电平。
  • 地址线A0-A13上传输列地址信息,与先前选定的行结合,以唯一确定一个内存单元(即“小方格”)。
  1. 数据读取或写入阶段
    • 根据COMMAND线上的命令,执行数据的读取或写入操作。
    • 数据通过数据线DQ0-DQ63在内存和外部设备之间传输。

请注意,在这个系统中,没有专门的内存颗粒选择信号线。一旦Rank被选中,该Rank中的所有内存颗粒(在本例中为8个)将同时被选中,共同提供64位的数据带宽。

(2)时延(Latency)

在内存操作中,时延是一个关键参数,它决定了从发出命令到实际数据可用之间的时间间隔。以下是关于内存时延中几个重要参数的详细解释:

1、CAS Latency (CL):

  • CAS Latency,简称CL,指的是从CAS(Column Address Strobe,列地址选通)信号发出到第一笔数据实际被读取并输出的时间间隔。由于CL主要在读取操作中起作用,因此也被称为读取时延(RL, Read Latency)。
  • CL是内存性能评估中的一个重要指标。例如,CL7的内存意味着在发出读取命令后,需要等待7个时钟周期才能获得数据,而CL9的内存则需要等待9个周期。由于DDR3内存的每个时钟周期实际传输两次数据(双倍数据传输率),因此真正的时钟频率需减半计算。
  • 在相同频率的内存中,较低的CL值(如CL7)相较于较高的CL值(如CL9)可以带来显著的性能提升,有时甚至能高达22%。

2、tRCD (RAS to CAS Delay):

 

  • tRCD代表从RAS(Row Address Strobe,行地址选通)命令激活到CAS命令发出之间的时间间隔。这是为了确保存储阵列中的电子元件有足够的时间响应并准备数据传输。
  • 简而言之,tRCD是行地址激活与列地址读取之间的必要延迟。较短的tRCD值意味着更快的行到列的转换时间。

3、tRP (Precharge Command Period):

  • tRP指的是在前一次数据传输完成后,到下一次行地址激活之前,内存模块进行预充电所需的时间。预充电是内存操作中的一个关键步骤,它重置了行地址并准备进行下一次的读取或写入操作。
  • 较短的tRP值有助于减少内存访问的整体延迟,从而提高性能。

除了上述三个参数外,还有tRAS(Active to Precharge Delay)和CMD(Command Rate)等其他时延参数,它们共同构成了内存操作的整体时延。优化这些参数可以显著提升内存的性能和响应速度。然而,请注意,这些参数的设置通常需要基于特定的硬件和配置进行细致的调整。

 5、读写操作

(1)读操作

一个完整的读操作包含了 Precharge 预充电、Access 访问、Sense 感知、Restore 恢复 四个阶段。

Precharge 预充电阶段

在这个阶段,通过激活EQ(Equalize)信号,使得连接到Bitline和/Bitline的晶体管Te1、Te2、Te3导通,从而将Bitline和/Bitline连接到一个共同的参考电压Vref(Vcc/2)。这个过程确保了在读取操作开始之前,Bitline和/Bitline上的电荷被释放,并且它们的电压被拉到一个新的参考电平Vref。

这个操作的结果是,无论Bitline和/Bitline在上一次操作后保持了什么样的电荷状态,它们现在都被拉到了一个中间电平,为即将到来的读取操作提供了一个稳定的起点。这种电压均衡是差分放大电路正确工作的前提,因为它允许差分放大器准确地检测存储单元电容与Bitline和/Bitline之间的微小电压差异,从而读取存储的数据。

想象一下你有一个天平,两边分别放着两个盘子,我们用这两个盘子来代表Bitline和/Bitline。在读取存储在电容中的信息之前,我们需要确保这两个盘子是平衡的,也就是说,它们都处于同一个水平线上。

在之前的读写操作中,可能已经在这两个盘子上放了不同重量的物品(代表不同的电压电平)。如果不进行Precharge(预充电或电压均衡),那么当这次我们要读取新的信息时,如果直接打开连接到存储电容的开关(Ta开关),那么由于两个盘子上的重量(电压电平)可能不同,它们就会相互影响,导致天平失去平衡。

具体来说,如果Bitline上的电压比/Bitline高,那么当Ta开关打开时,Bitline上的电荷可能会流向存储电容,试图将电容的电压拉高。但如果电容中存储的是相反的电压(比如电容中的电荷是负的),那么Bitline上的正电荷就会与电容中的负电荷中和,导致电容中的信息丢失。

因此,Precharge过程就像是在读取信息之前,先把两个盘子上的所有物品都移走,让它们回到同一个水平线上(Vref电平)。这样,当我们再次打开Ta开关读取信息时,两个盘子(Bitline和/Bitline)就都是从同一个平衡状态开始,不会相互干扰,从而确保了存储电容中的信息能够被正确读取,不会被错误地中和或冲刷掉。

Access 访问阶段

在这个阶段,Wordline信号被激活,使得特定的访问晶体管(Access Transistor,通常称为Ta)导通,从而将选定的存储单元的电容与相应的Bitline连接起来。如果存储单元电容中存储的是正电荷(代表逻辑1),那么这些电荷将开始流向Bitline,但由于Bitline的寄生电容远大于存储单元电容,Bitline的电压只会从预充电阶段设定的参考电压Vref上升到一个略高的水平,通常表示为Vref+。这个微小的电压变化是存储单元电容中电荷状态的直接反映,并且为接下来的感知(Sense)阶段提供了必要的条件,其中差分感知放大器将放大这个微小的电压差,以确定存储单元电容中存储的是逻辑1还是逻辑0。这个过程对于确保数据的准确读取和维持存储器的性能至关重要。

Sense 感知阶段

在DRAM的读取操作中,Access阶段之后,进入Sense感知阶段,此阶段的核心是差分感知放大电路(Differential Sense Amplifier)的工作。在Access阶段,由于访问晶体管Ta的导通,存储单元电容与Bitline之间的电荷转移导致Bitline电压上升至Vref+,而其互补路径/Bitline保持在Vref。这个微小的电压差是感知放大器工作的基础。

差分感知放大电路由两对互补的MOSFETs组成,即NMOS Tn2和PMOS Tp1,它们分别对应于Bitline和/Bitline。当Bitline电压略高于/Bitline时,NMOS Tn2的栅极-源极电压差足够使其形成微小的导电沟道,允许电荷从SAN(Sense-Amplifier N-Fet Control,逻辑0电压,即0V)流向/Bitline,从而进一步降低/Bitline的电压。相反,PMOS Tp1在/Bitline电压略低于Bitline时形成导电沟道,允许电荷从SAP(Sense-Amplifier P-Fet Control,逻辑1电压,即Vcc)流向Bitline,从而进一步增加Bitline的电压。

随着SAN和SAP的强电压作用,Tn2和Tp1的导电沟道迅速扩大,导致/Bitline和Bitline的电压分别向逻辑0和逻辑1电平放大。这个过程是正反馈的,因为随着电压差的增加,沟道的导电性增强,进一步增加电压差。最终,Bitline和/Bitline的电压差被放大到一个可以被电路清晰识别的水平,即逻辑1或逻辑0。

在这一过程中,另外两个MOSFETs,即Tp2和Tn1,保持在截止状态,它们是感知放大器的负载设备,用于在感知放大过程结束后维持Bitline和/Bitline的状态。

差分感知放大电路的工作原理是利用MOSFET的开关特性和正反馈机制,而不是直接放大存储电容中的电荷。这种设计使得DRAM能够在读取操作中快速且准确地检测和放大存储单元电容的微小电荷变化,从而可靠地恢复存储的信息。

想象一下,你有两个水槽,一个叫Bitline,另一个叫/Bitline,它们开始时都被灌满了半水槽的水,水的高度代表电压,都是Vref。现在,我们通过一个小管子(访问晶体管Ta)从一个小水库(存储单元电容)向Bitline水槽中加水,使得Bitline水槽的水位稍微上升了一点,变成了Vref+。而/Bitline水槽的水位保持不变。

接下来,我们有两个帮手,一个叫Tn2,另一个叫Tp1,它们分别站在Bitline和/Bitline水槽旁边。Tn2手里拿着一个水管,水管的另一头连接着一个水源(SAN,逻辑0电压,0V)。Tp1手里也拿着一个水管,连接着另一个水源(SAP,逻辑1电压,Vcc)。

当Bitline水槽的水位比/Bitline高一点点时,Tn2就开始工作,打开水管,让0V的水流向/Bitline水槽,使得/Bitline的水迅速下降到0V。同时,Tp1看到/Bitline的水槽水位下降,也开始工作,打开水管,让Vcc的水流向Bitline水槽,使得Bitline的水迅速上升到Vcc。

这个过程就像是两个帮手在比赛,谁先把对方水槽的水放完或者加满。因为Bitline和/Bitline开始时只差一点点水位,所以这个比赛会迅速决出胜负。最终,一个水槽的水被放光(逻辑0),另一个水槽的水被加满(逻辑1)。

在这个过程中,还有两个帮手Tp2和Tn1,它们暂时没有工作,只是在旁边待命,准备在比赛结束后,帮助维持水槽的水位状态。

通过这个比喻,我们可以理解Sense感知阶段的核心原理:通过差分放大的方式,利用微小的电压差来快速准确地放大信号,从而确定存储单元电容中存储的是逻辑1还是逻辑0。这个过程是自动化的,一旦开始,就会迅速且准确地完成,确保我们能够读取DRAM中存储的信息。

Restore 恢复阶段

在完成 Sense 阶段的操作后,Bitline 线处于稳定的逻辑 1 电平 Vcc,此时 Bitline 会对电容器进行充电。经过特定的时间后,电容器中的电荷就可以恢复到读取操作前的状态。

最后,通过 CSL 信号,让 Tc1 和 Tc2 进入导通状态,多路复用的 Read Latch 电路(未画出) 就可以从 Bitline 差分线上从容地读取信息,并锁存起来。

(2)写操作

DRAM的写入操作在前期与读取操作相似,包括Precharge、Access、Sense和Restore阶段。在Restore阶段之后,写入操作进入Write Recovery阶段。在Write Recovery阶段,通过激活WE(Write Enable)信号,特定的写入晶体管Tw1和Tw2被导通。此时,Bitline被输入信号input拉至逻辑0电平,而其互补路径/Bitline则被输入信号的反相/input拉至逻辑1电平。经过一定时间后,存储电容中的电荷被完全放电,达到0状态。随后,通过控制Wordline信号,关闭连接存储电容的MOS晶体管,完成写入0的操作。这个过程确保了存储电容被正确地更新为所需的逻辑状态,无论是0还是1,从而完成了数据的写入。

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

领导VS管理:技术团队掌舵者的双重角色解析

文章目录 引言一、管理1.1 管理的定义1.2 管理的特点1.3 管理的作用 二、领导2.1 领导的定义2.2 领导的特点2.3 领导的作用 三、管理与领导的互补性3.1 互补策略 总结 引言 在科技飞速发展的今天,技术团队作为推动企业创新的核心力量,其管理显得尤为关键…

python command乱码怎么解决

python command乱码怎么解决?具体方法如下: 先引入import sys 再加一句:typesys.getfilesystemencoding() 然后在输出乱码的数据的后面加上“.decode(utf-8).encode(type)”。 比如输入“ss”乱码。 就写成print ss.decode(utf-8).encode(typ…

【Go专家编程——协程】

1 协程的概念 1.1 基本概念 进程是应用程序的启动实例,每个进程都有独立的内存空间,不同进程通过进程间的通信方式来通信线程从属于进程,每个进程至少包含一个线程,线程是CPU调度的基本单元,多个线程之间可以共享进程…

leetcode:计数质数

class Solution { public:// 如果 x 是质数&#xff0c;那么大于 x 的 x 的倍数 2x,3x… 一定不是质数int countPrimes(int n) {vector<int> isPrime(n, 1);int ans 0;for (int i 2; i < n; i) {if (isPrime[i]) {ans 1;if ((long long)i * i < n) {for (int j …

压缩能力登顶 小丸工具箱 V1.0 绿色便携版

平常录制视频或下载保存的视频时长往往都很长&#xff0c;很多时候都想要裁剪、 截取出一些“精华片段”保留下来&#xff0c;而不必保存一整个大型视频那么浪费硬盘空间… 但如今手机或电脑上大多数的视频剪辑软件&#xff0c;切割视频一般都要等待很长时间导出或转换&#…

LBank研究院: DePIN赛道解析|加密精神与Jevons悖论的第三世界

作者&#xff1a;Eva&#xff0c;LBank研究员 *本人谨代表作者观点&#xff0c;不构成任何交易建议。 *本文内容为原创&#xff0c;版权为LBank所有&#xff0c;如需转载请注明作者和出处&#xff0c;否则将追究法律责任。 TLDR: DePIN是对传统老牌硬件的洗牌挑战&#xff…

WWW 2024最佳论文|大型语言模型的机制设计

【摘要】我们研究拍卖机制以支持人工智能生成内容的新兴格式。我们特别研究如何以激励兼容的方式聚合多个法学硕士。在这个问题中&#xff0c;每个代理对随机生成的内容的偏好被描述/编码为 LLM。一个关键动机是为人工智能生成的广告创意设计一种拍卖格式&#xff0c;以结合不同…

兆原数通基于Apache SeaTunnel的探索实践

随着大数据技术的不断发展&#xff0c;数据同步工具在企业中的应用变得愈发重要。为了满足复杂多样的业务需求&#xff0c;找到一款高效、灵活的数据同步工具变得尤为关键。 在这篇文章中&#xff0c;我们将分享兆原数通研发经理李洪军对Apache SeaTunnel的选择、应用及经验。这…

每日一题——博弈论(枚举与暴力)

博弈论 题目描述 运行代码 #include<iostream> #include<vector> using namespace std; int main(){int n;cin >> n;vector<int> d(n,0);for(int i 0;i < n;i){cin >> d[i];}vector<int> in(1000,0);for(int k 1;k<3;k){for(int…

【实战JVM】-基础篇-02-类的声明周期-加载器

【实战JVM】-基础篇-02-类的声明周期-加载器 3 类的生命周期3.1 生命周期的概述3.2 加载阶段3.2.1 查看内存中的对象 3.3 连接阶段3.3.1 验证阶段3.3.1.1 验证是否符合jvm规范3.3.1.2 元信息验证3.3.1.3 验证语义3.3.1.4 符号引用验证 3.3.2 准备阶段3.3.3 解析阶段 3.4 初始化…

从一个时间序列数据中生成一个Markov Transition Field (MTF)

Markov Transition Field&#xff08;马尔科夫转移场&#xff0c;简称MTF&#xff09;是一个用来表示时间序列数据中不同时间点之间状态转移概率的可视化工具。简单来说&#xff0c;它展示了一个时间点上的状态如何可能转移到另一个时间点的状态&#xff0c;这些转移概率是通过…

C语言指针相关知识(第五篇章)(非常详细版)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、sizeof和strlen对比二、数组之间的比较&#xff08;依据strlen和sizeof来呈现&#xff09;&#xff08;一&#xff09;、一维整型数组&#xff08;二&#…

着急联系媒体投稿发表文章有什么好方法?

作为一名曾经的信息宣传员,我深知在紧张的宣传节点上,急于将精心撰写的文章推向更广阔的读者群体,那种紧迫感和焦虑几乎成了常态。记得那段时间,为了能让稿件得到及时有效的曝光,我不得不亲自踏上了一场寻找媒体联系方式的“马拉松”。那时,我手头的资源有限,仅有的几个联系方式…

学 Java 具体能干什么?

学习 Java 后&#xff0c;你可以从事许多不同的工作和项目&#xff0c;涵盖了广泛的应用领域。以下是一些具体的应用场景和工作方向&#xff1a; 1. 企业级应用开发 Java 是企业级应用开发的首选语言之一&#xff0c;特别适合开发大规模、分布式、多层次的企业应用程序。 Jav…

创建列表的艺术:三种实用方法全解析

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、基础篇&#xff1a;直接使用中括号创建列表 1. 创建空列表 2. 创建包含元素的列表 二…

【经典文献】光-声立体成像:关于系统标定与三维目标重建

论文名称&#xff1a;《Opti-Acoustic Stereo Imaging: On System Calibration and 3-D Target Reconstruction》作者列表&#xff1a;Shahriar Negahdaripour, Hicham Sekkati, and Hamed Pirsiavash作者单位&#xff1a;美国迈阿密大学电气与计算机工程系&#xff0c;佛罗里达…

sourcetree推送到git上面

官网&#xff1a;Sourcetree | Free Git GUI for Mac and Windows 下载到1次提交 下载后打开 点击跳过 下一步 名字邮箱 点击clone 把自己要上传的代码粘贴到里面去 返回点击远程->点击暂存所有 加载完毕后&#xff0c;输入提交内容提交 提交完成了 2次提交 把文件夹内的…

iOS 17.5 release notes

文章目录 iOS 17.5 更新恢复了多年前删除的一些图片新增彩虹壁纸欧盟用户可直接从网站下载应用新增了追踪通知改进 Apple News图书应用"阅读目标"设计更新颜色匹配的播客小部件Web浏览器安全权限的访问下一代“Beats Pill”扬声器在iOS 17.5代码中得到确认店内Vision…

面试被问到不懂的东西,是直接说不懂还是坚持狡辩一下?

大家好&#xff0c;我是瑶琴呀。 面试被问到不懂的东西&#xff0c;是直接说不懂还是坚持狡辩一下&#xff1f;这个问题可以转变一下&#xff0c;如果你顺利拿到 offer&#xff0c;公司安排的工作跟你之前的技术和经验不匹配&#xff0c;你还愿意干下去吗&#xff1f; 转变一…