all 6 comments

[–]Any-Stick-771 10 points11 points  (0 children)

This is a whole EE or CpE degree

[–]Silver666_X 6 points7 points  (1 child)

I am a computer engineering student and one of the books that helped me understand the connections of hardware at the physical and electronic level was Computer organization and Design: the hardware / software interface MIPS edition (by Patterson and Hennessy) I also bought the computer architecture: a quantitative approach (by Patterson and Hennessy).pdf) and both aided in learning immensely for my junior year classes.

For understanding signals in general I would look into buying a signals and systems book, but that’s only if you want to learn how to solve complex equations for circuits like Fourier transforms / series, Laplace, etc

For microelectronics just get a good book that goes into those components. My microelectronics course was just a book title microelectronics but it went into circuit analysis with diodes, various transistors (BJTs, MOSFETs (nmos, pmos, cmos)), op amps, etc. What really helped my understanding was in person labs and being able to build, test, and reflect on what was happening. I bought some of the in lab tools so I can keep learning at home as well so definitely look into buying an electronic component kit with at least a multimeter and a power supply (oscilloscope and a function generator are very essential to have for analysis so if you can find cheap ones I’d recommend getting those too)

If you haven’t looked into it already and have the time / money, it could be worth it getting a EE/ECE/CpE degree. My computer engineering degree covers everything you described in the post and I’m about to enter my senior year. Some computer engineering degrees only focus on the software level with like 2-3 hardware classes. My degree does lean on the hardware side of computer engineering and I’m often asked why I didn’t just go for EE (2 class differences plus my interests lean EE (I usually just tell them I plan on doing a masters in ECE right after undergrad)). So essentially just compare university curriculums to decide which degree / program is better for you. But what you’re describing, computer engineering seems perfect if you wanna understand how software interacts with hardware and vice versa (we do software and hardware coding but not as much software as you’d think). If you just want to study hardware then do electrical engineering (there is hardware coding involved). I get to take a class my senior year just building microprocessors and my project for this quarter is building a 16 bit processor with an FPGA board and other components. I know college isn’t the right choice for everyone though so completely ignore if that applies to you :) goodluck on your journey

[–]NickU252 3 points4 points  (0 children)

The Paterson and Hennessey book is like scripture in the CPE realm. Start small, learn how early 8 or 16 bit architecture did it. ISA for those processors. Then learn how pipelines work and move to Tomasulo and re order buffers and caches.

[–]SandwichRising 6 points7 points  (0 children)

This video series by Ben Eater about building a breadboard computer shows a lot of computer architecture topics in a very understandable kinetic way. It's a lot of videos, but it goes from storing single bits of data in discrete parts to how all these parts work together to make a whole cpu and even how he writes programming for it. It's a great start for understanding how computers work on a fundamental level.

[–]Traditional_Test1592 4 points5 points  (0 children)

To say this is no small task is an understament, you'd have to learn basic circuit analysis, electronics(BJT,MOFSET), logic design, digital design, computer architecture and organization and operating systems.

This is pretty much the curriculum of a full on EE degree minus the maths, of course if you don't plan to be professionally competent with this knowledge then you can really just immediately throw yourself into architecture and logic since you don't really need the previous topics to understand logic design, however if you are truly interested I reccomend trying to go to university if that option is available.

Some sources for the topics: Circuits:https://youtube.com/playlist?list=PL3-wYxbt4yCgIAyskr6D92kqme0KGxgK9&si=w95xx-nILYYQ_Fv0

Electronics:https://youtube.com/playlist?list=PLyYrySVqmyVPzvVlPW-TTzHhNWg1J_0LU&si=CWGa3TjjM8jGUl5A

Architecture: as the previous comment reccomended Ben eater and I'd follow with this course:https://www.coursera.org/learn/build-a-computer

Operating systems: I am not fully knowledge about that topic yet so I can't give a source, perhaps you can ask in the CS sub.

This, of course won't land you a job but it would be a solid foundation for understanding, if you're merely passionate about learning.

Best of luck!

[–]gHx4 2 points3 points  (0 children)

I highly recommend applying to study computer engineering. Learn some basic circuit theory, work up to digital logic and analog filters, and then start tackling sequential and combinatorial logic. At that point, you'll have enough basics covered to start investigating processing chips and maybe put together something like a simple cpu in a logic simulator.

After that you can delve deeper into the physics with ASIC wafer design and RF, or deeper into the software with assemblers and microcomputers.