EDA课设:CPU设计

本文探讨了EDA课设中的CPU设计,重点介绍了指令集、精简指令集RISC和复杂指令集CISC。通过实例展示了如何用基本指令完成加法操作。文章还概述了计算机组成中的取指令和执行指令过程,提到了CPU的存储单元、控制器和运算器,以及计算机的五大组成部分。最后,提及了计算机组成原理中的一些关键问题,如总线、存储器和输入输出系统。
摘要由CSDN通过智能技术生成

引子

回顾一下上学期末做的用FPGA设计CPU的课程设计。
大纲都在李明老师的电子设计自动化课程设计
在这里插入图片描述
在这里插入图片描述

什么是指令?

下达任务的信号,系统接收到信号以后就应该去执行这个任务(执行指令)。
包含操作码+操作数

指令集

下达某项或简单或复杂的任务的信号的集合:一条指令完成简单的任务就是精简指令,精简指令的集合叫精简指令集RISC,Reduced。一条指令完成复制的任务就是复杂指令,复杂指令的集合就叫复杂指令集CISC,Complex。

可以看下下面的指令,每个指令完成一些简单的任务。

LDA: data from memory to alu : get memory,send to alu
human: LDA 11
machine: 000 01011
mean:将memory中地址编号为11的数据传给alu的累加器a[7…0]中
brief: a[7…0]=mem[11] 8bit
STA: data from alu to memory:
human: STA 11
machine: 001 01011
mean:将alu的累加器a[7…0]中的数据传给memory中地址编号为11的8个bit
brief: mem[11]=a[7…0]

ADD: data from memory to alu ,then alu calculate.
human: ADD 12
machine: 010 01100
mean:将memory中地址编号为11的数据传给alu的累加器中
brief: a=a+ mem[12]
其它不解释了,耐心看下很好理解。

一个小栗子

举一个加法例子mem[11]+mem[12]mem[13]
用这些指令我们就可以完成一个加法:’b10101010+’b01010101.
(1) 把mem[11]存储的数据放到a里
(2) 把mem[12]的数据通过ALU和a计算,计算结果放入a
(3) 把a中存储的结果放到mem[13]里-----这样我们就可以再把mem[11]&mem[12]的结果放到mem[14],把mem[11]-mem[12]的结果放到mem[15]里
在这里插入图片描述

计算机组成+CPU组成

计算机本质上无非就做了两件事:取指令,执行指令。
先说取指令
在哪取?From where?指令总有个存储的地方吧,这就是主存储器的功效了。
取到哪?To Where?取到的指令:要放到解码器(暂且可以理解为IP------指令寄存器)去分解成操作码+操作数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值