I know of this simple microarchitecture. (Okay okay, its really a robot-brain schematic, but it has all the gates laid out.) I wanna make my own simple CPU on perfboard to grasp the concepts of Computer Engineering.
PLEASE excuse the size.... Smile
This thing was made by an old TI genius, like our Kerm. (Mayhap before Kerm...) Lots of cool stuff on his site.
Anyway, it lays out a simple brain. It has a few processes. A "Stop", "Go", "Reverse", "Right", and "Left". They are processed by these things called gates. So I want to know how to make these gates with base components. (i.e. transistors & diodes.) I know what these gates are, and how the work, and how to implement one in a design, but how do you make one from base components?
Why? That's a waste of your time and efforts. Use 74LS*** series chips. Also, technically this is more Electrical Engineering than Computer Engineering.

Edit: "that" being constructing your gates out of discrete components, that is.
Kerm, I want to UNDERSTAND the gates. Its not really about how much it costs. (I got Christmas cash! Razz) . Somebody has to draw out these sort of things when new chips are designed. (Even if they use some bigger fancier parts than gates.) Besides, the best people in the world are mad.
edit: nevermind...

BTW: do you recognize this schematic?
90% of that is also Electrical Engineering, though. It's very hard to define the division between the two.No, I don't recognize the schematic off the top of my head, but a 30-second glance certainly serves to show what it's doing. I stand by my statement that making your gates from scratch is an epic waste of your time. Play with the 74LS*** chips to understand how AND, OR, NAND, NOR, NOT, XOR, etc work. Stare at the truth tables. Push buttons on the (inputs) and see what happens to LEDs on the output(s). But don't reinvent the wheel.
Reinventing the wheel is fun. But I second Kerm's opinion here. It'd be interesting to use in a program like logism, though.
graphmastur wrote:
Reinventing the wheel is fun. But I second Kerm's opinion here. It'd be interesting to use in a program like logism, though.
Sure, but you're still not building your gates from transistors. Razz
You have humbled me Kerm. I might be just blabbering. But I guess I can look it up if I really want. But, I'm still gonna do this with my Christmas Cash, after I finish my Calc82. And I'll post up my discreet component CPU up here, and stun all of you! (evil laugh here!) Evil or Very Mad
Oh, and this is Richard Piotter's. I would've figured an old calc hacker (calc-er? calker??) like you would have heard of him. He is probably before your time (Pre-2000)... But still, I learned a lot from his site. And his sort of thing fascinates me. I'll have to start the Eagle file soon. Tonight if I don't fall asleep.
Quote:
Reinventing the wheel is fun.

Hah! I'm right.
(adept sulks in his stubborn-ness...)
If you really want to potentially frustrate yourself with more stuff to break if you make wiring errors, then you can see some examples of TTL (transistor-transistor logic) gates built from resistors and transistors here:

http://hyperphysics.phy-astr.gsu.edu/hbase/electronic/trangate.html
OMG Kerm, I <3 to play with breakables! You know, I've worked with transistors before Kerm! But thanks a lot.
Side-Story time: One day, I was building an audio amplifier with a darlington transistor... I wired it wrong, then touched the transistor. OUCH! I burned my finger! My God! MY FINGERPRINT PERMANENTLY TRANSFERED TO THE THING!!!! It hurt really bad. THE END! Very Happy
Didn't you have heatsinks on the transistors? Sad You should always put heatsinks on the TO-25 packaged transistors. Sounds very painful. Usually I just burn myself on my soldering iron by waving it around and forgetting to pay attention to where the tip is. Razz
@adept While your heart is in the right place, there's a better way of going about this Very Happy

If you want to understand logic gates, memorize their truth tables and learn boolean algebra. Building a gate by itself with discrete components is a great way to start off learning about logic gates, but it's a terrible idea to implement an entire circuit like the one you posted out of discrete components; the goal of engineering is to make life easier, not unnecessarily more difficult. If you're looking for something "hardcore" to do then try building your own transistors.

Also, the schematic you posted is not a CPU but simply a motor control circuit. If you're really interested in computer engineering I'd suggest reading up on digital logic design and start small, like maybe designing an ALU out of 74** chips, then later on take a look at implementing the LC-3 ISA.

@Kerm: If you really want to nit-pick this is more Electronic Engineering than either Electrical or Computer Engineering Razz
Also, what is a TO-25 package? Confused
I know what this diagram calls a TO-247 package as a TO-25 package, but this could just be from the lab techs at my school mis-labeling drawers. Smile

UltDev:
Yeah, I knew it was a motor control, but it was a microarchitecture nonetheless. I know how to do boolean algebra. I made a fancy H-bridge for my robot. All I want to do is build something kinda like a half-adder. I want to build this to understand computers on a whole new level. The parts are dirt cheap, and I have time, and I never quite got how computers REALLY worked. It's all magic fairy dust to me.
Kerm:
Yep, that is a transistor package alright! Razz

Nope everyone, it isn't a matter of whether this is advisable. I'm doing it. Heck, last night, I figured I might as well put it into the ISEF (International Science and Engineering Fair), and win prizes, have fun. Worst Case Scenario: I waste 50 bucks, burn my finger, or lose the science fair.

