Jump to content
Science Forums

IC architecture


Recommended Posts

I've been wondering for a very long time how a computer works internally. I mean how would I put together a motherboard and make a processor and all. The basics.

 

You wouldn't make a processor.

 

I you have a local Books-a-Million, Barnes & Noble, or similar large bookstore chain, there should be numerous books that tell you how to assemble your own computer from off-the-shelf components. Some other books will explain how a computer works internally.

 

The book/series I like best - though it is not necessarily for complete nubies - is Scott Mueller's "Upgrading and Repairing PCs".

Link to comment
Share on other sites

I tried a quick search on how stuff works, but couldnt come up with anything good, so i'll do a brief description myself.

 

Computer operates on the basic principal of transistors, what do transistors do? well a transistor has 3 nodes, and depending on a signal on 2 there would or would not be a signal on the 3rd node and that is how computer operates.

 

You are probably wondering what is next huh? Well, the foundation of computers lies within transistors, but more than just that, it lies within the logic that transistors bring with them. You have probably heard of binary, but if you havent, binary is a way of expressing a number in base 2, with only 2 digits that are allowed being 1 and 0, in computers however those digits represent a signal or no signal at a certain point, and that, together with boolean logic is what makes the heart of the processor. Boolean implies on true and false, or 1 and 0 or signal and no signal, and transistors can be used, together with that logic to produce structures, tunnels, rules which drive the machine. This brings me back to the types of transistors. Basic transistor logic (i will put the ways transistors can act in a mathematical-like notation 0 + 0 = 0 for example says that if there is no signal on the first node, and no signal on the second node, the output from the transistor is 0)

0 + 0 = 0

1 + 0 = 0

0 + 1 = 0

1 + 1 = 1

1 + 0 = 1

0 + 1 = 1

and this concludes the 6 basic structures within of logic with transistors. Processors have trilions of transistors, organized into pathways within it, pathways allow or disallow the flow of electricity within them, directing the current one way or another between the nodes on the processor allowing for computation.

 

