Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 truly understanding computers (and their history)
Index -> General Discussion
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
Wooie




PostPosted: Wed Jul 04, 2012 5:19 pm   Post subject: truly understanding computers (and their history)

I am trying to understand the history of computers (and computers themselves) in it's entirety via self-study and I am finding this extremely complicated to do. Take a look at this link:
http://en.wikipedia.org/wiki/History_of_computing_hardware

Is there anyone here that truly understands all of this that can explain it easily OR can recommend links that explain it clearly?

My purpose for all of this is I want to understand how computer work. Seriously understand it. I tried to simply study computers as they are now how I know them to be but either that way is far too complicated without background study OR I just had a horrible website/person teaching me. Hopefully there are some confident experts on the matters here.

Another small project that I did that motivates me is:
I was taught a bit about geology, mineralogy, stone carving, blacksmithing, metallurgy, woodworking, and masonry. So, we went out and located and identified some minerals, extracted them with some stone tools we carved, smelted them and extracted the metal in the kiln we built and then made tools out of them. It was so exciting and I can't wait to learn more. That project revealed to me up close and personal the history behind how a lot of things are/were made. If I wanted to technically I could make whatever I want to.

But I thought why don't I have an understanding of computers like what I had been taught in the above project. So far, I have not found anyone that understands computers (hardware, software, everything) in-depth like I am looking for.
Sponsor
Sponsor
Sponsor
sponsor
Insectoid




PostPosted: Wed Jul 04, 2012 6:39 pm   Post subject: RE:truly understanding computers (and their history)

Computers are pretty much just layers and layers of technology abstracting the user further and further from the code. At the very lowest level, you have the physical gates. It's very easy to describe how all of the gates work, and how to put the gates together to create a circuit that computes something. A very primitive circuit is the flip-flop, which stores a single bit of data. So then there's billions of these on the CPU, arranged into very specific circuits that do very specific things. There's a circuit to add two integers together, a circuit to divide, to perform modulus, etc. There's also circuits to send data to the video card, hard drive, CD drive, etc.

The next layer is the machine language. This is all in binary (but it's usually edited in hex). A binary 'op-code' directly activates one of the circuits in the CPU to do something.

Next is assembly language, where every instruction has a 1:1 relationship with machine language. So the 'add' code is changed to the word 'add'. The compiler changes all of these words into their respective codes.

And then on top of assembly are the low-level languages like C. The C compiler takes the C code and turns it into assembly, which is then turned into machine code that the computer can run.

And then there are layers and layers and layers of code all stacked on top of each other. Even CPUs are heavily designed and optimized by programs, and compilers are written by computers.

I like to think that the job of a computer scientist is to make things easier to do. Any time something is tedious to do, you can write a program to streamline it for you so that you can do more. Than if you need to use that program a lot, you can write another program to automate it. Through this system of layering we ended up with the indescribably complex systems of today that are still manageably simple.
mirhagk




PostPosted: Wed Jul 04, 2012 9:25 pm   Post subject: Re: truly understanding computers (and their history)

Bill Gates wrote:
I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it.

What you're trying to do goes against everything computer scientists and engineers have worked hard to do. Abstraction is the whole point of software, programming languages, hardware and nearly anything else to do with computers. Not only would it be technically impossible to attempt to build your own computer (since you don't have electron lasers to carve silicon chips with), it would be mentally impossible since it's taken millions of people to get to the point we are at now, and none of them fully understand everything about the system. With your processor there have been large teams of engineers designing various sections, but noone has gone over every section, there's just too much. You can build your own physical tools, because physical tools have not improved exponentially like computers have.
[/quote]
bl0ckeduser




PostPosted: Thu Jul 05, 2012 5:32 pm   Post subject: Re: truly understanding computers (and their history)

I'm a young computer enthusiast and not an expert.
Here's one movie I watched once that I found interesting:

http://www.youtube.com/watch?v=Q07PhW5sCEk

Short movie from 1963, explains the basics of time-sharing / multi-tasking operating systems.
It doesn't use technical language, but it doesn't feel dumbed down.
I believe the basic theory is still relevant.

Of course there are many other subjects than operating systems.
Wooie




PostPosted: Thu Jul 05, 2012 5:39 pm   Post subject: Re: truly understanding computers (and their history)

@Insectoid - I'll just throw some questions your way that I am running into.

1. What the difference between a processor and a microprocessor?
Thoughts: I found this link:
http://www.differencebetween.net/technology/difference-between-cpu-and-microprocessor/

I thought I understood the difference until the article stated "All CPUs are microprocessors, but not all microprocessors are CPUs." But I think the microprocessors that are not CPUs that the article is referencing are the microprocessors that contained CPUs across a number of microprocessors before microprocessors were created with single CPUs on them. This was stated in the article:
"It has managed to contain the CPU, at first in a couple of microprocessors, then finally into a single microprocessor." correct?

2. Why is the diagram on p.7 called an (address) decoder?
http://www.fastchip.net/howcomputerswork/p7.html

Thoughts: I have found two links:
http://www.softwareforeducation.com/wikileki/index.php?title=Address_Decoder
http://computer.yourdictionary.com/address-decoder
http://www.answers.com/topic/address-decoder

I think there are four different possibilities that can be input by pressing A, B, A and B together, or pressing nothing at all. Each of these three inputs equals a different address (or sequence of lights that will light up) that will be shown when pressed or not pressed. I?m not sure though.

