Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I'm planning to build a computer as a hobby from scratch, with the least basic hardware possible in functionality so I can learn the basics of computer architecture and assembly language.

I already have a high end PC but exploring it I find it complicated to learn basic foundational comp architecture stuff.

I wanted to build a 286 processor computer, but found out 386 was the first 32 bit pc, but researching further I realized 486 would be a better option as its pipelining is what we have even now.

So I'm looking to build something very minimilistic with the lowest memory, processor and harddrive. Something like raspberry pi but with an x86 architecture, to do low level assembly and c programming and probably linux shell.

share|improve this question

put on hold as off-topic by jwenting, gnat, MichaelT, Kilian Foth, GlenH7 2 days ago

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – jwenting, MichaelT, Kilian Foth, GlenH7
If this question can be reworded to fit the rules in the help center, please edit the question.

    
If you want to use an emulator, also look at this thread - it mentions ARM but the idea applies to x86 as well stackoverflow.com/questions/3031822/… –  Brandin 2 days ago
    
Notice that building such a stuff will probably cost much more than buying a cheap x86-64 motherboard... (e.g. Intel Edison), or a NUC –  Basile Starynkevitch 2 days ago
    
See also osdev.org –  Basile Starynkevitch 2 days ago
    
what project / technology to take up next is explicitly off-topic per help center. See meta.programmers.stackexchange.com/a/6486/40980 –  gnat 2 days ago

2 Answers 2

If you want to learn assembly x86 isn't the best one to start with. Its probably better to use one of the ARM processors as you can find boards with these quite readily. x86 boards are not so common. Once you've learned assembly, you may learn the differences for x86, or more likely skip assembly altogether and go straight to a higher level language such as C.

The BBC has a board called the Micro Bit which is designed to teaching the very low level aspects of hardware and computing. Alternatives include the Arduino or, obviously, the RaspberryPi which does have a lot of educational materials prepared for it already.

share|improve this answer
    
Err dang!! I just ordered the x86 kip irvine book from a private seller. Any good books to learn assembly for arm? –  Saad Ahmed 2 days ago
    
I'd just google for resources, there are plenty online to go with, and although assembly is different between processors, your book will still be useful to teach the fundamentals - ie all assembly is the same, its just the specific opcodes and features that are different. –  gbjbaanb 2 days ago

If you'd really like to learn, why not build your own from nand gates? I highly recommend 'From nand to Tetris' a free 6 week course offered at Coursera at Coursera - Free public courses.

With this course, you build a 16 bit working computer, learn HDL, circuit design, build an assembler, operating system, and compiler.

Granted it's not x86, but certainly a great place to learn the basics. It will make learning the x86 so much easier.

share|improve this answer
    
I also recommend the book at the origin of the course : The Elements of Computing Systems - Building a Modern Computer from First Principles –  Seki yesterday

Not the answer you're looking for? Browse other questions tagged or ask your own question.