1 recovery和removal
同步电路中,输入数据需要与时钟满足setup time和hold time才能进行数据的正常传输,防止亚稳态。
对于一个异步复位寄存器来说,置位和复位信号同样需要和时钟满足recovery time和removal time才能有效进行置位和复位操作。
恢复数据(recovery)时间和撤销数据(removal)时间。
recovery time:恢复时间。
撤销复位时,恢复到非复位状态的电平必须在时钟有效沿到来之前的一段时间到来,才能保证时钟能有效恢复到非复位状态,此段时间为recovery time。
撤销复位时,恢复到非复位状态的电平必须在时钟有效沿来临之前的一段时间到来,才能保证时钟能有效恢复到非复位状态,此段时间为recovery time。类似于同步时钟的setup time。
removal time :撤销时间。
撤销复位时,在时钟有效沿到来之后复位信号还需要保持的时间为撤销时间removal time。
复位时,在时钟有效沿来临之后复位信号还需要保持的时间为去除时间removal time(去除时间)。类似同步时钟hold time。
同步复位和异步复位 都需要进行recovery和removal检查。
2 AXI4总线有哪些通道,为什么会没有读响应通道
AXI(Advanced eXtensible Interface高级可扩展总线)是一种总线协议 AXI4包含3种类型的接口:
1 AXI4:主要面向高性能地址映射通信的需求;(突发数据)(地址映射模式)
2 AXI4-Lite:是一个轻量级的,适用于吞吐量较小的地址映射通信总线;(无突发) (地址映射模式)
3 AXI4-Stream:面向高速流数据传输(流模式)
AXI4和AXI4-Lite包含5个不同的通道:
(1)写地址通道
(2)写数据通道
(3)写响应通道
(4)读地址通道
(5)读数据通道
数据可以在主从设备间同步的双向传输,并且数据传输大小可以改变。AXI4将数据传输的突发长度限制为最大256,AXI4-Lite每次传输仅运输传输一个数据。
VALID/READY握手机制只允许一个方向的数据流,所以对于读事务,数据(data和resp)从slave流向master,而对于写事务,数据从master流向slave,所以就需要单独的响应通道.
3 verilog 运算法优先级
~ !
- / %
<< >>
比较关系 < <= > >=
等式 == !=
按位与 & ~&
按位异或 ^ ~^
| ~|
逻辑与&&
逻辑或||
选择?
4 乱序发射
派遣: 指令经过译码之后被派发到不同的运算单元的等待队列中的过程。
发射: 表示指令从运算单元的等待队列中(解除数据依赖性之后)发射到运算单元并开始执行的过程。
指令发射: 根据每个时钟周期能够发射的指令数,处理器可以分为单发射处理器和多发射处理器。 单发射处理器是指每个时钟周期只能发射一条指令。
顺序派遣 乱序发射 乱序执行 乱序写回
超标量处理器,指令经过译码后被顺序派遣到不同的运算单元的等待队列中,在等待队列中可以有多条指令,先把解除了数据依赖性的指令发射到运算单元中开始执行,因此发射是乱序的。
乱序写回会将运算单元执行结果,写到ROB重排序缓冲区。最后由ROB按顺序写回通用寄存器组。 ---- 乱序写回到重排序缓冲区
乱序发射----超标量处理器中指令顺序派遣到等待队列,根据指令是否解决数据依赖性---乱序发射指令到运算单元---乱序执行---乱序写回到ROB重排序缓冲区 ----顺序写回通用寄存器组
5 cache
高速缓冲存储器(Cache)实际上是为了把由DRAM组成的大容量内存储器都看做是高速存储器而设置的小容量局部存储器,一般由高速SRAM构成。
这种局部存储器是面向CPU的,引入它是为减小或消除CPU与内存之间的速度差异对系统性能带来的影响。
Cache的有效性是利用了程序对存储器的访问在时间上和空间上所具有的局部区域性,即对大多数程序来说,在某个时间片内会集中重复地访问某一个特定的区域。
CPU的速度远高于内存,当CPU直接从内存中存取数据时要等待一定时间周期,而Cache则可以保存CPU刚用过或循环使用的一部分数据,如果CPU需要再次使用该部分数据时可从Cache中直接调用,这样就避免了重复存取数据,减少了CPU的等待时间,因而提高了系统的效率。
速度由快到慢:寄存器〉cache〉内存〉外存
6 amba --- AHB 是单双工(读写共用addr)
AMBA总线的全称为高级微处理器总线架构,是ARM架构下SoC设计的一种总线架构。 AMBA包括AHB(Advanced High-perfomance Bus,高级高性能总线),ASB(Advanced System Bus,高级系统总线),APB(Advanced Peripheral Bus,高级外设总线)。
AHB总线里有:一个仲裁器(Arbiter)用于仲裁多个主设备(Master)同时访问总线的情况;三个多路选择器(地址选择,写数据选择,读数据选择)用于选通master和slave之间的data和addr。