Author Topic: How to: Design a microprocessor  (Read 45462 times)

0 Members and 1 Guest are viewing this topic.

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: How to: Design a microprocessor
« Reply #30 on: April 26, 2011, 03:41:02 pm »
Logisim doesn't really emulate the hardware well enough to give you a a reasonable way, so effectively no.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline yrinfish

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 138
  • Rating: +8/-0
  • Zark, I'm not dead
    • View Profile
    • yrinthings
Re: How to: Design a microprocessor
« Reply #31 on: April 26, 2011, 04:16:06 pm »
ok, then ill connect the J and the K and put an inverter between them...

That's actually just as useful!!
I need help with Random (x86 Happy), pm me if you want to help :D
LOOK IN MY SPOILER, MY SIG IS UPDATED (almost) EVERY DAY
Spoiler For MiniTale:
No mini competition please, teamwork is better :D
I suggest we do not use "MiniCraft" as the name:
Notch has asked us to not do that.
It will get changed to "MiniTale"
@Hayleia, you don't _have to_ organize :P
THIS POST IS IN MY SIG TOO

Details
Language: Axe
Platform: TI 83+

Things we'll need to do/make
Draw the sprites saintrunner is working on this
A save file format.
A level generator.
A Tilemapper.
Some sort of AI.
Crafting system.

People on it (AFAIK)
annoyingcalc
saintrunner
Hayleia (your avatar is really cool btw)
epic7
Blue Raven
yrinfish

Useful info
For those who are going to work on this
General Program Structure
Spoiler For Spoiler:

:.Sprite Data
:.Other Data
:
:.Main menu
:.Option Start Game->init
:.Option How To Play->help
:.Option About->crdt
:
:.BEGIN init
:.Save file is present?
:.yes->strt
:.no->lgen
:.END init
:
:.BEGIN lgen
:.Make appvar appvMCSAVE
:.create 7 levels
:.edit for sky, mines, deep mines, nether
:.END lgen
:
:.BEGIN strt

~~~~ working on this ~~~~

Tiles
Spoiler For Spoiler:
Wheat
Water
Tree
Stone
Stairs
Sapling
Sand
Rock
Ore
Lava
InfiniteFall
Hole
HardRock
Grass
Flower
Farm
Dirt
Cloud
CloudCactus
Cactus

Biomes
Spoiler For Spoiler:
--Sky
Cloud
--Surface
Forest
Meadow
Plains
Cliffs
Mountain
Desert
Ocean
--Underground
Mines
Deep Mines
Nether

Items
Spoiler For Spoiler:
--Tools
Pick
Axe
Hoe
Shovel
--Weapon
Sword
--Utilities
Pow Glove
Workbench
Furnace
Lantern
Anvil
Oven
Chest
--Resources
Apple
Bread
Cloth
Slime
Wood
Seeds
Wheat
Acorn
Cactus
Flower
Cloud
Dirt
Stone
Sand
Coal
Iron Ore
Gold Ore
Gem
Glass
Iron
Gold
Spoiler For More...:
Spoiler For About me:

No, I didn't lie!!


quotes:HERE

And even more:


