Author Topic: Best beginner processor to implement?  (Read 4349 times)

0 Members and 1 Guest are viewing this topic.

Offline iceisfun

  • Regular Contributor
  • *
  • Posts: 137
  • Country: us
Best beginner processor to implement?
« on: July 10, 2013, 05:45:39 AM »
I want to implement a z80 or 8086 (or other, suggestions) machine to do some learning.

It would be nice to get enough memory accessible to do a few 512x512x4 buffers and floating point access, I know some of these processors have optional fpu.
 

Offline madshaman

  • Frequent Contributor
  • **
  • Posts: 699
  • Country: ca
  • ego trans insani
Best beginner processor to implement?
« Reply #1 on: July 10, 2013, 06:00:08 AM »
Go for something with a simpler instruction set like a 6502 or a 6809.  The 8086 and z80 are practically siblings (read the history of the z80) and have a larger instruction set to implement.

I assume you're going to do a scratch registers + mutliplexor/demultiplexor + ALU with microcode solution?

(I'm no expert, the only uC I ever implemented myself [in hardware that is] was in uni using EPROMs and PALs, because I'm ancient ;-p )

Edit: I know that doesn't address your desire for floating point, but I can't think of a simple processor that has it.  Was going to suggest Arm32 as well, but again, no floating point by default.

Maybe an 8086/8087 combo really is the best/simplest choice, but it's still a decently large instuction set, especially when you have to implement the system level instructions too.
« Last Edit: July 10, 2013, 07:43:57 AM by madshaman »
To be responsible, but never to let fear stop the imagination.
 

Offline dfmischler

  • Frequent Contributor
  • **
  • Posts: 548
  • Country: us
Re: Best beginner processor to implement?
« Reply #2 on: July 10, 2013, 08:50:09 AM »
Are you planning to implement the CPU in some kind of logic, or use a microprocessor?  I'm guessing implementing the CPU outright, but its not really clear.

The simplest machine I ever worked with was a PDP-8.  And there are loads of websites that describe it, maybe even in sufficient detail to implement it (plus simulators, and even partly working VHDL if you want to use a fpga).  But the result is a 12-bit machine with 4K words, or up to 32K words if you implement the memory expansion..
 

Offline iceisfun

  • Regular Contributor
  • *
  • Posts: 137
  • Country: us
Re: Best beginner processor to implement?
« Reply #3 on: July 11, 2013, 11:26:34 AM »
I do not mind bigger instruction sets or having to implement memory paging and drivers.

What I really want here is to be able to have several (16?) mb addressable memory and floating point processing for vector math, eventually I want to implement a ff pipeline for rendering through a fpga but a good first step is making a processor tick.

I don't understand hardware memory buses and addressing very well
 

Offline cthree

  • Frequent Contributor
  • **
  • Posts: 258
  • Country: ca
Re: Best beginner processor to implement?
« Reply #4 on: July 11, 2013, 11:33:26 AM »
I think you should get a Raspberry Pi and call it a day. If you really want an 8086/Z80/8088 I suggest looking for one at a museum.

 

Offline WarSim

  • Frequent Contributor
  • **
  • Posts: 514
Best beginner processor to implement?
« Reply #5 on: July 11, 2013, 12:57:41 PM »
Cthree you know 2 months ago I found a place still making 8086s.  I was surprised.  So many years later and still being produced. 
 

Offline Alexei.Polkhanov

  • Frequent Contributor
  • **
  • Posts: 681
  • Country: ca
Re: Best beginner processor to implement?
« Reply #6 on: July 11, 2013, 01:33:36 PM »
I do not mind bigger instruction sets or having to implement memory paging and drivers.

What I really want here is to be able to have several (16?) mb addressable memory and floating point processing for vector math, eventually I want to implement a ff pipeline for rendering through a fpga but a good first step is making a processor tick.

I don't understand hardware memory buses and addressing very well
Good lecture from Cornell univ. on FPGA - there in lecture 5 and 6 they talk about stack-based processor implemented in FPGA. Memory handling for Cyclone II board that they use is discussed earlier. I just started watching it myself actually. URL for sample code appears to be here: http://people.ece.cornell.edu/land/courses/ece5760/DE2/
 

Offline cthree

  • Frequent Contributor
  • **
  • Posts: 258
  • Country: ca
Re: Best beginner processor to implement?
« Reply #7 on: July 11, 2013, 01:40:10 PM »
Cthree you know 2 months ago I found a place still making 8086s.  I was surprised.  So many years later and still being produced.

I would bet money on there being process control machines on a factory floor somewhere running on 8086/8088 PC clones.
 

Offline cthree

  • Frequent Contributor
  • **
  • Posts: 258
  • Country: ca
