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.

  • fediverser@alien.top
    link
    fedilink
    English
    arrow-up
    1
    ·
    9 months ago

    This post is an automated archive from a submission made on /r/hardware, powered by Fediverser software running on alien.top. Responses to this submission will not be seen by the original author until they claim ownership of their alien.top account. Please consider reaching out to them let them know about this post and help them migrate to Lemmy.

    Lemmy users: you are still very much encouraged to participate in the discussion. There are still many other subscribers on !hardware@hardware.watch that can benefit from your contribution and join in the conversation.

    Reddit users: you can also join the fediverse right away by getting by visiting https://portal.alien.top. If you are looking for a Reddit alternative made for and by an independent community, check out Fediverser.

  • hey_you_too_buckaroo@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    9 months ago

    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.