[07:53:14] <+Frey> Y'know, when people descend from my heavens , they're never Chuck Norris
[07:53:55] <+Frey> I usually get another catgirl or an angel pops down for a visit
[07:54:06] <+Frey> Some angels are really nice
[07:54:33] <+Frey> Some are into the whole "scare the locals" bit
[07:54:54] <+Frey> And some just absent minded
[07:55:38] * +david_ has nothing to do
[07:55:40] <+Frey> It's the absentminded ones you gotta look out for, because the'yre the ones that forget they're 40ft tall
[07:56:04] <+Frey> They're also the ones that forget about social taboos, like nudity
[07:56:28] <+Frey> Have you ever tryed to explain to an angel...anything?
[07:56:45] <+Frey> They don't listenunless they want to
[07:57:16] <+Frey> And don't learn unless they think they don't know
[07:57:51] <+Frey> Except for the nice ones, they're nice
[07:59:27] <+OmnomIRC> (O)<yrinfish> lol
[07:59:32] <+Frey> And they're all so pretty!
[07:59:38] <+Frey> It's ridiculous
[07:59:44] <+OmnomIRC> (O)<yrinfish> I hate PUSHES, THEY HAUNT ME
[08:00:06] <+Frey> Want an angel to come over and exorcise them?
[08:00:36] <+OmnomIRC> (O)<yrinfish> or, more specific: the fact that sometimes, happy outputs: pushes != pops
[08:00:47] <+OmnomIRC> (O)<yrinfish> I know why
[08:01:01] <+OmnomIRC> (O)<yrinfish> and I can solve it by adding a lookahead
[08:01:10] <+OmnomIRC> (O)<yrinfish> But I don't want to
[08:01:24] <+OmnomIRC> (O)<yrinfish> but continue your story
[08:01:35] <+OmnomIRC> (O)<yrinfish> lol
[08:03:13] <+Frey> Ok, so one day, I was walking to the school bus, and, long story short, got my life saved by an angel
[08:03:27] <+Frey> This one was a scary one
[08:03:42] <+Frey> Same height/age as me
[08:04:14] <+Frey> OMG She was the scariest person I had ever met
[08:04:28] <+Frey> She made the entire football team pee their pants
[08:04:43] <+Frey> I was so glad she was on my side
[08:05:04] <+Frey> Right up until she tryed to enter the bathroom with me
[08:05:37] <+OmnomIRC> (O)<yrinfish> lool
[08:05:45] <+Frey> After a muchness of arguing, I finally got through to her
[08:05:56] <+Patrick-D> is this a rap song?
[08:06:06] <+OmnomIRC> (O)<aeTIos> idk
[08:06:09] <+Frey> She tap danced outside my stall the entire time, though
[08:10:04] <+Frey> She was in all my classes too, which was weird, especially as they were all advanced courses and she joined in the middle of the semester
[08:10:28] <+Frey> Even the teachers were scared of her
[08:10:45] <+Frey> Note that she was gorgeous
[08:12:09] <+Frey> So, this angel and I, we managed to stop the apocalypse
[08:12:48] <+Frey> And she kissed me before going back,
[08:13:08] <+Frey> To heaven, but as it turns out that kiss sealed her to Earth
[08:13:47] <+Frey> We still don't know what to do


lol:

[11:30:53] <DThought> <OmnomIRC> (O)<yrinfish> 2 guests are looking at my topic
[11:30:53] <DThought> <OmnomIRC> (O)<yrinfish> I wonder who they are
[11:30:53] <DThought> <OmnomIRC> (O)<yrinfish> where they live
[11:30:53] <DThought> <OmnomIRC> (O)<yrinfish> how old they are
[11:30:55] <DThought> <OmnomIRC> (O)<yrinfish> What kind of jokes they make
[11:30:57] <DThought> <OmnomIRC> (O)<yrinfish> but it surprises me that theyre looking at my topic
[11:31:01] * DThought smacks yrinfish for stalking
[11:31:08] <yrinfish> lool
[11:31:14] <DThought> Whoa, why'd it include all the newlines?
[11:31:23] * calc84maniac  smacks DThought for talking
[11:31:28] * calc84maniac  runs

Crisps:

