发明名称 | 一种双端口虚拟FIFO数据交换的方法 | ||
摘要 | 本发明提出了一种双端口虚拟FIFO数据写入的方法,包括以下步骤:1)获取FIFO信号量;2)判断待发送的数据块长度与FIFO长度的关系;3)获取FIFO的头指针和尾指针,通过获取到的头指针和尾指针判断数据块的长度是否小于FIFO当前待写入空间的长度;若是,则进行步骤4);4)计算数据块的校验和;5)在当前头指针所指的位置依次写入数据块的长度、数据块与校验和,并移动头指针;6)释放FIFO信号量。本发明的一种双端口虚拟FIFO数据交换的方法,适用于机载计算机中多处理器系统之间的数据交换。 | ||
申请公布号 | CN102147786B | 申请公布日期 | 2012.10.03 |
申请号 | CN201010612566.1 | 申请日期 | 2010.12.29 |
申请人 | 中国航空工业集团公司第六三一研究所 | 发明人 | 韩嫚丽;高杨;张珏辉 |
分类号 | G06F15/163(2006.01)I | 主分类号 | G06F15/163(2006.01)I |
代理机构 | 西安智邦专利商标代理有限公司 61211 | 代理人 | 商宇科 |
主权项 | 一种双端口虚拟FIFO数据写入的方法,其特征在于:所述方法包括以下步骤:1)获取FIFO信号量;2)判断待发送的数据块与获取到的FIFO信号量的大小关系:2.1)判断数据块的长度是否小于FIFO的长度,若是,则进行步骤2.2);若否,则直接进行步骤6);2.2)判断数据块的长度是否为0,若否,则进行步骤3);若是,则直接进行步骤2.3);2.3)判断FIFO是否队列满,若否,则进行步骤3);若是,则进行步骤6);3)获取FIFO的头指针和尾指针,当头指针大于尾指针时,将头指针向后移动待写入数据的长度后的位置大于头指针或者小于尾指针时,该数据块写入FIFO;当头指针小于尾指针时,将头指针向后移动待写入数据的长度后的位置大于头指针并小于尾指针时,该数据块写入FIFO;通过获取到的头指针和尾指针判断数据块的长度是否小于FIFO当前待写入空间的长度;若是,则进行步骤4);若否,则进行步骤6);4)计算数据块的校验和;5)在当前头指针所指的位置依次写入数据块的长度、数据块与校验和,并移动头指针;6)释放FIFO信号量。 | ||
地址 | 710068 陕西省西安市太白北路156号 |