How are processors designed today?

You can talk about almost anything that you want to on this board.

Moderator: Moderators

User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: How are processors designed today?

Post by Drew Sebastino »

Thank you, I understand now. God dang it people, was it really that hard to explain? I saw people saying things like EMC squared or whatever.

One thing though, I guess these kind of transistors have 4 pins instead of 3?
lidnariq
Posts: 10677
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: How are processors designed today?

Post by lidnariq »

Almost always when you buy discrete MOSFETs, they short the drain and body together for you. (That's mostly ok, as you rarely care about the difference in behavior here)

Caring about the body is something you only really "get" to do when you're designing ICs.

edit: "body", not "base"
Last edited by lidnariq on Wed Jul 01, 2015 9:41 pm, edited 1 time in total.
User avatar
rainwarrior
Posts: 8062
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: How are processors designed today?

Post by rainwarrior »

(Edit: was trying to reply directly to this post that was describing transistors like truth tables. I think lidnariq's posts in between partially explain what I'm kinda asking here. Sorry also that I've jumped back to BJT, ha ha.)

Also, I'm not sure how "correct" it is to think of a transistor in terms of truth tables like that. Like, you might think of a transistor as an AND gate from that point of view, but I'm used to seeing an AND gate in schematic as two transistors:
Image
i.e. the collector is connected to the supply voltage or another emitter, and the actual logic inputs are coming from the base only.

Maybe someone with a background in electrical engineering might explain why this is the case? I only know basic stuff in this territory, so I can't really explain what a normal/good way to use transistors is. I've seen a lot of different ways to use transistors, and some really weird cases, like I once built a noise generator that involved connecting two transistors base-to-base...
Last edited by rainwarrior on Wed Jul 01, 2015 9:46 pm, edited 1 time in total.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: How are processors designed today?

Post by Drew Sebastino »

I just noticed something lidnariq: why was the "source" and "base" switched to ground in the second and third example? Is it so you only have to deal with 2 inputs instead of 3, because they are now the same? I think when you said drain in your recent comment, you meant source unless I'm crazy, but I do see that there isn't a drain but I thought that would have been "power" in the other examples.
User avatar
rainwarrior
Posts: 8062
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: How are processors designed today?

Post by rainwarrior »

source/body/drain/gate are the names of the connections to the transistor.

control, power and ground are the names of things they are connected to.

(the first diagram is a diagram of transistor, the other diagrams presume you now know the parts of a transistor and are just labelling things they are connected to instead)
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: How are processors designed today?

Post by Drew Sebastino »

So that's basically all there is to it? The transistors only allow the current to go through if the gate and body are opposite, and the resistors just flip the value? Sounds simple enough, but there are literally a billion.
lidnariq
Posts: 10677
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: How are processors designed today?

Post by lidnariq »

rainwarrior wrote:i.e. the collector is connected to the supply voltage or another emitter, and the actual logic inputs are coming from the base only.

Maybe someone with a background in electrical engineering might explain why this is the case? I only know basic stuff in this territory, so I can't really explain what a normal/good way to use transistors is.
Well, this doesn't exactly answer the question, but the reason that we use inverting logic rather than positive logic has to do with transistors not being perfect switches.

A BJT, or a MOSFET, has a fundamental minimum voltage before any current can flow through it. In the case of the AND gate you showed, the "base-to-emitter" voltage has a certain minimum (about 0.7V, usually).

Which means that AND(5V,5V) would become 4.3V. And then AND(4.3V,4.3V) would become 3.6V ... and so on. It gets bad pretty fast.
I've seen a lot of different ways to use transistors, and some really weird cases, like I once built a noise generator that involved connecting two transistors base-to-base...
Now that's just discarding the abstraction altogether, and taking advantage of the bit where BJTs are actual physical devices. (A reverse-biased PN junction allows some amount of current to flow through it, even thought it "shouldn't". The amount of current that flows is so tiny that individual electrons actually matter, so you get so-called "shot noise")
Espozo wrote:So that's basically all there is to it? The transistors only allow the current to go through if the gate and body are opposite, and the resistors just flip the value? Sounds simple enough, but there are literally a billion.
I mean, that gets you a view of the technology in the early 1970s. We've gotten a lot more sophisticated in it since then, but on some abstract level, it's still the same.
User avatar
rainwarrior
Posts: 8062
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: How are processors designed today?

Post by rainwarrior »

lidnariq wrote:A BJT, or a MOSFET, has a fundamental minimum voltage before any current can flow through it. In the case of the AND gate you showed, the "base-to-emitter" voltage has a certain minimum (about 0.7V, usually). Which means that AND(5V,5V) would become 4.3V. And then AND(4.3V,4.3V) would become 3.6V ... and so on. It gets bad pretty fast.
Ah, so within a small self-contained group it's okay to have a few transistors feeding into each other, but you generally need to isolate each logical unit by drawing from the power source again?
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: How are processors designed today?

Post by Drew Sebastino »

Rainwarrior, do you mean like second example, he couldn't have had too many of the transistors in a row? By the way though, what currents count as a 1 or a 0, or does that generally change from CPU to CPU, or even possibly one part of one CPU to the other?
lidnariq wrote:I mean, that gets you a view of the technology in the early 1970s. We've gotten a lot more sophisticated in it since then, but on some abstract level, it's still the same.
Is there any large fundamental still left?
User avatar
rainwarrior
Posts: 8062
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: How are processors designed today?

Post by rainwarrior »

Espozo wrote:Is there any large fundamental still left?
For me, I knew the concept of logic gates for a long time, but couldn't really understand how to make a computer from them until I understood a few more things. I think first the idea of a latch, that can hold a state for a while (e.g. registers), and then the idea of a clock that drives a sequence of events. By storing the state after each step and feeding it back into the next, that's what makes a computer so capable at what they do; you don't need more machine for a more complex program, just more time to execute more steps.

I think that's the basics of what a computer is, and still applies to how they work today. There's a huge pile of ideas to improve and refine this, though. Pipelining, to let the multi-cycle instructions continue executing more steps in an auxiliary part of the CPU while it moves on to another instruction. Branch prediction, to improve the speed of conditional execution. Memory caching, paging, protection, security, etc.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Re: How are processors designed today?

Post by Bregalad »

@Espozo: When designing a circuit as complex as a CPU, you never worry about the transistor level ever again, you deal with gate levels and higher levels only.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: How are processors designed today?

Post by Drew Sebastino »

rainwarrior wrote:Pipelining, to let the multi-cycle instructions continue executing more steps in an auxiliary part of the CPU while it moves on to another instruction. Branch prediction, to improve the speed of conditional execution. Memory caching, paging, protection, security, etc.
It's funny, because I have no idea what you just said

When you mentioned registers though, that got me thinking. How do you actually store the value of the electrical current, and how do you take it back out?
User avatar
rainwarrior
Posts: 8062
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: How are processors designed today?

Post by rainwarrior »

Bregalad wrote:@Espozo: When designing a circuit as complex as a CPU, you never worry about the transistor level ever again, you deal with gate levels and higher levels only.
That's why I'm so shaky about what you can do with transistors. I've built logical circuits with IC gates a bunch of times, but hardly ever used transistors on their own.

I remember a while back Kevtris made a small computer entirely out of NAND chips: http://blog.kevtris.org/blogfiles/NANDputer/
Espozo wrote:How do you actually store the value of the electrical current, and how do you take it back out?
Use a latch.
Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: How are processors designed today?

Post by Sik »

Are resistors actually used in gates these days? I thought they took up too much room on the die.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: How are processors designed today?

Post by Drew Sebastino »

So basically, what I'm seeing is that it's still transistors and resistors (maybe, according to Sik) and stuff, it's just that they're put in clever way like the latch that rainwarrior showed. I was mostly wondering how many different parts are involved, and something like paging (whatever that is) probably isn't a standalone part, but it's made of a bunch of transistors and things, just put together in a clever way to make that function. Seems kind of like MIPS programming in a way, at least from what I've seen.
Post Reply