3. "Truth table" is an arbitrary title taken from another field (Logic) and applied to the electronics definition below:
"(Electronics) a similar table, used in transistor technology, to indicate the value of the output signal of a logic circuit for every value of input signal"
http://www.thefreedictionary.com/truth+table

Thoughts: I inquire about this because I kept thinking that I was supposed to be getting some extra meaning from the word "truth" in the name but when I looked up what it meant and what it signified then I knew that it was just arbitrarily called a "truth table".

4. I don't understand the title "ROM (Read-Only Memory) With Enable (EN) Key (D)" for what is going on on p.7
http://www.fastchip.net/howcomputerswork/p7.html

Thoughts: I was reading this page:
http://www.explainthatstuff.com/how-computer-memory-works.html

But I just still don't get it at all. However I am not sure if I am supposed to understand what is going on just yet...
Insectoid




PostPosted: Thu Jul 05, 2012 6:24 pm   Post subject: RE:truly understanding computers (and their history)

1. A processor is a machine that processes data. A microprocessor is a really small one.

A CPU is specifically the primary processing unit in a computer. A GPU is also a microprocessor. Your chipsets are microprocessors. A CPU is just one kind of processor, and now an entire CPU fits into a single microprocessor, however when transistors were huge, one microprocessor could not fit every circuit necessary for the CPU, so they used a lot of them.

2. That's just what it's called. It's basically a function that maps binary inputs to specific outputs (usually similar to the one you linked).

3. Binary is 1 or 0, ON or OFF, True or False. A truth table shows if the output of a function for every input is true or false.

4. The enable key is just a killswitch in the circuit. Set to false, output is false. Set to true, output is normal. This is used in processors to activate the correct circuits (the binary codes in machine language directly do this).


'How computers work' is a massive question that requires years of study to fully grasp. You probably won't get very far on your own.
mirhagk




PostPosted: Thu Jul 05, 2012 8:06 pm   Post subject: RE:truly understanding computers (and their history)

The address decoder is called an address decoder because it takes a binary number, and powers an output based on that. This is how your computer looks things up, it stores things as binary numbers (32 or 64 bits usually) then uses an address decoder to activate the memory cell that contains the information it needs.
Wooie




PostPosted: Tue Jul 10, 2012 8:58 am   Post subject: Re: truly understanding computers (and their history)

Thank you so far, Insectoid and mirhagk! I have a bit more studying to do but I am going to try to keep this thread updated with questions as I encounter them.
Sponsor
Sponsor
Sponsor
sponsor
Wooie




PostPosted: Tue Jul 17, 2012 2:17 am   Post subject: Re: truly understanding computers (and their history)

I was doing some reading on this site "Allaboutcircuits" and I have questions about electrons (protons, neutrons too).

Allaboutcircuits wrote:
"It was discovered much later that this "fluid" was actually composed of extremely small bits of matter called electrons"

My thoughts:
Not true. Electrons were hypothesized NOT discovered. It is just a concept, discovered empirically. The concept of an electron represents electric matter. it is an imaginary thing that represents particles of electricity. it isn't important to understand 'electron', one just needs to understand what it represents.

I do not understand where all the diagrams and information about electrons/neutrons/protons comes from since it is all theory. Maybe I haven't read enough of the site yet but I would think supposedly critical/significant information like that would be explained clearly upfront. The real concern though is if this all is even really essential to learn or is it just optional theory ramblings. I've always felt it was the latter since it I don't see any practical application in it...

Allaboutcircuits wrote:
"Experimentation has since revealed that all objects are composed of extremely small "building-blocks" known as atoms, and that these atoms are in turn composed of smaller components known as particles. The three fundamental particles comprising most atoms are called protons, neutrons and electrons."

My thoughts:
All these italicized items are subsistent (imaginary), not definite things/objects (not substantial)

note: "Wilhelm from Conches (1080 - 1145 A.D.), outstanding theorist of Chartres school, agreed with Democritus that world consisted of simple, indivisible, elusive to senses particles, that one can know only by theory."
http://library.thinkquest.org/19662/low/eng/middle.html
Tony




PostPosted: Tue Jul 17, 2012 3:12 am   Post subject: Re: truly understanding computers (and their history)

Wooie @ Tue Jul 17, 2012 2:17 am wrote:

My thoughts:
[ protons, neutrons and electrons] are subsistent (imaginary), not definite things/objects (not substantial)


Perhaps you should consult some sources that are more recent than 1145. All of those particles are very much real. An individual electron has a specific amount of mass and charge.
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
Wooie




PostPosted: Tue Jul 17, 2012 3:14 am   Post subject: RE:truly understanding computers (and their history)

Would you mind recommending a good link that you are sure explains everything clearly? I'll pick my study up there and put the circuit website on hold for a bit.
DemonWasp




PostPosted: Tue Jul 17, 2012 8:39 pm   Post subject: RE:truly understanding computers (and their history)

Grade 9 science (hell, Grades 7-8, too) cover subatomic particles in reasonable detail (at least, enough to know some basic facts about them). Try the Wikipedia articles (the Simple English Wikipedia is better if you are really new to the subject).

Electron: http://simple.wikipedia.org/wiki/Electron

It's tough to explain "everything" clearly, because we still don't understand everything. That's part of what the LHC is trying to help uncover.
Display posts from previous:   
   Index -> General Discussion
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 12 Posts ]
Jump to:   


Style:  
Search: