User avatar
reiuyi
Posts: 165
Joined: Sun Oct 09, 2011 4:59 pm
Contact: Website

Re: Intel 8086 CPU

Sun Apr 08, 2012 4:23 pm

Oh hai,

A while back I won this in an ebay auction:



It's an original working ceramic Intel 8086 from 1978 (or so it states, that's what I bought it as). I am in no way capable of building anything with it right now, though I'm confident that through simpler projects like PIC, Atmega, Raspberry Pi and stuff like Z80 I can work my way up to creating something using this 8086.

Isis Proteus contained some schematics to build a calculator out of the 8086. Though, right now I'm reading up on data buses and addressing to learn how a CPU actually interacts with peripherals such as EEPROMs, RAM, and various IO devices.

I made this thread because this is one of the things that Raspberry Pi has done for me. Even though the Raspi is not yet mail distributed, the effect it has had on the internet and on numerous hobbyists (including myself) is enormous! Raspi has reignited my interest for electronics and especially micro-stuff.

Oh and if you have information on the 8086, data buses and whatever relevant you can think of, you're more than allowed to reply to this thread.

n31l
Posts: 21
Joined: Fri Apr 06, 2012 8:27 pm

Re: Intel 8086 CPU

Sun Apr 08, 2012 4:34 pm

I've got an 8086 cook book some where around the house.

andri
Posts: 51
Joined: Fri Jan 27, 2012 5:05 pm

Re: Intel 8086 CPU

Sun Apr 08, 2012 4:58 pm

Oh wait, where's my "IBM PC XT TECHNICAL REFERENCE" book?

It's looong time ago.

Google help me find this link: http://www.retroarchive.org/do.....echref.pdf

Stil have IBM PC XT motherboard, 8088 10 MHz (Turbo). NEC V20 (8088 compatible, faster), 8087 CoProcessor!! Oh yesss!!!!

Andre_P
Posts: 241
Joined: Sun Aug 28, 2011 7:57 am

Re: Intel 8086 CPU

Sun Apr 08, 2012 4:59 pm

Wasn't there something funky about the the 8086 architecture not being allowed to access the same page of memory within a number of instructions ???

I might be totally wrong so my apologies.

However if the RPi has inspired you to look at stuff then this is excellent news.

If you want to have a look at another processor then you might want to have a look at the 68k. It almost got to be used instead of the 8086 in the IBM PC but it was a bit tooo late (we are talking in the region of weeks late ).

User avatar
reiuyi
Posts: 165
Joined: Sun Oct 09, 2011 4:59 pm
Contact: Website

Re: Intel 8086 CPU

Sun Apr 08, 2012 5:47 pm

Stef said:


Stil have IBM PC XT motherboard, 8088 10 MHz (Turbo). NEC V20 (8088 compatible, faster), 8087 CoProcessor!! Oh yesss!!!!


