Skip to content

mehmetcangun/Computer-Organization

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Computer Organization Projects

Logisim is used to design, evaluate and test the system.

The logic gates, registers, multiplexers, arithmetic components, and input and output components are dealt with in the projects.

Members

  • Başar Demir
  • Zafer Yıldız
  • Muhammed Salih Yıldız
  • Mehmet Can Gün

Project-1

Introduction

In this project, we are expected to design registers that have different sizes and register files. Registers are groups of flip-flops, where each flip flop is capable of one bit of information. The basic function of a register is to hold information in a digital system and make it available to the logic elements for the computing process. While we were implementing registers, we used some built-in components that have already designed in Logisim program and we also designed our own components in implementing process of registers and register files.

Content

The detailed content of the Project-1 can be seen in Project-1 folder of this repository.

Conclusion

In conclusion, we have successfully implemented our own-designed 8-bit and 16-bit register and we constructed a register structure that has some functionalities which are clear, load, increment, and decrement. In clear mode, the register sets to zero all data it has and the register replaces the data that has with the given inputs in the load mode. Finally, in decrement and increment modes, the register increments or decrements depends on the selected mode the data that has with 1. As a final comment, what we have learned from this project, we had a opportunity to examine closely register structures and we have observed more clearly background of how to keep data in computers.

Project-2

Introduction

In this project, we are expected to design an Arithmetic Logic Unit which can operate basic calculations on binary numbers. It is responsible for arithmetic calculations on a computer. In the second part, we have designed a circuit that does fundamental operations of the processor

Content

The detailed content of the Project-2 can be seen in Project-2 folder of this repository.

Conclusion

In this experiment, we have learned principles of implementing Arithmetic Logic Unit and the key points of mathematical calculations in computer systems. In the second part of the homework, we have learned the relationship between RAM and other circuit elements. We have found a chance to observe, how computers read data from RAM, and after processing this data, how they write the results to the RAM. As a final comment, we had the opportunity to learn and observe the background of calculations and memory relationship in computers.

Project-3

Introduction

In this project, we designed a basic CPU with some particular Opcodes that specifies the operation which is performed by the circuit we designed. To implement the functionalities of the circuit, as a first step, we converted every opcode to meaningful subcircuits to determine values of input fields of the circuit we designed in Project-2. Then, we read the instructions from the memory and run the circuit successfully

Content

The detailed content of the Project-3 can be seen in Project-3 folder of this repository.

Conclusion

In conclusion, we designed a basic CPU circuit that processes given 16-bit instructions in this project by using the circuits we have implemented in previous projects. We had also some problems during the project, but we solved all problems we noticed together with creative solutions. As a final comment, it was a really great experience for us, because we got a chance to try and develop our logic design skills during all these projects from the first one to the last one.

Final Project

Introduction

In this project, we designed a micro-programmed CPU with some particular Opcodes that specifies the operation which is performed by the circuit we designed in Project-3. To convert the hard-wired circuit we designed in Project-3 to a micro-programmed circuit, we used a mapping technique which specifies the location of the micro-operation that will be run by the main circuit in the ROM that contains micro-instructions for OpCodes.

Content

The detailed content of the Final Project can be seen in Final Project folder of this repository.

Conclusion

In conclusion, we designed a micro-programmed CPU circuit that processes given 16-bit binary instructions in this project. We also compared a hard-wired circuit with a micro-programmed circuit and we realized both advantages and disadvantages of two circuit type. As an advantage, we could easily change the circuit when we got an error. As a disadvantage, we learned that software-based systems are more slower than hardwired circuits. Another stuff we got from this project is that we had to push the limits of our creativity because of the lack of resources about software based systems. As a final comment, it was a really great experience for us, because we got a chance to try and develop our logic design skills during all these projects from the first one to the last one.

About

Computer Organization Course Projects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published