LOTP C P U
01.2018 – 03.2020
I started to design my own microprocessor architecture after researching the studies on microprocessor development and after gathering information on this subject and after a preliminary preparation process. After dozens of different versions I developed, I have reached the current version. I start designing a processor by drawing it in my mind and then transferring it to paper. I designed the logic design for each module inside the CPU from my own perspective. At the end of the project, I successfully completed my first working microprocessor design that includes all of the basic components, where it is possible to develop complex applications with a simple assembly language running on it.
I tried to reflect my original thinking and point of view to all module designs in the CPU as much as possible. When I look back at my microprocessor these days, although there are many points on which I can change and improve; it is my first completed successfully working microprocessor project and a long-term project that can be further developed and upgraded in the future. I completed the final design and working tests on LogiSim.
General features of my microprocessor can be listed as follows. It is an 8 bit processor and a total of 12 different commands are running on it. These are transferring data from a register to a register, collecting and extracting data from a register, unconditional jump of the code into one line, jump to a certain line of the code according to a condition (comparison of two digits, over flow on ALU), jump to the desired line of the code with the data in the register, replace the data in two registers, changing the load (+ -) of data in a register, reading or writing data from any address of the cache, and generating random numbers. In addition, 4 of the 8 registers on it can be used as input and output outside the processor.