<OmnomIRC> (O)* Keoni29  Eating crisps
<OmnomIRC> (O)* yrinfish  asks keoni some
<OmnomIRC> (O)<Keoni29> 7$ shipping please
<OmnomIRC> (O)* yrinfish  gives
<OmnomIRC> (O)<Keoni29> It will arrive in 3 days
<OmnomIRC> (O)<yrinfish> Thank you
<OmnomIRC> (O)* Keoni29  Wonders if he wants some dip
<OmnomIRC> (O)<yrinfish> chili please
<OmnomIRC> (O)<Qwerty.55> Adobe, last time I updated one of your products, the changes broke half of the documents using it.
<OmnomIRC> (O)<Keoni29> :(
<OmnomIRC> (O)<Qwerty.55> Why the hell would I update anything else from you?
<OmnomIRC> (O)* yrinfish  kicks adobe
<OmnomIRC> (O)* yrinfish  runs
<OmnomIRC> (O)* Qwerty.55  runs with him
<OmnomIRC> (O)<Keoni29> I have guacamole :S
<OmnomIRC> (O)<Keoni29> I have guacamole :S
<OmnomIRC> (O)* yrinfish  likes that too
<OmnomIRC> (O)* Keoni29  yay
<OmnomIRC> (O)* yrinfish
<OmnomIRC> (O)<Keoni29> http://www.tinyurl.com/guacamole.jar
<OmnomIRC> (O)<Keoni29> :3
<OmnomIRC> (O)<yrinfish> 404
<OmnomIRC> (O)<yrinfish> no foooooooooooooooooooooooouwaaaaaaaaaaaaaaaaahnd
<OmnomIRC> (O)<Keoni29> <3 no shit
<OmnomIRC> (O)<Keoni29> You cant download jars of guacamole
<OmnomIRC> (O)<Keoni29> I have an idea!
<OmnomIRC> (O)<yrinfish> loool
<yrinfish> that came too late ;)
<OmnomIRC> (O)<Qwerty.55> Actually, I just realized why Adobe's update breaks everything.
<yrinfish> tell me
<yrinfish> again too late
<OmnomIRC> (O)<Keoni29> Buy yourself some :3
<yrinfish> that was to keoni
<yrinfish> lOLoL
<yrinfish> :D
<OmnomIRC> (O)<Qwerty.55> It's a security update and if you can't run anything, you obviously can't get infected by anything in those documents.
<OmnomIRC> (O)<Keoni29> Then I pay one dip
<OmnomIRC> (O)<Keoni29> Do you have paypal?
<OmnomIRC> (O)<Keoni29> :S
<OmnomIRC> (O)<yrinfish> nope
<OmnomIRC> (O)<yrinfish> lol
<OmnomIRC> (O)<yrinfish> hm, I could get some crisps
<OmnomIRC> (O)<yrinfish> it is too late to do that here
<OmnomIRC> (O)<yrinfish> main europe
* jkag ([email protected]) has joined #omnimaga
* Netbot45 gives voice to jkag
<OmnomIRC> (O)<yrinfish> MUSIC YAY
<OmnomIRC> (O)<Keoni29> Well the shops are closed here too
<OmnomIRC> (O)<Keoni29> 21:45
<OmnomIRC> (O)<yrinfish> where?
<OmnomIRC> (O)<Keoni29> Gwt+0
<OmnomIRC> (O)<Keoni29> The netherlands
<OmnomIRC> (O)<yrinfish> huh? loool
<OmnomIRC> (O)<yrinfish> hallo keoni, hoe gaat het? continue in english please
<OmnomIRC> (O)<Keoni29> :S
<OmnomIRC> (O)<yrinfish> really stupid dutch sentence^

Languages:
1308401677 <yrinfish> I'm dutch
1308401679 <yrinfish> lol
1308401687 <p2> Oh.
1308401702 <yrinfish> So I need to learn german
1308401705 <yrinfish> and french
1308401712 <yrinfish> and English
1308401717 <yrinfish> and Dutch
1308401724 <yrinfish> and Greek
1308401728 <yrinfish> and Latin
1308401739 <p2> I must learn french and English.
1308401739 <yrinfish> and Spanish
1308401749 <Spyro543> Y=sin(x+yrinfish)*>9000
NOTE: these are all the languages I have chosen to learn!
Spoiler For Info:

Spoiler For Projects:
Happy    [.---------] A C-like programming language for the z80 in js. REWRITING THE WHOLE THING, GOOD IDEAS NEEDED
DionJump [======----] Paused, but there is an update
Corona   [----------] Not enough time... If you need inspiration?
LGETC    [======----] getchar() LUT, useful and not too big. Waits for keyboard input and returns ASCII char

