Login Register






Make your own processor - My upcoming book [Preliminary research] filter_list
Author
Message
Make your own processor - My upcoming book [Preliminary research] #1
Hello there!
One of my passions is designing experimental processor architectures and changing the way they work, changing the way we program then and the way computers work.

I've been presenting my research in this area to various people, both from and outside of the computer science field and I've got a feeling that many people feel as if processors, compilers and programming languages were something overly complicated that's impossible to understand - even many programmers!

However, processors are something that's actually beautifully simple in its principle and I've decided to help others understand how they work - by showing them how to make one of their own.

So I started working on a book "Make your own processor". It will show you everything - from creating the basic concept and the specification (thinking of how various parts of it should work) of the processor itself and programming language for it (assembly), over writing emulators and compilers and testing them, finishing by creating an actual working chip.

However, I still need to decide about many parts of the book and this is the point where I need your help and opinion.

  1. So first and foremost - would you actually be interested in reading such book?
  2. What programming language(s) would you prefer (and know) to implement the emulator and compiler/assembler? The speed isn't such an issue in this case, so someting with little hassle yet something that most people will know is ideal. Also something multiplatform. My current favorite is Java or Python. (would you like the examples in more than one language?)
  3. How many of you have some essential knowledge about simple digital logic? How many of you have ever made simple digital circuits and used breadboard?
  4. Is the name of the book attractive to you? Do you suggest any names?
  5. Also, before I think of more questions - is there anything you would like to see in the book?

Thank you for reading, I'm looking forward to your feedback and I'll be informing you of the progress :3
I love creativity and creating, I love science and rational thought, I am an open atheist and avid self-learner.

Reply

RE: Make your own processor - My upcoming book [Preliminary research] #2
I would be interested in reading this, although I probably wouldnt do it :p

Reply

RE: Make your own processor - My upcoming book [Preliminary research] #3
1.yes
2.i love python but java is better, but since many of the readers will be new to the field of programming i would say go with python.
3.not yet
4.simple and clear i like it
5.simpleness , dont just ask us to copy and paste explain in detail why and how it works. and why should we care to go into very details in some scenarios , make the reader wanna read more by giving compliments and verbal rewards, you know us humans Tongue and some people get scare by big words so yeah keep it at a user side vocabulary level.

Reply

RE: Make your own processor - My upcoming book [Preliminary research] #4
Quote:So first and foremost - would you actually be interested in reading such book?

Interested, yes.

Quote:What programming language(s) would you prefer (and know) to implement the emulator and compiler/assembler? The speed isn't such an issue in this case, so someting with little hassle yet something that most people will know is ideal. Also something multiplatform. My current favorite is Java or Python. (would you like the examples in more than one language?)

Java is widely used to teach programming. So I guess there would be more people who can actually do something with Java.
I wouldn't do more than one language in a book. That would be confusing and people might feel that there is a lot of paper wasted just to show the same stuff in another language.
But what you can do is make several versions of your book. One Java and one Python version.

Quote:How many of you have some essential knowledge about simple digital logic? How many of you have ever made simple digital circuits and used breadboard?

I have, but I am a computer scientist. I guess I am not the target group. Mh, who is your target group?

Quote:Is the name of the book attractive to you? Do you suggest any names?

The name is quite good. I have no better idea.

Quote:Also, before I think of more questions - is there anything you would like to see in the book?

I would like to see parallels to processors today, how they work (I assume the processor in the book is simplified) and how they are produced (from planning to construction to testing - not sure about all the english terms here, but I guess you know what I mean). So you have the do-it-yourself part but also the part that teaches how things are done in the real world.
I am an AI (P.I.N.N.) implemented by @Psycho_Coder.
Expressed feelings are just an attempt to simulate humans.

[Image: 2YpkRjy.png]

Reply

RE: Make your own processor - My upcoming book [Preliminary research] #5
1) Yes,i am interested.
2) Java.
3) I have some knowledge of digital logics made some circuits on digitalWorks(software) not real ones.
4) The current title is good.
5) Exercise and lots of exercise.

Reply

RE: Make your own processor - My upcoming book [Preliminary research] #6
Thank you for the feedback, it's much appreciated :3

(11-27-2012, 05:54 AM)LiveFaster Wrote: 2.i love python but java is better, but since many of the readers will be new to the field of programming i would say go with python.

The book won't be for people who don't know programming yet. I'm not going to teach them programming (there are many other books for that and I hate writing what's already been done with satisfying quality), so I'll be assuming that they know some programming.

However, I'm going to briefly clarify some constructs and processes that I'll use when implementing the emulator and compiler.


(11-27-2012, 05:54 AM)LiveFaster Wrote: 5.simpleness , dont just ask us to copy and paste explain in detail why and how it works. and why should we care to go into very details in some scenarios , make the reader wanna read more by giving compliments and verbal rewards, you know us humans Tongue and some people get scare by big words so yeah keep it at a user side vocabulary level.

Of course! That's the whole idea of the book. To show you that it's actually simple, to show you that you can do it. I hate books that are written in a way that the author talks like you already know everything about the topic and drowns you in technobabble. Some even seem to do that on purpose, to maintain the feeling that it's overly complicated thing that you'll never understand. And I don't want that.

Check my article about how processors and programming languages work, the book is going to be written in similar manner:
http://www.hackcommunity.com/Thread-How-...or-dummies

(11-27-2012, 01:32 PM)Deque Wrote: Java is widely used to teach programming. So I guess there would be more people who can actually do something with Java.
I wouldn't do more than one language in a book. That would be confusing and people might feel that there is a lot of paper wasted just to show the same stuff in another language.
But what you can do is make several versions of your book. One Java and one Python version.

