Skip to content

kananos/SimpleLogisimCPU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logisim上的简易计算机系统实现

简介

使用Logisim设计一个简易计算机系统,包含内存,CPU。主要内容是对CPU的ALU、寄存器等实现;设计了简单的指令集,以及简易的汇编器。 最终的结果是实现简单的内存读写与计算。 主要参考bilibili视频博主的视频:BV1wi4y157D3

介绍与使用

主体工程是汇编器的Java实现,其中Logisim目录下为对应的汇编指令与电路设计。

ALU部分:

使用8位ALU,支持两种逻辑运算与两种数学运算(实际只使用了数学运算) 其中对应关系为:

操作码 价格
00 AND
01 OR
10 ADD
11 SUB

寄存器组部分

8个8位寄存器,使用3位地址对寄存器进行选择。

指令设计部分

指令集为32位指令,存在填充情况,从低到高每位表示如下:

0-5 6-15 16-20 21-25 26-28 29 30 31
6位ALU控制码 低2位 10位立即数B 低8位 5位dst地址 低3位 5位src地址 低3位 3位未使用 1位内存写使能标志 1位寄存器/内存选择标志 1位寄存器写使能标志

汇编器设计

仅仅支持 lw, sw, addi, subi, movi指令。

使用方式

  • 进入Logisim目录,SimpleInstructions.asm为样例汇编代码,做简单的运算。

  • 使用 java -jar SimpleAssembler.jar SimpleInstructions.asm 进行汇编。asm.hex为允许Logisim ROM加载的格式。asm.output为中间文件。

  • 打开Logisim软件,加载SimpleCPU.circ, 最左侧的ROM模块加载asm.hex的代码,CTRL+K开启自动时钟可见CPU完成了预定的操作。

About

简易计算机系统实现

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published