Hey everyone, I wanted to know if any of you know some good well-explained tutorials, videos, playlists or websites where I could learn about the designing process of a processor. Only the designing process, I don’t plan to build one, at least not yet. So what are the different parts of processor, how are they linked together, their internal design (in terms of logic gates only, not deeper than that) and finally how to design one from scratch.
Originally I’m more into software than hardware (originally with Python and more recently I started learning C and C#). But I wanted to get deeper understanding of how a cpu works and I think the best way of understanding is by designing one.
P.S. : I would prefer ressources in a clear and easy-to-understand english because englush is not my native language.
This is not straight forward if you don’t have the background. For starters, I wouldn’t think about it in terms of logic gates. You wanna just think about it in terms of logic. Usually hardware is designed using verilog or vhdl which is converted into logic gates by software.
The general idea is you have a set of instructions that the CPU can understand. Each instruction would have a unique code. The CPU reads one operation at a time from memory, and each operation will be one of those supported commands. The CPU will figure out the operation and operands, and then start the processing. Different operations can take a different number of cycles. A simple CPU might wait for each operation to finish before proceeding. A good cpu will perform many operations in parallel and pipeline the results.
That’s the gist of it.