![]() ![]() However, this made debugging any program written to the cpu unnecessarily painful – we need to manually flip $\log_2$ many memory cells to input the program. This was because implementing registers and RAM using logic circuits was part of the assignment. The original project requirements forbids the use of Logisim’s builtin registers and memories. The full system has a NUMPAD that is used to input data to the CPU and a pair 7-segment display to depict the output. It comes with a single-pass assembler for this CPU written in Python 2. The CPU executes 1-2 bytes instructions (the byte size depends on the instruction) in 4 phases and is capable of addressing $2^8$ bytes in the ram. This CPU is 8-bit, it has 2 general purpose registers r0 and r1, a 8 bit Arithmetic logic unit (ALU) capable of doing XOR and ADD operations, an Instruction Register (IR), an Argument Register (AR) to store instruction arguments and a Control Unit (CU) to handle data flow. Logisim is an educational tool for designing and simulating digital logic circuits, its development has ceased since October 2014, but it is quite feature complete and still usable in 2018. ![]() The CPU is called XYT-CPU, named after the initials of the project members. ![]() Although the CPU project is old and other better designs certainly exist, I still feel that this project’s structure organisation and its bundled assembler have some educational merits. The goal is to create a CPU in Logisim using none other than the primitive logic gates. This is an old course project I did at McGill for COMP 273 – Computer System. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |