Best beginner processor to implement? - Page 1
Forum section: electronics / beginners

author: iceisfun
author_rank: Regular Contributor
timestamp: July 09, 2013, 07:45:39 pm
content: 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.

author: madshaman
author_rank: Frequent Contributor
timestamp: July 09, 2013, 08:00:08 pm
content: 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.

author: dfmischler
author_rank: Frequent Contributor
timestamp: July 09, 2013, 10:50:09 pm
content: 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..

author: iceisfun
author_rank: Regular Contributor
timestamp: July 11, 2013, 01:26:34 am
content: 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

author: cthree
author_rank: Frequent Contributor
timestamp: July 11, 2013, 01:33:26 am
content: 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.

author: WarSim
author_rank: Frequent Contributor
timestamp: July 11, 2013, 02:57:41 am
content: Cthree you know 2 months ago I found a place still making 8086s. I was surprised. So many years later and still being produced.

author: Alexei.Polkhanov
author_rank: Frequent Contributor
timestamp: July 11, 2013, 03:33:36 am
content: Quote from: iceisfun on July 11, 2013, 01:26:34 amGood 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/

author: cthree
author_rank: Frequent Contributor
timestamp: July 11, 2013, 03:40:10 am
content: Quote from: WarSim on July 11, 2013, 02:57:41 amI would bet money on there being process control machines on a factory floor somewhere running on 8086/8088 PC clones.

author: cthree
author_rank: Frequent Contributor
timestamp: July 11, 2013, 03:57:18 am
content: Quote from: Alexei.Polkhanov on July 11, 2013, 03:33:36 amI 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.

author: johnboxall
author_rank: Unknown
timestamp: July 11, 2013, 07:58:52 am
content: Quote from: iceisfun on July 09, 2013, 07:45:39 pmBuild a TEC-1.See:http://www.talkingelectronics.com/TE-1-15_pdfs/TE-Issue10.pdfhttp://www.talkingelectronics.com/TE-1-15_pdfs/TE-Issue11.pdfhttp://www.talkingelectronics.com/TE-1-15_pdfs/TE-Issue12.pdfhttp://www.talkingelectronics.com/TE-1-15_pdfs/TE-Issue13.pdfhttp://www.talkingelectronics.com/TE-1-15_pdfs/TE-Issue14.pdfhttp://www.talkingelectronics.com/TE-1-15_pdfs/TE-Issue15.pdf

author: EEVblog
author_rank: Unknown
timestamp: July 11, 2013, 08:11:25 am
content: Quote from: iceisfun on July 09, 2013, 07:45:39 pmWouldn't ARM be more relevant these days?I assume you want to program in assembler then?

author: EEVblog
author_rank: Unknown
timestamp: July 11, 2013, 08:11:53 am
content: Quote from: tronixstuff on July 11, 2013, 07:58:52 amYES!

author: amyk
author_rank: Super Contributor
timestamp: July 11, 2013, 10:30:27 am
content: 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.Quote from: cthree on July 11, 2013, 03:40:10 amMilitary and aerospace, actually.http://www.intersil.com/en/products/space-and-harsh-environment/-883/microprocessors-and-peripherals/80C86-883.html($325 in 1ku)http://www.intersil.com/en/products/space-and-harsh-environment/-883/microprocessors-and-peripherals/80C88-883.html($533 in 1ku)

author: cthree
author_rank: Frequent Contributor
timestamp: July 11, 2013, 02:19:32 pm
content: Quote from: amyk on July 11, 2013, 10:30:27 amWow and yeah, that makes sense. I heard the Hubble telescope ran on a '386 CPU somewhere, probably while they wee fixing it

author: cthree
author_rank: Frequent Contributor
timestamp: July 11, 2013, 02:25:16 pm
content: Quote from: tronixstuff on July 11, 2013, 07:58:52 amI'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.