NPU_Driver
2015-10-30 14:20:17 1 举报
NPU_Driver是一个专门用于管理和控制神经网络处理器(NPU)的驱动程序。它的主要功能包括:1. 初始化和配置NPU,设置其工作模式和参数;2. 加载和运行神经网络模型,执行前向和反向传播计算;3. 管理NPU的内存和数据传输,确保数据的高效处理;4. 监控NPU的运行状态,提供错误诊断和故障恢复功能。通过使用NPU_Driver,开发者可以更方便地在各种硬件平台上部署和优化神经网络应用。
作者其他创作
大纲/内容
中断处理函数fp_interrupt
HIF_INT_EN HIF模块中断使能总开关
bd_tx_ring_init
开中断hif_int_en
关中断hif_int_en
rx_bd_tbl3
net_device-netdev_ops-ndo_open
rx_bd_tbl0(16 bytes)
fp_phy_set_mdio_as_100_mbps
request_irq
netif_wake_queue发送完成
fp_private-rxd_index
Pointer
rx_bd_tbl1
rx_bd_tbl2
netdev_opsethtool_opsmacaddressmtu
fp_private
pci init
fp_hwcsr_rw
HIF_TXPKT_INT_EN tx包发送完毕中断使能
buffer状态,低16位为长度,高16位为状态0表示被software占有,1表示被hw占有
net_device
int32_t bd_status
清中断标志位hif_int_src
分配buffer----dev_alloc_skb
判断中断源hif_int_src
(rx/tx)过程中双方共享64字节的存储区域用于buffer信息的交换,其中每16个bytes维护一个buffer的状态,双方处理完毕后各自将buffer的状态置为对方可用状态
获取当前可用buffer(BD_CTRL_DESC_EN )--fp-rx_bd_tbl + fp-rxd_index
fp_wsp_reset
Buffer Discriptor结构
注册中断
fp_private-rx_bd_tbl
pci_register_driver
HIF_RXPKT_INT_EN rx包接收完毕中断使能
HIF_TXPKT_INT
device_private
register_netdev
HIF_RXPKT_INT
int32_t bd_bufptr
写tx-BD地址hif_tx_bdp_addr
netif_rx 交给网络层处理
写rx-BD地址hif_rx_bdp_addr
bd_rx_ring_init
init
int32_t bd_next
设置hif_rx_ctrl-(CSR_RX_DMA_EN | CSR_RX_BDP_CH_START_WSTB)使NPU硬件来读可用的buffer(DMA操作)
fp_pci_probe
为sk_buffer加上额外信息
fp_bd_init初始化BD
fp_rx_tasklet接收数据中断
fp_hif_init
dma_map_single映射为物理地址
module_init
Hardware init
pci_dev
fp_init_fastpath
alloc_etherdev_mq
重新初始化BD 对应buffer状态,驱动里是取上一个buffer
sk_buffer-data
dev
fp_net_open
net/core/dev.c
Data Structure
int32_t bd_ctrl
(64 bytes)-DMA-Mapped Buffer
struct sk_buff *skb = dev_alloc_skb(2048)
0 条评论
下一页