In the past I actually had one of those 8088 PCs with the turbo button (was there ever a time it wasn't enabled?). Though we threw it away when there was no longer room for it. If I spot a second-hand one at a flea market for a couple of euros I'd gladly buy it, because getting the necessary chips (like the 8255 general purpose peripheral interface, 8253 clock generator and 8251 serial interface (UART?) ) individually is quite difficult. I can't even remember what the 8087 floating point coprocessor did for a machine. What I do remember is that the 8086 (and 8088) were actually designed to be used as a multiple-CPU computer. The idea of "dual core" or "dual processor" is thus not new; it's been done forever!

Andre_P said:


If you want to have a look at another processor then you might want to have a look at the 68k. It almost got to be used instead of the 8086 in the IBM PC but it was a bit tooo late (we are talking in the region of weeks late ).


I read something about Intel's strategy of promoting the x86 platform; the demo boards were cheaper than the actual chips, so developers could get a grip of the architecture and its ups/downs.

Kernel
Posts: 395
Joined: Sat Mar 03, 2012 12:53 pm

Re: Intel 8086 CPU

Sun Apr 08, 2012 8:04 pm

DeliciousRaspberryCake said:

In the past I actually had one of those 8088 PCs with the turbo button 
Oh gosh! I'd forgotten all about those!!

n31l
Posts: 21
Joined: Fri Apr 06, 2012 8:27 pm

Re: Intel 8086 CPU

Sun Apr 08, 2012 8:12 pm

When we wrote code for the 8080 we had to split the code between two sets of Eprom and Ram, one for odd bytes and one for even. that way you would half the speed requirements for the chips. cant remember the clock speed but i bet it was less than 1Mhz.

still have a commador Pet sitting in a cupboard last time i turned it on it worked just fine.

User avatar
SN
Posts: 1014
Joined: Mon Feb 13, 2012 8:06 pm
Location: Romiley, UK
Contact: Website

Re: Intel 8086 CPU

Sun Apr 08, 2012 10:32 pm

I found an 8088-2 and an 8085 chip in my garage last weekend both with 30 year old dates on them. . .
Steve N – binatone mk4->intellivision->zx81->spectrum->cbm64->cpc6128->520stfm->pc->raspi ?

User avatar
reiuyi
Posts: 165
Joined: Sun Oct 09, 2011 4:59 pm
Contact: Website

Re: Intel 8086 CPU

Sun Apr 08, 2012 11:50 pm

n31l said:


When we wrote code for the 8080 we had to split the code between two sets of Eprom and Ram, one for odd bytes and one for even. that way you would half the speed requirements for the chips. cant remember the clock speed but i bet it was less than 1Mhz.


The ROM-splitup of odd and even bytes is something I read about when I was searching for information on these old CPUs. I found it incredibly strange this was a common thing in the past. Then again, I'm in no way capable of understanding the design issues faced in the 70s.

SN said:


I found an 8088-2 and an 8085 chip in my garage last weekend both with 30 year old dates on them. . .


You could frame them , turn them into a project like I was planning on, or sell them for gold on ebay! Hook them up to some LEDs to see if the CPU can still seek ram access bus, you'll know for sure it's still 100% functional

User avatar
rurwin
Forum Moderator
Forum Moderator
Posts: 4258
Joined: Mon Jan 09, 2012 3:16 pm
Contact: Website

Re: Intel 8086 CPU

Mon Apr 09, 2012 10:03 am

DeliciousRaspberryCake said:


n31l said:


When we wrote code for the 8080 we had to split the code between two sets of Eprom and Ram, one for odd bytes and one for even. that way you would half the speed requirements for the chips. cant remember the clock speed but i bet it was less than 1Mhz.


The ROM-splitup of odd and even bytes is something I read about when I was searching for information on these old CPUs. I found it incredibly strange this was a common thing in the past.


In my experience, this is not to do with speed. This is because the data bus of the 8086 is 16 bits, and the EPROMs are only 8 bits wide. IIRC, there was a separate enable signal for the two halves of the bus, since 8-bit reads and writes were possible.

Chris.Rowland
Posts: 239
Joined: Thu Jan 12, 2012 5:45 pm

Re: Intel 8086 CPU

Mon Apr 09, 2012 10:39 am

We used 2 8 bit EPROMS like this, for access to a 16 bit bus.  I've a vague memory of writing a BIOS for a Data General Nova clone in the mid 80s.

The linker generated two hex file outputs for each EPROM, all you had to do was ensure that you didn't get them confused.  BTW erasing was done by shining UV light on them through a little window. No flash then.

If all else failed the Bios would flash SOS in Morse on the carry light.  It could send entire error messages that way but we never managed to convince CS that the engineers should learn Morse.

User avatar
Jongoleur
Posts: 1179
Joined: Thu Aug 11, 2011 12:47 pm
Location: O'erlooking the sea, and all those effin windfarms...

Re: Intel 8086 CPU

Mon Apr 09, 2012 12:15 pm

In a box, in the attic somewhere, I've about half a dozen Z80s, various Z80 peripheral chips and a bunch of 32K EPROMS.  Sadly I haven't got an EPROM programmer.  But its nice to think I've probably got the basis of a couple of really retro computers......
I'm just a bouncer, splatterers do it with more force.....

User avatar
reiuyi
Posts: 165
Joined: Sun Oct 09, 2011 4:59 pm
Contact: Website

Re: Intel 8086 CPU

Mon Apr 09, 2012 1:22 pm

Richard R. Eckert and James L. Antonakos have published some work on a single-board computer design with the 8088 http://www.cs.binghamton.edu/~.....rt/sbc.htm , and they"ve also made a simplistic diagram showing the address and data-lines:



My question would be: can I use the 8086 with just d0-7 not connecting d7-15? That would make designing a pcb way easier and avoid my confusion about how an 8-bit ram/rom would interact with a 16-bit data bus. There"s a surprising amount of information on DIY 8088 systems and a strikingly low number of 8086 projects

Anyway; I"m looking for single board computers (SBC) using the 8088 or 8086. It"ll be an educative experience I think. I"ve never really been a hardware person.

Update: an interesting website concerning 8088 SBCs is: http://sasteven.multics.org/80.....8page.html . This person has interfaced ROM and RAM on a single board using various 74 logic: For resolution issues; it's best to view the PDF: http://sasteven.multics.org/80.....088SBC.pdf . The simplicity is striking!

hippy
Posts: 6079
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: Intel 8086 CPU

Mon Apr 09, 2012 2:05 pm

DeliciousRaspberryCake said:

My question would be: can I use the 8086 with just d0-7 not connecting d7-15? 
It's been a long time since I could say with certainty but I don't think you can. I don't recall the 8086 has a means to use only 8-bit wide memory on its 16-bit bus. You'd have to go to the later 8088 / NEC V20 for an 8-bit bus.

User avatar
johnbeetem
Posts: 945
Joined: Mon Oct 17, 2011 11:18 pm
Location: The Mountains
Contact: Website

Re: Intel 8086 CPU

Mon Apr 09, 2012 2:24 pm

DeliciousRaspberryCake said:

My question would be: can I use the 8086 with just d0-7 not connecting d7-15? That would make designing a pcb way easier and avoid my confusion about how an 8-bit ram/rom would interact with a 16-bit data bus. There's a surprising amount of information on DIY 8088 systems and a strikingly low number of 8086 projects...  The [8088] simplicity is striking!
I think you're finding out why IBM went with the 8088 for the original IBM PC instead of using the older but faster 8086.  I lost my 8086 book during an old move, but I expect you'll need the full 16-bit data bus and have to deal with splitting the ROM into odd/even bytes.  At these frequencies I suggest wire-wrap rather than PCB for a one-of-a-kind project.  Wire-wrap can actually go to 80 MHz clocks if you're careful and use twisted-pair wire-wrap for clocks and other critical signals.  The IBM 801 was first prototyped on ECL wire-wrap panels long before it became PowerPC.

User avatar
Chromatix
Posts: 430
Joined: Mon Jan 02, 2012 7:00 pm
Location: Helsinki

Re: Intel 8086 CPU

Mon Apr 09, 2012 4:55 pm

I have an actual working PC based on an 8086 (no 8087 though).  It's a luggable - an Amstrad PPC512.  Unfortunately it doesn't have the full 640KB RAM, but 512KB is enough to run most DOS programs that can also live with an 8086's very limited capabilities - in truth this was a "16-bit" CPU with all the power of an 8-bit one, just more RAM addressing ability.

I do wonder what the PC ecosystem would have looked like with 68K in the PC instead of x86.  That was a genuinely powerful CPU which stepped up to 32-bit requirements rather nicely in later incarnations (68020 onwards).
The key to knowledge is not to rely on people to teach you it.

User avatar
johnbeetem
Posts: 945
Joined: Mon Oct 17, 2011 11:18 pm
Location: The Mountains
Contact: Website

Re: Intel 8086 CPU

Mon Apr 09, 2012 5:23 pm

Chromatix said:

I do wonder what the PC ecosystem would have looked like with 68K in the PC instead of x86.  That was a genuinely powerful CPU which stepped up to 32-bit requirements rather nicely in later incarnations (68020 onwards).
JMO/YMMV:

Take your pick: Apple Macintosh, Commodore Amiga, Atari ST.  If Apple had licensed the hardware design and made their money off software, there would have been cheap Macs everywhere and Microsoft would have IMO long ago crumbled under its mediocrity.  Motorola's chief problem was delays in bringing out new chips -- the 68020 (first 32-bit external architecture) in particular was years later than it should have been.  Intel's chief problem was delays in software catching up to hardware capabilities: 1985 brought the 80386 (first 32-bit x86), with Windows 95 able to take advantage of it ten year later

User avatar
SN
Posts: 1014
Joined: Mon Feb 13, 2012 8:06 pm
Location: Romiley, UK
Contact: Website

Re: Intel 8086 CPU

Mon Apr 09, 2012 5:50 pm

Alongside those two cpu"s I also have a working 1990 vintage 8086 pc too. It"s an ICL DRS M30 with 20mb HD, 640Kb Ram with another 2Mb on an extender card available as Expanded/Extended (can"t remember which) RAM, was good only for a RAM Disk. Could manage 640x400x256 - not quite enough screen RAM for full extended VGA - but access to screen ram was sooo slow that MSDos command line text scrolling was about 2 seconds per line scroll up. . .
Steve N – binatone mk4->intellivision->zx81->spectrum->cbm64->cpc6128->520stfm->pc->raspi ?

bill
Posts: 15
Joined: Wed Aug 03, 2011 7:07 pm

Re: Intel 8086 CPU

Mon Apr 09, 2012 7:23 pm

I miss the days of address and data buses, I certainly don't use them on the embedded micro-controller designs I do now.  For what it is worth the 8086 and its family of parts (8088, 80C86, V20 etc.) used a segmented address scheme. The ALU was only 16 bits so to address the the full 1 Mega Byte (and in those days this was a huge amount of memory) there was a set of registers (register? sorry its been a while) associated with the upper 4 address bits and to cross page boundaries you had to rewrite the register.  Yes this made coding things with any thing larger than 64k worth of data or code a test of memory management in your software.  The 68k family had a flat memory space which made it much easier to program.

There were wars in those days between camps 68k vs. 8086, big endian vs. little endian.

Writing the boot code for an 8086 is a bit of a challenge  -good luck

Now I feel old, long live the S100, Multibus and Microcode.

User avatar
johnbeetem
Posts: 945
Joined: Mon Oct 17, 2011 11:18 pm
Location: The Mountains
Contact: Website

Re: Intel 8086 CPU

Mon Apr 09, 2012 8:35 pm

bill said:

There were wars in those days between camps 68k vs. 8086, big endian vs. little endian.
Byte order wars won't end -- and IMO shouldn't since each scheme has its advantages and disadvantages.  The best work IMO on the subject is hard to find because of its rather poetic title: "On Holy Wars and a Plea for Peace" (Danny Cohen, IEEE Computer, October 1981).  My preference is the 68000 convention: big-endian bytes and little-endian bits.  That way I can annoy the purists on both sides

ARM is a funny case: it's mostly either-endian, though some implementations are fixed at little-endian, but sometimes just for instructions.

The answer, as usual, is 42 hexadecimal which in binary is a palindrome: 0100.0010.

User avatar
SN
Posts: 1014
Joined: Mon Feb 13, 2012 8:06 pm
Location: Romiley, UK
Contact: Website

Re: Intel 8086 CPU

Mon Apr 09, 2012 8:43 pm

And bizarrely the phyiscal manner by which addresses beyond 1mb were reached involved the "keyboard controller" in some way!!!!!
Steve N – binatone mk4->intellivision->zx81->spectrum->cbm64->cpc6128->520stfm->pc->raspi ?

User avatar
Chromatix
Posts: 430
Joined: Mon Jan 02, 2012 7:00 pm
Location: Helsinki

Re: Intel 8086 CPU

Mon Apr 09, 2012 8:51 pm

I have a firm preference for network order when writing things down, where both byte and bit (or at least nybble) order are most-significant first.  It's easy to read.  PowerPC normally uses this, although some PPC CPUs are able to work in little-endian mode for some bizarre reason.

When numbering bits in a word, however, I tend to think bit 0 is the least-significant one, giving a close correspondence with place-value (2^N).  I'm currently reading a lot of PowerPC documentation for a work project, so this throws me slightly.  If this is what 68K does, no wonder people like it so much.

Unfortunately I outgrew 8-bit machines slightly too late to get into the 68K era - I never had an Amiga, for example.  I had a 68K based PowerBook for a while, but programming one of those in assembler (rather than C++) was not the obvious thing to do.
The key to knowledge is not to rely on people to teach you it.

User avatar
johnbeetem
Posts: 945
Joined: Mon Oct 17, 2011 11:18 pm
Location: The Mountains
Contact: Website

Re: Intel 8086 CPU

Mon Apr 09, 2012 9:19 pm

Chromatix said:


I have a firm preference for network order when writing things down, where both byte and bit (or at least nybble) order are most-significant first.  It's easy to read.  PowerPC normally uses this, although some PPC CPUs are able to work in little-endian mode for some bizarre reason.


The "bizarre reason" is that sometimes you need to talk to a little-endian device, so being able to tell the memory storage controller to swap bytes for you can be very nice once you've figured out what you need.  For example, a PCI bus is little-endian so its control and/or configuration registers may be little-endian.

User avatar
Jongoleur
Posts: 1179
Joined: Thu Aug 11, 2011 12:47 pm
Location: O'erlooking the sea, and all those effin windfarms...

Re: Intel 8086 CPU

Mon Apr 09, 2012 10:03 pm

SN said:


And bizarrely the phyiscal manner by which addresses beyond 1mb were reached involved the "keyboard controller" in some way!!!!!



There was a spare control line on the keyboard controller that could be used to waggle the A20 line.  Something like that, its a long time since I've looked at IBM PC manuals.  Was it the A20 line????

Too late to think!
I'm just a bouncer, splatterers do it with more force.....

User avatar
SN
Posts: 1014
Joined: Mon Feb 13, 2012 8:06 pm
Location: Romiley, UK
Contact: Website

Re: Intel 8086 CPU

Mon Apr 09, 2012 10:10 pm

The A20 line, thats the one
Steve N – binatone mk4->intellivision->zx81->spectrum->cbm64->cpc6128->520stfm->pc->raspi ?

Return to “Off topic discussion”