# Thread: I don't get it...

1. ## I don't get it...

I've just been reading the old computers thread. I've always been amazed at how the very first computer could have been made. At uni, we're been told that information get's stored in CPU registers and stuf, but I still don't see how it all works. I mean how can a bunch of 1's and 0's produce what we see today?

How was the very first computer made?

The way I understand it is that the inside of a computer is basically a whole load of switches that can be on or off. If it's on, there's a higher voltage than when it's off. That's fine - that's how a lightbulb works.

How can it actually DO stuff though? I mean, I can understand how it can tell if the "switch" is on or off, but how does it know what to do with information?

2. Logic gates is what it comes down to. You have several types - AND, OR, NOT, NAND (not-and), NOR and so on. When fed with inputs they return a result based on the type of logic they perform. So AND for instance will give a 1 on the output only if all the inputs are 1. You can combine logic gates to do various things, such as arithmetic, data storage and such. CPUs are basically very very complex arrays of logic gates.

3. Unless you're writing low level code why bother? If you're not it is a waste of brain time trying to find out. We were taught it all in college and there was NO POINT. Consider the more important things in life like why does Guinness pour better when chilled? Or such.

4. mmm yes good question..Does Guinness pour better when chiled?!

Some of the low level stuff such as machine code etc. that I've been studying at college really annoys me. I know its true and relevent but I ain't gonna use it!

5. Well but if nobody consider those stuff useful then what do we have to use ??

6. Originally Posted by Hans Voralberg
Well but if nobody consider those stuff useful then what do we have to use ??
low level chilled guiness i'm guessing

7. oh low level chilled guinness I want some!

8. I am the sort of person who likes to know how stuff works, so I like learning about this sort of thing.

The complexity of the modern day processor still boggles me, however.

9. A good way to understand how you can use logic is to read about Finite state machines (FSM). stick with the moore machine as it makes more sense and works well.

10. Well the output you receive is just a translation. It's interpreted and then converted and then displayed so we can understand it. The CPU however, is very complex. I did an advanced unit in CPU architecture. It was very interesting to see how the CPU worked. Logic gates i think are the very basics of understanding things, although the fun of karnaugh maps sets in.

You end up with a translation of what is stored though. Quite interesting really

11. (Edited)
Originally Posted by ajbrun
How can it actually DO stuff though?
Take a bunch of 1's and 0's. Use basic logic circuits to apply functions to them. Move the results back to where the original bunch of bits were stored. Repeat the process, governed by a clock signal. Voila! You have a processor.
Originally Posted by ajbrun
how does it know what to do with information?
I'd say it's all down to the "conditional branch."
Once you have a circuit that can test a condition, and do one of two different things depending on the result, then you have a general purpose programmable device.

Just layer on levels of complexity as required.
Originally Posted by Kez
The complexity of the modern day processor still boggles me, however.
You can draw a parallel between hardware and software. Basic circuits , or routines, can be combined to create more complex ones. Keep repeating the process and you end up with something so complex that no person can understand them in their entirety, like a modern CPU, or MSWindows. But once you understand the basics, and how to move from one level of complexity to the next, you are effectively a master of the art.

12. Originally Posted by rajagra
You can draw a parallel between hardware and software. Basic circuits , or routines, can be combined to create more complex ones. Keep repeating the process and you end up with something so complex that no person can understand them in their entirety, like a modern CPU, or MSWindows. But once you understand the basics, and how to move from one level of complexity to the next, you are effectively a master of the art.
Good point - thanks .