Spoiler For yrinthings tools:
stringLength Get the length in pixels of a small-font string.
safeText Html-ify a piece of text.

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: How to: Design a microprocessor
« Reply #32 on: May 03, 2011, 03:06:29 am »
Okay, since this is due tomorrow today, I've been working on it. I'll post the rest of the tutorials when I get a life.

Here's a preview to make your head hurt:

∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline TsukasaZX

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 415
  • Rating: +46/-3
  • Never Gonna Give You Up!
    • View Profile
Re: How to: Design a microprocessor
« Reply #33 on: May 03, 2011, 03:18:38 am »
Seriously, people. Verilog.

What, exactly, is to be gained by having a gate-level schematic of a microprocessor? If that image is part of your tutorial, then you are far from keeping this tutorial simple. You are treading in a territory that electrical engineers have long forsaken and (I assume) have no intent of returning to.
IRC EFNet | Nick Su-Hime | Chan #omnimaga, #unss, #cemetech
Yumé - 100% Complete!
Yumé 2: Rika's Story - 10%
 - Hiatus until summertime
Yumé: The Eternal Dreams - 50%
 - World and events
TIBiC/GO C Library - N%

"Alenda lux ubi orta libertas" - Let learning be cherished where liberty has arisen.

  ▲
▲ ▲ Triforce!

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: How to: Design a microprocessor
« Reply #34 on: May 03, 2011, 03:21:14 am »
Well, one thing to be gained by me is a grade :P

I also just posted this because multiple people have made posts describing gate level schematics.

Also, the image isn't part of the tutorial. That's much worse than what the actual tutorial CPU will be.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline TsukasaZX

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 415
  • Rating: +46/-3
  • Never Gonna Give You Up!
    • View Profile
Re: How to: Design a microprocessor
« Reply #35 on: May 03, 2011, 03:27:12 am »
Well, one thing to be gained by me is a grade :P

I also just posted this because multiple people have made posts describing gate level schematics.

Also, the image isn't part of the tutorial. That's much worse than what the actual tutorial CPU will be.

If your school project is to make an Electrical Engineering major have a cerebral infarction or an aneurysm-hemorrhage, then you get full credit plus some! X_x

I'm glad that image isn't part of the tutorial but still. Some things were never meant to be described on the gate level for reasons of sanity, time, space, and understanding.
IRC EFNet | Nick Su-Hime | Chan #omnimaga, #unss, #cemetech
Yumé - 100% Complete!
Yumé 2: Rika's Story - 10%
 - Hiatus until summertime
Yumé: The Eternal Dreams - 50%
 - World and events
TIBiC/GO C Library - N%

"Alenda lux ubi orta libertas" - Let learning be cherished where liberty has arisen.

  ▲
▲ ▲ Triforce!

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: How to: Design a microprocessor
« Reply #36 on: May 03, 2011, 03:29:34 am »
 :w00t:

w00t full credit
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline TsukasaZX

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 415
  • Rating: +46/-3
  • Never Gonna Give You Up!
    • View Profile
Re: How to: Design a microprocessor
« Reply #37 on: May 03, 2011, 03:34:45 am »
For the record, I'd just like to state that I'm not trying to flame or troll or insult anybody. Rather, as an EE Major, I am compelled to ... emphasize certain things. If y'all want to build simple microprocessors at the gate level, be my guest. I warned you twice or thrice about how masochistically insane it can be. As Qwerty's brain-buster image so demonstrates, this stuff gets complex fast. The amount of time you'll spend debugging something like that will grow exponentially to the point you may as well call it outright impossible.
IRC EFNet | Nick Su-Hime | Chan #omnimaga, #unss, #cemetech
Yumé - 100% Complete!
Yumé 2: Rika's Story - 10%
 - Hiatus until summertime
Yumé: The Eternal Dreams - 50%
 - World and events
TIBiC/GO C Library - N%

