Question How does a computer read and write to storage and understand it?

Nov 25, 2020
3
0
10
0
Didn't know which forum to ask this so i choose here, anyway i have gotten most of the puzzle laid down of how a computer works, i mostly understand how RAM, CPU, GPU and more works, but i still can't figure out how if i type in something like "Boot: C" (let's say it's assembly) how does the computer actually write that into storage and execute it when i programmed it to?
 

USAFRet

Titan
Moderator
Mar 16, 2013
135,121
6,472
165,690
20,806
Magic.

Actually, its an instruction set. Or rather, a series of them.

The keyboard recognizes the individual keys you pressed.
Sends coded signals to the motherboard, which passes it to the CPU.
The CPU checks that against a set of known commands that it knows what to do with.

If that command is on the list, it executes that instruction.
That may involve talking to RAM and or the hard drive.
 
Nov 25, 2020
3
0
10
0
Okay, thank you for the answers but before i dig into these intimidating Assembly programming guides, will this help me understand the hardware behind it? (Using what i already know)
 
Nov 25, 2020
2
2
15
0
(Teaches/tutors CS and ECE)

It depends on what you actually want to know and the level of abstraction you are comfortable with.
  • Do you want to know about the semiconductor physics in it?
  • Do you want to know about transistor physics?
  • Are you ok knowing just the logic gate level?
  • Are you ok knowing only about CPU instructions or do you want to know how microcode and direct memory access and allocation works?
  • Do you care about firmware or device control?
  • Do you only care about EUFI and Bios level control of the computer?
  • Is that all too low level and you really care about operating system level?
  • Is that pedantic for you and you want to know only about OS API hooks?
  • Or is that too grimy (it is, see Win32 API for reference) and you only care about high-level information passing?
  • Or did you only want interpreted APIs like python or even higher like js?
  • Or just completely abstract (and depending on who you ask, useless) like prolog or logo or something where you're not even sure what you're "running" on.
My guess is you should learn about
  • logic
  • then gates
  • then start messing with an arduino
  • then see if you can build something thing
  • Then try some other hardware like a stm32
  • then find some computer kit like Ben Eater's 6502 machine
  • If that s all interesting to you and you haven't gone down a different career path, maybe get a degree in Computer Engineering
 
Reactions: USAFRet and DMAN999
Didn't know which forum to ask this so i choose here, anyway i have gotten most of the puzzle laid down of how a computer works, i mostly understand how RAM, CPU, GPU and more works, but i still can't figure out how if i type in something like "Boot: C" (let's say it's assembly) how does the computer actually write that into storage and execute it when i programmed it to?
Assembly is hardware specific and just "short hand" for the machine code of that specific hardware.
Anything you type in assembly is either a opcode (instruction) or a operand (data or where to find it) that the instruction needs.

http://www.cs.uwm.edu/classes/cs315/Bacon/Lecture/HTML/ch03s02.html
 
Nov 25, 2020
3
0
10
0
What are you actually trying to learn?
This topic can, and does, literally fill a library.
I want to learn how a computer works from the inside and out, literally, as i am an electrical engineer wanting to specialize in IC design (perhaps CPUs or GPUs) i want to really know how it works from the copper wires to the operating system, as i think this could greatly help me.
 

DMAN999

Reputable
Ambassador
From your replies, I'm Assuming you are a student and don't actually have a BSEE degree.
I studied Computer Engineering with a minor (technically a dual Major) in Electrical Engineering in the early 1990's and by my second year we were designing Circuits via software (PSpice) and physically building working devices (elevator controls/traffic light controls, etc. using IC's and Discrete components).
And we had to take multiple programming courses from the first year, the program I attended started us with BASIC, then Assembly, then Pascal and then onto C and C++.

So as stated above you need to get a degree (or multiple degrees) to get into IC design as a career.
Get at least a Bachelors Degree, or a Masters or even a PHD, in EE/CPE and then apply for work in the IC design field.

Take a look at the NCSU School of Engineering web site for info on the full curriculum:
Undergraduate • Electrical and Computer Engineering (ncsu.edu)
Computer Engineering (BS) (14CPEBS) | Courses, Curricula, and Academic Standards (ncsu.edu)
 
Last edited:

ASK THE COMMUNITY

TRENDING THREADS