Re: Best beginner processor to implement?
« Reply #8 on: July 11, 2013, 01:57:18 PM »
I do not mind bigger instruction sets or having to implement memory paging and drivers.

What I really want here is to be able to have several (16?) mb addressable memory and floating point processing for vector math, eventually I want to implement a ff pipeline for rendering through a fpga but a good first step is making a processor tick.

I don't understand hardware memory buses and addressing very well
Good lecture from Cornell univ. on FPGA - there in lecture 5 and 6 they talk about stack-based processor implemented in FPGA. Memory handling for Cyclone II board that they use is discussed earlier. I just started watching it myself actually. URL for sample code appears to be here: http://people.ece.cornell.edu/land/courses/ece5760/DE2/

I worked on a 32 bit stack based CPU that was actually pretty cool. I was leading a team porting PersonalJava vm to is which was actually the claim to fame for the CPU, the javaVM uses a stack architecture internally so it 'almost' ran natively on the CPU. It turned out it wasn't that simple.

For those that don't know what a stack processor is, rather than loading resisters with data and then executing an instruction, you push your data into a stack and then execute the instruction which replaces your data with the result on the top of the stack, aka RPN. From there you can push more data and execute more instructions. It's actually a pretty cool architecture.
 

Offline tronixstuff

  • Supporter
  • ****
  • Posts: 506
  • Country: au
    • Tronixlabs
Re: Best beginner processor to implement?
« Reply #9 on: July 11, 2013, 05:58:52 PM »

Online EEVblog

  • Administrator
  • *****
  • Posts: 24935
  • Country: au
    • EEVblog
Re: Best beginner processor to implement?
« Reply #10 on: July 11, 2013, 06:11:25 PM »
I want to implement a z80 or 8086 (or other, suggestions) machine to do some learning.
It would be nice to get enough memory accessible to do a few 512x512x4 buffers and floating point access, I know some of these processors have optional fpu.

Wouldn't ARM be more relevant these days?
I assume you want to program in assembler then?
 

Online EEVblog

  • Administrator
  • *****
  • Posts: 24935
  • Country: au
    • EEVblog
Re: Best beginner processor to implement?
« Reply #11 on: July 11, 2013, 06:11:53 PM »
 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 5274
Re: Best beginner processor to implement?
« Reply #12 on: July 11, 2013, 08:30:27 PM »
By "implement a machine" do you mean actually implementing the processor core, or just building a systemusing one? In any case if you're preferring Z80/x86 line, and want 16M of memory, then maybe a 286 could be your choice.

I would bet money on there being process control machines on a factory floor somewhere running on 8086/8088 PC clones.
Military and aerospace, actually.
http://www.intersil.com/en/products/space-and-harsh-environment/-883/microprocessors-and-peripherals/80C86-883.html
($325 in 1ku :o)
http://www.intersil.com/en/products/space-and-harsh-environment/-883/microprocessors-and-peripherals/80C88-883.html
($533 in 1ku :o :o :o)
 

Offline cthree

  • Frequent Contributor
  • **
  • Posts: 258
  • Country: ca
Re: Best beginner processor to implement?
« Reply #13 on: July 12, 2013, 12:19:32 AM »
By "implement a machine" do you mean actually implementing the processor core, or just building a systemusing one? In any case if you're preferring Z80/x86 line, and want 16M of memory, then maybe a 286 could be your choice.

I would bet money on there being process control machines on a factory floor somewhere running on 8086/8088 PC clones.
Military and aerospace, actually.
http://www.intersil.com/en/products/space-and-harsh-environment/-883/microprocessors-and-peripherals/80C86-883.html
($325 in 1ku :o)
http://www.intersil.com/en/products/space-and-harsh-environment/-883/microprocessors-and-peripherals/80C88-883.html
($533 in 1ku :o :o :o)

Wow and yeah, that makes sense. I heard the Hubble telescope ran on a '386 CPU somewhere, probably while they wee fixing it  ;)
 

Offline cthree

  • Frequent Contributor
  • **
  • Posts: 258
  • Country: ca
Re: Best beginner processor to implement?
« Reply #14 on: July 12, 2013, 12:25:16 AM »
I want to implement a z80 or 8086 (or other, suggestions) machine to do some learning.

It would be nice to get enough memory accessible to do a few 512x512x4 buffers and floating point access, I know some of these processors have optional fpu.

Build a TEC-1. :)


I'd love to know what the BOM cost on one of those is these days. Samsung dropped the price of their. 11" chromebook to $169, could you build a tec1 for twice that? I dunno. Still, if the goal is software development, you can't beat the RPi for features or price.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf