cpu的工作原理

CPU通过机器码进行工作,但通过汇编语言进行编程,由编译器将其转换为机器码。内存中存储指令和数据,CPU通过地址总线选择存储单元,控制总线发送读写命令,数据总线传输信息。地址总线宽度决定了寻址能力,数据总线宽度影响数据传输速度。
摘要由CSDN通过智能技术生成

cpu 只能识别机器码,如110001010。每一位只有两种状态,分别表示高电平和低电平。如果用这种法式去编码,就显得不便记忆和理解。所以随着时代的发展,就产生了汇编语言。相对机器码,汇编语言就好理解多了。它主要通过汇编指令集来实现编码。不过cpu还是不能直接来识别出汇编码,要通过编译器来对汇编语言转换成机器码,从而使cpu能够正常工作。


上面我们已经了解了cpu只能通过一系列的二进制码来进行工作,那cpu如何和内存设备进行数据交换的操作呢?

cpu和内存设备的操作涉及到存储器,指令和数据,存储单元。

存储器:

指令和数据都存放在存储器中,也就是我们说的内存。内存和磁盘不同,磁盘中的数据不能直接被cpu使用,要把磁盘中的数据读到内存中才能被cpu使用。

指令和数据:

cpu要工作必须给它提供指令和数据,内存和磁盘上的指令和数据没什么不同,都是二进制信息。cpu工作时,把有点信息看作指令,有点信息看作数据。同样的二进制信息,它们的意义是不同的。

存储单元:

存储器被分为若干个存储单元,每个存储单元从0开始顺序编号,例如一个存储器有128个存储单元,编号就是0~128.

8个bit组成一个Byte,也就是一个字节,即8个2进制位。微型机一个存储单元存放一个Byte,也就是一个字节。若一个存储器有128个存储单元,它就可以存放128Byte的信息。

微型存储器的容量是以字节(一个存储单元)为单位来计算的,譬如对于128个存储单元的存储器,我们就说它的容量是128Byte。

对于大容量的存储器,一般用以下单位来计算:

1KB = 1024Byte      1MB = 1024KB     1GB=1024MB    1TB=1024

1. 深入掌握CPU工作原理,包括ALU、控制器、寄存器、存储器等部件的工作原理; 2. 熟悉和掌握指令系统的设计方法,并设计简单的指令系统; 3. 理解和掌握小型计算机的工作原理,以系统的方法建立起整机概念; 4. 理解和掌握基于VHDL语言和TEC-CA硬件平台设计模型机的方法。 二、设计要求   参考所给的16位实验CPU的设计与实现,体会其整体设计思路,并理解该CPU工作原理。在此基础上,对该16位的实验CPU(称为参考CPU)进行改造,以设计得到一个8位的CPU。总的要求是将原来16位的数据通路,改成8位的数据通路,总的要求如下: 将原来8位的OP码,改成4位的OP码; 将原来8位的地址码(包含2个操作数),改成4位的地址码(包含2个操作数)。   在上述总要求的基础上,对实验CPU的指令系统、ALU、控制器、寄存器、存储器进行相应的改造。具体要求如下: 修改指令格式,将原来指令长为16位的指令格式改成8位的指令长格式; 设计总共16条指令的指令系统。此指令系统可以是参考CPU指令系统的子集,但参考CPU指令系统中A组和B组中的指令至少都要选用2条。此外,常见的算术逻辑运算、跳转等指令要纳入所设计的指令系统; 设计8位的寄存器,每个寄存器有1个输入端口和2个输出端口。寄存器的数量受控于每一个操作数的位数,具体要看指令格式如何设计; 设计8位的ALU,具体要实现哪些功能与指令系统有关。设计时,不直接修改参考CPU的VHDL代码,而是改用类似之前基础实验时设计ALU的方式设计; 设计8位的控制逻辑部件,具体结合指令功能、硬布线逻辑进行修改; 设计8位的地址寄存器IR、程序计数器PC、地址寄存器AR; 设计8位的存储器读写部件。由于改用了8位的数据通路,不能直接采用DEC-CA平台上的2片16位的存储芯片,需要按照基础实验3的方法设计存储器。此种方法不能通过DebugController下载测试指令,因此测试指令如何置入到存储器中是一个难点。设计时,可以考虑简单点地把指令写死在存储器中(可用于验证指令的执行),然后用只读方式读出来;或者考虑在reset的那一节拍里,实现存储器中待测试指令的置入; (可选项)设计8位的数据寄存器DR; (可选项)不直接设计存储器RAM,而是采用DEC-CA平台上的2片16位的存储芯片.在实现了第9个要求的基础上,实现由Debugcontroller置入待测试指令; (可选项)顶层实体,不是由BDF方式画图实现,而是用类似基础实验4(通用寄存器组)中设计顶层实体的方式,用VHDL语言来实现。 (可选项)自己设想   利用设计好的指令系统,编写汇编代码,以便测试所有设计的指令及指令涉及的相关功能。设计好测试用的汇编代码后,然后利用Quartus II软件附带的DebugController编写汇编编译规则。接着,利用DebugController软件把汇编编译之后的二进制代码置入到所采用的存储器中,并对设计好的8位CPU进行测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值