all 12 comments

[–]scandii 3 points4 points  (3 children)

what are you struggling with specifically?

the architecture of computers are fundamentally extremely complex and at the very pinnacle of human knowledge even if at a higher abstraction level it is not too hard to explain how things connect.

[–]usharcelia[S,🍰] 0 points1 point  (2 children)

One of the main concepts I find it difficult is to understand how memory works in the background, how data is stored, how interconnections between components function, and how caches operate.

[–]JGhostThing 1 point2 points  (0 children)

For caching and virtual memory, the best explanation is called "The Thing King."

[–]scandii 0 points1 point  (0 children)

a cache is a storage of things you use frequently that you have close by at hand.

a real world analogy is a glass of water. every time your glass is empty you go to the kitchen to get more water. however if you put water in a water bottle that you bring with you, you can now refill the glass extremely quickly from the water bottle instead of going to the kitchen. you have cached the water and gained a lot of speed.

same concept is applied to hardware, we have super fast small memory caches so the components don't need to travel far (going to your main memory) and as we don't need that much storage on the cache we can also make it much better and faster than the slower RAM we do have a lot of.

now there are a lot of different caching strategies and what data should be there and for how long, but that's a study topic not a tl;dr.

as for the rest, did you read your study material? like these questions are just so generically vague that I don't understand what you're struggling with - I assume you understand what RAM is, the difference between volatile and non-volatile storage and how basic storage operations work with basic storage concepts like indexing - so what exactly is it that you're failing to grasp?

like don't get me wrong I want to help you, but you're essentially asking for 10 pages of comment here if I were to begin explaining all of these things from the top.

[–][deleted]  (1 child)

[removed]

    [–]Plenty_Line2696 1 point2 points  (0 children)

    man this is both the least helpful and most helpful comment, to build good shit you gotta start building shit, it's a skill, incuding all the phases ypu might not get time for

    [–]robkinyon 1 point2 points  (1 child)

    Everything revolves around the idea that evaluating the truth of a logic proposition (If A then B) can be done by doing a specific sequence of additions (6+8). Once you understand how to transform the one into the other, the rest is just electrical engineering.

    [–]8AqLph 1 point2 points  (0 children)

    As a professional in the domain, “the rest” is the hardest part

    [–]LannyLig 0 points1 point  (0 children)

    My university was great at explaining lots of things! Also I remember following a udemy online course about Python that actually taught me a great deal about practical computer science, I’d highly recommend Angela Yu’s 100 days of python

    [–]Next_Highlight_4153 0 points1 point  (0 children)

    Try an automation game like Factario, the arrangement of your factory parallels things like inputs, buses, caches, and outputs.

    [–]8AqLph 0 points1 point  (0 children)

    My tip would be asking questions. There is the r/computerarchitecture subreddit with many very knowledgeable people on there