信息学院2018年暑期综合实训日志

2018/7/9  周一  第一天

  暑期综合实训的第一天,上午结束了漫长而艰难的考试周,下午带着轻松愉快的心情来到逸夫楼实验室,开始了为期一周的暑期综合实训。

  我的实训题目是CPU的设计,指导老师是班主任刘善梅老师和曾经教过我汇编语言和计算机组成原理的别丽华老师。在前几门实验课里,我也做过相应的单周期CPU设计和EDA的流水灯等,对于这个实训题目也不是非常陌生。

  但是时间相隔较长,有很多东西已经有点遗忘了,所以今天下午的任务就是把过去的知识捡起来,并且明确往后的实验如何去做。老师给我们的目标是在回顾单周期CPU制作的基础上,实现多周期CPU以及异常中断处理的电路设计,需要用到verilog hdl。

  首先回顾一下单周期和多周期的区别,这个周期是指时钟周期,取时钟脉冲的两个上升沿或者下降沿为一个周期,这样会因为电平的变化产生一系列的电信号连锁反映,易于动作的实现。单周期是指一条指令只使用一个时钟周期,所以也只能实现比较简单的指令操作,实现起来也比较简单(多周期类推)。实现的指令有常用的add、sub、and、or、xor、sll、srl、sra,前面几个指令一目了然比较熟悉,后面的xor是寄存器异或,sll是左移操作,srl是逻辑右移操作(logical),sra是算数右移操作(arithmetic)。这些都是MIPS指令集里的R型指令,一条指令长度为32位,可以用8位十六进制数来表示,所用到的寄存器都是五位的寄存器。

  明确了目标指令集之后需要设计数据通路,数据通路是个模块单元通过总线连接形成的一条数据传输线路,数据通路的设计直接影响到了控制器的设计以及数字系统的速度指标和成本,所以设计一个好的数据通路是非常有必要的。数据通路包括了两种元件:操作元件和存储元件。操作元件有加法器(Adder)、多路选择器(MUX)、算术逻辑单元(ALU)等,构成组合逻辑电路。存储元件有寄存器(Register)和寄存器组(R File),具有存储功能,在时钟控制下输入被写到电路中,直到下个时钟到达输入端状态由时钟决定何时被写入,输出端状态随时可以读出。

  今天复习了CPU设计中的一些主要概念,明天打算重新实现单周期cpu,以熟悉实验环境,为后面的工作打下基础。

猜你喜欢

转载自www.cnblogs.com/caiziqi/p/9287078.html