+ 4

How is our code translated to machine code?

I read a lot about the topic, even though I don't know how our code is translated to machine code and how the hardware processes this kind of code.(How could a piece of metal work like this?) I would like to understand the physical work/function of a computer.

31st Oct 2018, 8:07 PM
PBarna
5 Answers
+ 2
From the Electronic Engineering direction...Coursera has a course: "Build a Modern Computer from First Principles: From Nand to Tetris" https://www.coursera.org/learn/build-a-computer ...that appears to have a free enrollment option (you just may not have access to all assignments). The syllabus appears to cover what you need to know here.
31st Oct 2018, 8:31 PM
Kirk Schafer
Kirk Schafer - avatar
+ 2
From the bottom up: High school physics: DC systems + diodes + transistors (magic happens here) Logic gates: made from transistors (exercise: implement mathematical operations using logic gates) Instruction set: registers, math, jumps(also, memory) (exercise: physically implement a 4 or 8 bit processor, use an Arduino for memory. Theoretically design a 32-bit floating point (co)processor). Real ISAs: Southbridge, concurrency, interrupts: RTFM. Compilers: Read a simple compiler like old C/Lisp compilers, or the Go Compilers. Also the purple dragon book.
31st Oct 2018, 8:47 PM
Vlad Serbu
Vlad Serbu - avatar
+ 2
PBarna You mean the boot up process? That's simple. Some code exists on a ROM and gets loaded into memory on boot up (the BIOS). This looks for a bootable device. When it finds it, the bootloader is loaded into memory. The bootloader searches for, and boots the operating system.
1st Nov 2018, 5:52 PM
Vlad Serbu
Vlad Serbu - avatar
+ 1
I read about where "the magic happens". However, I would like to know the whole process in details from turning on the computer.
31st Oct 2018, 10:08 PM
PBarna