That was all the core stuff that makes it possible for the computer to do any mathematical computation in binary, but there are other parts of the computer too, like memory for example. Memory is every where, and most operates on the principal of magnetism and again boolean logic :( , yes yes this logic is essential to computer operation, the information in memory is stored in cells, cells contain a tiny magnet that can either be charged or not charged or be facing north or south, method depends on the system, but in any case, charge represents a 1, and gets porocessed as a signal, and 0 represents no signal, and at the core of all memory resides a table that contains the location of all the cells, creating kind of like an array of memory cells, what are memory cells? Well, it is not a good idea to store any information in a single 1/0, otherwise, how can you possibly record anything useful? however 1/0 is the smallest particle in memory, sort of like an atom, it also has a name and is called a bit. 8 of these bits is enough to store a byte, or any character that you can input in the system, because 8 bits allows for 255 combinations of 8 1/0s. A byte is also what the memory works with, as it mostly mamages them instead of bits per say. Bytes are from there organized into larger blocks, what you have to remember is that computer is all based on the powers of 2, and thus you dont get 5 or 10, you get 4 and 8, but 1024 bytes make up a kilobyte thus 1 kilobyte of memory can store up to 1024 characters, a megabyte is 1024 kilobytes and thus can store a shattering 1,048,567 characters, enough to store a few books. Then 1024 megabytes = a gigabyte (1,073,741,824 characters or a few libraries of books) 1024 gigabytes are equal a terabyte and so on (or more than all the books ever written)... (hope i'm getting this right as i write)

 

Anyways from there on to the I/O devices, and the way they work is they take a piece of data and asign a certain value to it (encode it) send it to the motherboard, which then directs the information to a processor which then decides what to do with the data and what command to give to the system , if any. The output device just takes all that data it receives and after decoding it, outputs it to the whatever it outputs it to (most of the time using its own system). For example say you type a letter "a", that signal gets translated to an ascii 97 that is then sent in a pattern similar to 01100001, then the data is run through a program that figures out what 01100001 is and finds a which pixels on a screen it needs to light up along with the location of those pixels, from there that data travels to the monitor which figures out what it is supposed to display, where and what color each pixel needs to be and then displays an "a" on the screen...

 

well, i have spent a lot of time trying to do my bst on this basic tutorial, i dont have much more time, i hope this gives you the basics, if you have questions, please, you are welcome to ask, bye for now :(

Link to comment
Share on other sites

  • 2 weeks later...

ok

Perhaps I wen way to basic on that Question.

I am a learned Computer nerd. I know binary and can count in hexadecimal. I can do boolean arithmatic and understand the semi-conductor properties of a transistor. i know how the bus is supposed to work and can build a Desktop or Laptop from scratch (off shelf components) can mod know about core voltages and all kindas of other bullsh**.

 

I want to know how to design a Processor from scratch. Ultimately I want to make a new standard for Personal Computing. Update the current technology while thinning out the old stuff. Redesign the current standard to optimize performance and stuff.

 

I have an intense interest in basics. I wish to make the Off the store Components but I can't comprehend how a bunch of transistors can work together to produce a varible image and I/O.

Link to comment
Share on other sites

I want to know how to design a Processor from scratch. Ultimately I want to make a new standard for Personal Computing. Update the current technology while thinning out the old stuff. Redesign the current standard to optimize performance and stuff.

 

So not only do you want to reinvent the wheel, you think you can do it better than the combined effort of thousands of eggheads over the past several decades who also have access to multi-million dollar fabrication plants with state of the art photolithographic devices ... and you're going to do this by yourself at home?

Link to comment
Share on other sites

semi-conductor properties of a transistor
technically transistors dont have semicinductive properties, they either allow current through or dont (you might be confusing them with resistors) :hyper: (ofcourse that is arguable on microvolt level, but i think you get the concept)

 

Also to add to TeleMads post above, do you program in assembly? do you know what a processor is supposed to do and can you write programs in binary? I mean here is a basic how (http://computer.howstuffworks.com/microprocessor3.htm), but how good are you with electronics, no not devices, actual electronics concepts? Knowing how the computer operates and how you can build one does not give you anywhere near enough knowledge to even compare to the basics needed to understand exact ways that microprocessors work, never mind even the building portion of one. As Tele said above, there are hundreds of scientists in many areas working on the creation of new microprocessors, hundreds of programmers writing the Bios and instruction sets for processors, because just a processor woud sit there and not do anything, yeah power will run through it, but how do you controll it. You also need to build a motherboard, at least for testing and you would need equipment that costs billions of dollars to produce the test processor to be anywhere near the reasonable size, never mind the price of gold for all the wiring and trials before you get a working processor, and all the stuff you would have to add to your house to make it dust proof for assembly and a space station for growing silicone with embedded transistors, oh and the transistors themselves are not too bg either, microns in length, they will also dig deep down in your pocket :xparty:

Link to comment
Share on other sites

If you're interested in learning how the circuits work, I recommend playing with TTL logic chips. I haven't looked in years, but when I was in school many years ago, we had to build basic logic circuits with them (they're basically AND/OR/NOR gates and flip-flops of various types that alexander described above), and they're exactly the same building blocks that you work with inside of IC chips. You can still find these in electronics stores or on the internet, but they're mostly worthless and have no practical application anymore. We also had to design in our computer architecture classes a 68000 microprocessor using these things (not build it, just draw the chips and their connections on paper, lots of it): microprocessors were much simpler in those days of course! You can also still find programmable logic arrays and burn them, again, really old tech, and you'll have to hunt to find it. There are some IC design programs out there, but I've never played with them: they are toys, and if you want to play with the big boys you'll need to fork over big bucks like the above posts say. If you really want to do this, go to school and learn it for real and then get a job at Intel or AMD or NVidia. There's no other way to do this...

 

Cheers,

Buffy

Link to comment
Share on other sites

But you should be able to build a processor at home... A REALLY primitive one, but it should be possible.
Course you can, look, battery, few wires, a transistor (make sure that the transistor you get follows the logic "if node 1 has power, and 2 doesnt then power to node 3" (nodes are also called legs or emmiter and collector and base) in other words get a PNP transistor (if you are using a 9 volt battery, you'd want to use transistor PNP 2SA952)), a switch and a lightbulb (that matches the parameters of the power supply) and connect them this way: + to Base, - to collector lightbulb to emmiter and - to - or ground on lightbulb. You also want to put in a switch between the first node of the transistor and power. ok, plug in the power and flip the switch, hope that the light comes on, now turn the switch off, you just did an operation with your own very primitive processor :hyper:
Link to comment
Share on other sites

If you really want to do this, go to school and learn it for real and then get a job at Intel

I'll walk by pretending i didnt see you recommend for him to go and work for Intel. If you really want a job at a nice place, go to AMD, Nvidia, ATI, Apple, Sony or Sun. AMD is way ahead of the game on PC and Server Procs, Nvidia card processors do very well with gcc and get awesome compile times because they are good at doing those math operations, ATI goes that way too, Apple G5 Procs are probably only beatable by new 64bit opterons, but not in all operations, Sony's PS3 has some really crazy processor in it, but i dont know who produces it, so i say sony, you go figure, aah a PS3... dream maybe someday. oh and Suns spark processors are really great too, so go with the best :hyper:

Link to comment
Share on other sites

I'll walk by pretending i didnt see you recommend for him to go and work for Intel...
HAHAHAHA! There was a method here: wasn't to provoke you but rather agree. When you think about it, what would it take to "fix" Intel? Wouldn't it be to hire a bunch of people like KAC who don't know what can't be done and then proceed to do it? If Intel doesn't survive, what's to keep the others in line?

 

Cheers!

Buffy

Link to comment
Share on other sites

Thanks this is more what I was thinking.

For the semi-conductor bit. Transistors are built on the Semi-conducting princible. It's defines their capabilies hence why the two Semis used (Silicon and Germanium).

 

As for my Experience? None. Java level and some C++. I know nexts to nothing practicle on this level. That's Why I wish to learn it. and yes I think I can do better than a thousand people. Even a million. I have a tendancy to see things others don't.

 

But thank you.

 

My intention is two fold. Robotics which my real Dream above all else. and a New computer system. The current models are weighed down by that which made them Good. Old technology which worked then but only slows current progress.

 

Oh and I do paper work. I have no illusion that I could even afford to build a small processor lab. but I could learn theory and run simulations.

 

As for Electronics? I have a pretty good grasp but I need some hands on. I need to know the theory to make it practicle hence my asking this here.

Link to comment
Share on other sites

Doesn't PS3 uses something based on something Apple created? G5 maybe? I don't remember too well.. Oh my.

 

And I find it kinda ridicolous that most of the processors (as well as the rest of the components in modern computers) are based on those old 4040's or whatever the name was. :hyper:

Link to comment
Share on other sites

And I find it kinda ridicolous that most of the processors (as well as the rest of the components in modern computers) are based on those old 4040's or whatever the name was. :hyper:

 

In what way? There are numerous processors out there so which are you referring to. So far it looks to me like the current popular architectures are successful. I see nothing wrong with developers basing their future designs on any of the successful architectures in use today. They all seem to be getting better as time moves on.

Link to comment
Share on other sites

As for my Experience? None. Java level and some C++. I know nexts to nothing practicle on this level. That's Why I wish to learn it.

 

C++ and Java are a handy languages. C++ is a main language taught in a lot of colleges because one can learn an awful lot of programming theory from it because it can be used either as a function-based structural programming language or as an object-oriented language, and it is a fairly low-level language yet is not too low that you spend far too much time trying to communicate with the computer on its level about every single microstep you want your program to perform.

 

However, because C++ is not as low level as assembly or machine language, it doesn't give you as much knowledge of CPU functions: C++ also isn't as fast. If you learn assembly you will become intimate friends with CPU architecture and your code will execture very quickly. But there are at least three curses lieing in wait for you if you do. First, standard assembly language is much harder to work with C++: it will take you many times more time and effort to achieve the same thing in code with assembly than with C++. Second, assembly language is CPU-specific (or CPU-family-specific) so what you write won't be as portable. Third, assembly language is kind of a dead language in that virtually no one, except those that absoluately have to, program professionaly in assembly anymore. So it would be a great learning experience but I wouldn't expect it to pay off too much in the job-hunting arena.

 

KickAssClown: The current models are weighed down by that which made them Good. Old technology which worked then but only slows current progress.

 

True enough. Maintaining backward compatibility has slowed down progress in the computer world - hardware and software. But maintaining backward compatibility (at least to a large degree) is a curse that the leaders in the industry are forced to put up with because of the large installed base they support. Computers progress more by evolution than by revolution. I don't know where this has ended up (I've lost a lot of interest in computers now that I am going for a BS in biology) but Intel was going to make a clean break from the old x86 family of processors and change everything with its new IA64 architecture. But that would require everyone who bought one to change operation systems and all their software. AMD came along and designed a 64-bit CPU that would still run the older 32-bit code with no performance loss. Theoretically, AMD has the edge because they offer a smooth transition into the 64-bit world. I'm not sure, but Intel may have responded by adding a 32-bit emulator into their chip design, or possibly combining a physical 32-bit processor with the new 64-bit one (others here would know more about this than I do).

 

So even if you did manage to out-design Intel and AMD by not being constrained to past designs, you still wouldn't have much of a market because breaking backward compatibility poses a bit educational and financial cost to business and individuals.

 

KickAssClown: Oh and I do paper work. I have no illusion that I could even afford to build a small processor lab. but I could learn theory and run simulations.

 

Sorry I misunderstood you on that.

Link to comment
Share on other sites

In what way? There are numerous processors out there so which are you referring to. So far it looks to me like the current popular architectures are successful. I see nothing wrong with developers basing their future designs on any of the successful architectures in use today. They all seem to be getting better as time moves on.

 

I was reffering to casual desktop processors. They are getting better and better, but the basics are still the same. Nothing new under the sun. Almost. But we'll see what happens during the year.

 

New stuff in the world of computers: For some reason, I like Intel here. AMD was chickens and made their new family of CPU´s (64bit) backward compitable. Intel released something brand new (even if it sucked :cup: ) and tried to take a step from the old architecture. That was brave, even if it wasn't a succes.

 

Intel was going to make a clean break from the old x86 family of processors and change everything with its new IA64 architecture.

I really liked that. Brave boys. :cup:

 

EDIT: Was someone interested in PS3? Here's a link:

http://arstechnica.com/articles.ars

Scroll down a bit and you find the articles. I havent read the entire things, but I think I like it. :hyper:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...