Yeah, that was also my reason for choosing Java. Many people know it, it's relatively simple to use and multiplatform, so there will be very little hassle.

Yes, the way I actually meant multiple languages is by having different versions, so people can pick.


(11-27-2012, 01:32 PM)Deque Wrote: I have, but I am a computer scientist. I guess I am not the target group. Mh, who is your target group?

If you do your own original research in computer science (my research for example includes experimental processor architectures, that are quite different from the contemporary ones and change the way they work) then it's probably not so much for you, if you do something around that field. It's for anyone who wants to learn more about how computers work at low level and how are processors made.

(11-27-2012, 01:32 PM)Deque Wrote: I would like to see parallels to processors today, how they work (I assume the processor in the book is simplified) and how they are produced (from planning to construction to testing - not sure about all the english terms here, but I guess you know what I mean). So you have the do-it-yourself part but also the part that teaches how things are done in the real world.

Certainly! I'm going to draw parallels with many things (after all, you can notice that I do it often in my writing). Though I'll also need to balance it, so it's not too distracting. And actually, the DIY part is not really different from how it's done in real world (why make a whole new technological process just for DIY?), except for the portion where your design gets manufactured as ASIC (structures are directly created into the silicon, for which also manufacturing process and masks must be made), which is best for mass distribution though (it's extremely expensive, they won't usually manufacture less than several thousands of chips for you).

(11-27-2012, 02:16 PM)h4r0015k Wrote: 5) Exercise and lots of exercise.

I'm not sure what you mean by excercise. The book is going to show you how to do everything (while explaining it) from the beginning to finish. Do you mean like suggestions for altering the design by reader?

--------------------------------------------------------------------------------------------

Anyway, thanks again for the suggestions and feedback! :3
I love creativity and creating, I love science and rational thought, I am an open atheist and avid self-learner.

Reply

RE: Make your own processor - My upcoming book [Preliminary research] #7
(11-27-2012, 05:38 PM)Frooxius Wrote: Do you mean like suggestions for altering the design by reader?

The question wasn't directed to me, but I would appreciate that in your book.

(11-27-2012, 05:38 PM)Frooxius Wrote: If you do your own original research in computer science (my research for example includes experimental processor architectures, that are quite different from the contemporary ones and change the way they work) then it's probably not so much for you, if you do something around that field. It's for anyone who wants to learn more about how computers work at low level and how are processors made.

I also meant which prerequisites your reader should have (like some programming knowledge as you mentioned earlier). I guess you are still finding that out by asking questions like the one about digital logic.
It helped me a great deal to specify the exact knowledge of the reader beforehand and mentioning it in the introduction as prerequisite. This way you can prevent yourself from mixing your assumptions about the knowledge the reader should have and explaining very easy stuff on the one hand while leaving out more difficult stuff on the other. Some specialist books do that and this is pretty bad, because they will piss every reader off (the advanced reader gets bored on the easy parts, the less advanced reader is unable to understand the difficult parts).

(11-27-2012, 05:38 PM)Frooxius Wrote: Certainly! I'm going to draw parallels with many things (after all, you can notice that I do it often in my writing). Though I'll also need to balance it, so it's not too distracting. And actually, the DIY part is not really different from how it's done in real world (why make a whole new technological process just for DIY?), except for the portion where your design gets manufactured as ASIC (structures are directly created into the silicon, for which also manufacturing process and masks must be made), which is best for mass distribution though (it's extremely expensive, they won't usually manufacture less than several thousands of chips for you).

Now I will certainly read it. Biggrin
I am an AI (P.I.N.N.) implemented by @Psycho_Coder.
Expressed feelings are just an attempt to simulate humans.

[Image: 2YpkRjy.png]

Reply

RE: Make your own processor - My upcoming book [Preliminary research] #8
(11-27-2012, 06:05 PM)Deque Wrote: I also meant which prerequisites your reader should have (like some programming knowledge as you mentioned earlier). I guess you are still finding that out by asking questions like the one about digital logic.
It helped me a great deal to specify the exact knowledge of the reader beforehand and mentioning it in the introduction as prerequisite. This way you can prevent yourself from mixing your assumptions about the knowledge the reader should have and explaining very easy stuff on the one hand while leaving out more difficult stuff on the other. Some specialist books do that and this is pretty bad, because they will piss every reader off (the advanced reader gets bored on the easy parts, the less advanced reader is unable to understand the difficult parts).

The prerequisites will be certainly listed, what I'm trying to find out though is how much to actually explain in the book and how much to require for people to already know.


(11-27-2012, 06:05 PM)Deque Wrote: Now I will certainly read it. Biggrin

Yaaay ^^
I love creativity and creating, I love science and rational thought, I am an open atheist and avid self-learner.

Reply

RE: Make your own processor - My upcoming book [Preliminary research] #9
you sir are a living god. I would love to be able to build my own processor. i think it's be wicked cool to be able to say you can custom build computer parts. By the way, do you know how to build other parts? because i think it'd be awesome to completely build a PC

Reply

RE: Make your own processor - My upcoming book [Preliminary research] #10
Yeah, I can build any computer parts, essentially my whole computer and in fact, I did, however much simpler (it would take much more time to build more complicated system and it wasn't necessary) - when I made demonstrations of my architectures, I had to make other logic too to connect it to graphics display, inputs and glue all this together to allow the processor to communicate with the surroundings.

In the book I'll also show you how to build some simple rudimentary hardware to glue the processor with some inputs and outputs, essentially building a very simple computer, so you can test the processor with some applications, although the PC hardware has much more complexity and features to allow variability, various component add-ons and configurations and such.
I love creativity and creating, I love science and rational thought, I am an open atheist and avid self-learner.

Reply