"Alenda lux ubi orta libertas" - Let learning be cherished where liberty has arisen.

  ▲
▲ ▲ Triforce!

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: How to: Design a microprocessor
« Reply #38 on: May 03, 2011, 03:36:10 am »
I've spent less than five minutes debugging that microcode instruction ROM and it works perfectly...

I *did* spend an hour wiring it up, though.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline TsukasaZX

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 415
  • Rating: +46/-3
  • Never Gonna Give You Up!
    • View Profile
Re: How to: Design a microprocessor
« Reply #39 on: May 03, 2011, 03:39:15 am »
I've spent less than five minutes debugging that microcode instruction ROM and it works perfectly...

I *did* spend an hour wiring it up, though.

You're either really good or really lucky or both. Fact of the matter is, it's still a pain in the butt. I've spent more time debugging simpler circuits. Furthermore, what's the practical application of creating a simulated schematic like that, anyway?
IRC EFNet | Nick Su-Hime | Chan #omnimaga, #unss, #cemetech
Yumé - 100% Complete!
Yumé 2: Rika's Story - 10%
 - Hiatus until summertime
Yumé: The Eternal Dreams - 50%
 - World and events
TIBiC/GO C Library - N%

"Alenda lux ubi orta libertas" - Let learning be cherished where liberty has arisen.

  ▲
▲ ▲ Triforce!

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: How to: Design a microprocessor
« Reply #40 on: May 03, 2011, 03:40:37 am »
There's pretty much no practical application for it, except a general understanding of how computers work at their most basic level.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline TsukasaZX

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 415
  • Rating: +46/-3
  • Never Gonna Give You Up!
    • View Profile
Re: How to: Design a microprocessor
« Reply #41 on: May 03, 2011, 03:47:52 am »
There's pretty much no practical application for it, except a general understanding of how computers work at their most basic level.

I guess that's a worthy reason but it's not exactly a marketable one unless you're going into microprocessor design for a career. Personally, if you want to just generally understand how computers work at their second-most basic level (most basic would be literally arrays of transistors), I'd suggest playing around with simpler sequential logic machines. Build a simple vending machine facsimile or a simple cruise control analogue. They're much, much less difficult in comparison and they teach the general concept of computers as state machines and how volatile memory works.
IRC EFNet | Nick Su-Hime | Chan #omnimaga, #unss, #cemetech
Yumé - 100% Complete!
Yumé 2: Rika's Story - 10%
 - Hiatus until summertime
Yumé: The Eternal Dreams - 50%
 - World and events
TIBiC/GO C Library - N%

"Alenda lux ubi orta libertas" - Let learning be cherished where liberty has arisen.

  ▲
▲ ▲ Triforce!

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: How to: Design a microprocessor
« Reply #42 on: May 03, 2011, 03:50:16 am »
I know, designing a vending machine was the *other* project we had to do...

I didn't use state machines to design any of the circuits in that diagram, though ;)
Way too much work to draw out the transition table for such a complex device.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline TsukasaZX

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 415
  • Rating: +46/-3
  • Never Gonna Give You Up!
    • View Profile
Re: How to: Design a microprocessor
« Reply #43 on: May 03, 2011, 03:55:27 am »
[...]
I didn't use state machines to design any of the circuits in that diagram, though ;)
Way too much work to draw out the transition table for such a complex device.

Eh wot? <translation: please clarify your post for I am confused>
IRC EFNet | Nick Su-Hime | Chan #omnimaga, #unss, #cemetech
Yumé - 100% Complete!
Yumé 2: Rika's Story - 10%
 - Hiatus until summertime
Yumé: The Eternal Dreams - 50%
 - World and events
TIBiC/GO C Library - N%

"Alenda lux ubi orta libertas" - Let learning be cherished where liberty has arisen.

  ▲
▲ ▲ Triforce!

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: How to: Design a microprocessor
« Reply #44 on: May 03, 2011, 04:00:21 am »
Er, I didn't use any of these
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