"Nothing to lose, everything to gain." -Anonymous
What do you mean, "that is a transistor package alright!"? I don't think you realize how many decades I spent building my own circuits and gadgets far before I even was granted two degrees that say I know what I'm talking about by the most selective engineering school in the nation. Razz Please read my and Ult Dev'r posts more carefully and don't waste our time by not reviewing posts carefully before commenting on them.

Comments on your paper:

1) You switch the collector-emitter current, not the collector current. And it scales as an analog value; it's not switched (first para)
2) Make it clear that you mean "high" or "low" with respect to the collector (or emitter) potential, not digitally high or low
3) Make it clear somewhere that transistors are analog devices that can be used for digital purposes somewhere in the first or second para
4) NOT is not a fundamental gate. You can make a NOT from a NAND with its inputs tied together.
5) As a certified Engineer-in-Training and a dual-degree-holding Electrical Engineer, I'd dispute the statement "How do engineers remember which gate is which? They have a system of symbols.". That's how we represent them, that's not how we remember them. Wink
6) "The symbols shortened the design of a micro-architecture. No longer was it necessary to write out the transistors and resistors that make up the gate." <- I don't think anyone has designed a "microarchitecture" using transistors and resistors. Perhaps "microarchitecture" is not the word you're looking for?
7) The gates->opcodes transition is very abrupt. Make it a little more gradual if possible
8 ) "All of the functions the computer can use are connected to the CPU by physical connections. " You mean all of the "hardware", and make it clear that it's indirect in some cases (cf Southbridge, Northbridge, chipset, controllers, and related concepts).
9) "Well, a clock-speed basically limits the instructions from being sent to fast. The semi-conductor can only oscillate at so fast a frequency, without error. When a person OVERCLOCKS a CPU, it means that they risk errors. The CPU has been rated at a lower clock-speed, so the information is sent slower." This is wrong. The semiconductor (not "semi-conductor") can "oscillate" quickly. However, the time for an electrical signal to get into and then out of a gate is limited by the speed of light and the size of the chip. Multiply that by all the gates that the signal has to travel through in a single cycle, and you get a limiting factor on the clock speed. Modern CPUs do extensive, extensive staging and parallelism to ameliorate this issue.
10) "REGISTERS allow the CPU to do its commands. " Also wrong. Registers store intermediate data used in commands. Your explanation following this statement is correct, however.
11) You don't "stimulate" flip-flops, you trigger them.

General comments: you usually italicize new concepts as you introduce them rather than CAPITALIZE THEM. Use more formal, less colloquial phrasing.
Quote:
NOT is not a fundamental gate. You can make a NOT from a NAND with its inputs tied together.

How does that work? I read on the internet that NOT was a computationally complete gate... (And not on the hyperphysics site.)

Quote:
"The symbols shortened the design of a micro-architecture. No longer was it necessary to write out the transistors and resistors that make up the gate." <- I don't think anyone has designed a "microarchitecture" using transistors and resistors. Perhaps "microarchitecture" is not the word you're looking for?

What word would you recommend? I really can't think of a word to fit there, now that you mention it.

Oh, and thank you for your insightful advice, and for correcting any errors I had in my science when I was composing several sources into one. (I AM only a sophomore in high school, who really sucks at English...)
For the inputs tied together thing, it'd be like having the bool A, and doing: A NAND A -> B.
0 NAND 0 is 1; 1 NAND 1 is 0. A NAND A = NOT A. Smile Voila. NOT is not a computationally-complete gate indeed, but that means you can't build everything else from it. It doesn't mean you can't build it from anything else. You're most welcome; I hope I didn't come across as too harsh. Any lack of patience is a reflection of my poor mental state at the moment, not your questions. Smile
OK. Check these for stupid errors:
-A 8 number opcode is comparable with 8 pushbuttons.
-There are typically an equal number of inputs as outputs.
-A good register size for a simple CPU (or half-adder if you must), is 8 bits with 4 registers (for opcode, number 1, number 2, and answer.
-A dual core CPU is kind of like the "pushbuttons" being multiplied by 2 within the same CPU unit, along with the # of transistors.
-The "pushbuttons" are processed with gates to determine the number, which is connected to a pin with the same number, that triggers a circuit, to complete the command. (If I must, I'll make a flow-chart of the structure I'm suggesting. I'm probably will do it for the Science Fair anyway.)
-Flip-flops can be used to drive a simple LED display alone. One for each "pixel" that the CPU points to in order to make a letter, or phrase.

And what is the best way to etch a board at home? The photo-exposure method, or the toner transfer method?
It seems to me that there's a good deal of information missing from this topic starting two posts after Kerm's transistor package diagram post...

adept wrote:
Quote:
"The symbols shortened the design of a micro-architecture. No longer was it necessary to write out the transistors and resistors that make up the gate." <- I don't think anyone has designed a "microarchitecture" using transistors and resistors. Perhaps "microarchitecture" is not the word you're looking for?

What word would you recommend? I really can't think of a word to fit there, now that you mention it.


circuit

Quote:
And what is the best way to etch a board at home? The photo-exposure method, or the toner transfer method?


Photoresist Etching
Ultimate Dev'r, he emailed me a document he wrote. I'd be happy to forward it to you if you want to review it; I'm sure he wouldn't mind.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 6
» All times are GMT - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement