用scala写一个基本五级流水线CPU(二)解决数据冒险
所谓数据冒险,即后面的指令依赖于前面指令执行的结果。 举例: 初始状态 $0=0 ORI $1 = $0 | … 阅读更多
所谓数据冒险,即后面的指令依赖于前面指令执行的结果。 举例: 初始状态 $0=0 ORI $1 = $0 | … 阅读更多
最近学SpinaHDL,一直想写个什么东西练练手。刚好以前一直想写个CPU,之前也在重新学计算机组成原理,刚好 … 阅读更多
SpinalHDL是Scala的一个用于描述硬件的方言,与chisel类似,但听说设计会比chisel完备一点 … 阅读更多
死锁出现的必要条件 持有并等待:进程至少持有一个资源,并正在等待其他进程持有的资源 互斥:任何时刻只有一个进程 … 阅读更多
几个概念 互斥: 一个进程占用资源,其他进程不能使用 同步: 按一定顺序执行各个进程 死锁: 各自占用部分资源 … 阅读更多
进程执行的任务大致可以分为CPU计算任务和IO任务。基本上所有进程都会有这两种任务, 由于执行IO任务的时候, … 阅读更多
创建用户进程 先fork一个进程 再用exec偷梁换柱 具体exec过程: 调用系统调用(触发软中断),传入进 … 阅读更多
进程=程序+程序状态(上下文、寄存器、堆栈等) 进程三状态 就绪(ready):程序已经准备好执行,只要CPU … 阅读更多
MIPS的五级流水线 取指 译码、读寄存器 执行 从存储器读操作数 写回寄存器 流水线冒险 结构冒险:硬件不支 … 阅读更多
“从来就没有什么元编程,只有编程而已。”这是《Ruby元编程》中,讲完所有的元编程技巧之后,作者说的话,我感觉 … 阅读更多