Welcome, Guest. Please login or register.

Author Topic: What's so bad about Intel 8086 in technical terms?  (Read 20857 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: What's so bad about Intel 8086 in technical terms?
« Reply #89 from previous page: June 16, 2014, 08:46:31 PM »
Quote from: psxphill;766903
The benchmarks I saw were identical performance with Intel showing lower power usage. Supposedly the problem for Intel today is they haven't got a chipset with 4G support.


I'd be intrigued to see that. I've not seen the ARM bested in power consumption stats.

Quote

Arm architecture has changed a lot since the beginning, it's not a simple RISC processor anymore.


Hahahahah, there's no such thing as CISC and RISC anymore, all modern processors are a hybrid of these two concepts.

The best solution to most problems are hybrids.

Offline commodorejohn

  • Hero Member
  • *****
  • Join Date: Mar 2010
  • Posts: 3165
    • Show only replies by commodorejohn
    • http://www.commodorejohn.com
Re: What's so bad about Intel 8086 in technical terms?
« Reply #90 on: June 16, 2014, 09:13:28 PM »
Quote from: bloodline;766910
The best solution to most problems are hybrids.
Like Windows 8!
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/MT-32/D-10, Oberheim Matrix-6, Yamaha DX7/FB-01, Korg MS-20 Mini, Ensoniq Mirage/SQ-80, Sequential Circuits Prophet-600, Hohner String Performer

"\'Legacy code\' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: What's so bad about Intel 8086 in technical terms?
« Reply #91 on: June 16, 2014, 09:21:01 PM »
Quote from: commodorejohn;766913
Like Windows 8!


Well yes, in a way... Windows does use a hybrid Kernel, that has features of both Micro Kernels and Monolithic Kernels.

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #92 on: June 16, 2014, 11:13:36 PM »
Quote from: bloodline;766910
Hahahahah, there's no such thing as CISC and RISC anymore, all modern processors are a hybrid of these two concepts.

 There is such a thing as RISC, it just happens that ARM no longer fits the description.
 
 Due to moore's law CISC processors have room for lots of cache and registers, which used to only be available to RISC processors because the core took up less chip space. But those features weren't what defined RISC.
 

Offline TeamBlackFox

  • Master SPARC
  • Full Member
  • ***
  • Join Date: Jan 2014
  • Posts: 220
    • Show only replies by TeamBlackFox
Re: What's so bad about Intel 8086 in technical terms?
« Reply #93 on: June 17, 2014, 01:59:52 AM »
Quote from: bloodline;766910
The best solution to most problems are hybrids.

Eh I still prefer the monolithic kernels - mostly the BSD and System V kernels for performance reasons, BUT DragonFly BSD is a hybrid kernel, and it may just turn out to be the magic bullet against GNU/Linux - if it ever gets anywhere. 10 years and while its usable - its painful...
After many years in the Amiga community I have decided to leave the Amiga community permanently. If you have a question about SGI or Sun computers please PM me and I will return your contact as soon as I can.
 

Offline freqmaxTopic starter

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show only replies by freqmax
Re: What's so bad about Intel 8086 in technical terms?
« Reply #94 on: June 17, 2014, 04:07:18 AM »
Microkernels are nice. IF the CPU sports a genereous on board cache and in general the architecture won't induce a performance penalty that microkernels seems to do.

Any tip for microcontroller BSD unix for MMU less stuff ..?
(ie run on 512 kB flash and some way less RAM)
 

Offline TeamBlackFox

  • Master SPARC
  • Full Member
  • ***
  • Join Date: Jan 2014
  • Posts: 220
    • Show only replies by TeamBlackFox
Re: What's so bad about Intel 8086 in technical terms?
« Reply #95 on: June 17, 2014, 03:15:37 PM »
Well Freqmax I like the kernel used in the Amiga family as its one of the few that doesn't incur severe overhead ( Mach and Hurd suck as anything more than hobbyist kernels due to overhead/message passing lag )

I don't know enough coding to know how to get a modern BSD onto something that small and without an MMU -  NetBSD/Amiga requires an MMU to run for example: http://www.de.netbsd.org/ports/amiga/

If you're interested in trying to code, you may want to look at 4.4BSD Lite or the open source Research UNIX versions - as far as archaic UNIX go they're the best bet for finding one that isn't dependent on MMU.
After many years in the Amiga community I have decided to leave the Amiga community permanently. If you have a question about SGI or Sun computers please PM me and I will return your contact as soon as I can.
 

Offline freqmaxTopic starter

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show only replies by freqmax
Re: What's so bad about Intel 8086 in technical terms?
« Reply #96 on: June 17, 2014, 08:58:50 PM »
The 4.4BSD-Lite2.tar.gz source archive is 44.23 MB. I suspect one might run out of flash memory..

Perhaps 2.11BSD is small enough.

If the C64 can run Unix. Then surely an ARM cpu can too. But one might have to strip out a lot. The practical way is to use adress relocation table and trust programs to behave. And ofourse (ab)use the clock timers to create pre-emptive task scheduling.
 

Offline TeamBlackFox

  • Master SPARC
  • Full Member
  • ***
  • Join Date: Jan 2014
  • Posts: 220
    • Show only replies by TeamBlackFox
Re: What's so bad about Intel 8086 in technical terms?
« Reply #97 on: June 17, 2014, 09:29:34 PM »
Alright then. You'll need to be a guru at K&R style C. Plus, you do realize the 4.4BSD install will be smaller after you build it right?
After many years in the Amiga community I have decided to leave the Amiga community permanently. If you have a question about SGI or Sun computers please PM me and I will return your contact as soon as I can.
 

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #98 on: June 17, 2014, 09:48:34 PM »
Quote from: freqmax;766975
If the C64 can run Unix. Then surely an ARM cpu can too.

The c64 can't run unix, it can run a multitasking os that has a cut down posix-ish c run time. A lot of work went into that for pretty much no reward.
 

Offline biggun

  • Sr. Member
  • ****
  • Join Date: Apr 2006
  • Posts: 397
    • Show only replies by biggun
    • http://www.greyhound-data.com/gunnar/
Re: What's so bad about Intel 8086 in technical terms?
« Reply #99 on: June 17, 2014, 10:44:18 PM »
Quote from: bloodline;766910
there's no such thing as CISC and RISC anymore, all modern processors are a hybrid of these two concepts.


Err no.

CISC chips = can operate on memory.

RISC chips = are load/store machines and can only operate on register.


68K and x86 = CISC

MIPS/POWER/ARM = RISC


Whether your chip is internally hardcoded, or does Microcode or has pipeline has nothing to do with CISC or RISC.

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: What's so bad about Intel 8086 in technical terms?
« Reply #100 on: June 18, 2014, 01:28:55 AM »
Quote from: biggun;766984
Err no.

CISC chips = can operate on memory.

RISC chips = are load/store machines and can only operate on register.


68K and x86 = CISC

MIPS/POWER/ARM = RISC


Whether your chip is internally hardcoded, or does Microcode or has pipeline has nothing to do with CISC or RISC.


Hahaha, when marketing becomes policy :)

By your simplistic (though not wholy inaccurate definition), the x86 is actually a RISC machine! Since it's non orthogonal ISA often requires one to load data into Registers for processing and then written back to the main memory.

To be frank, only the MIPS every really fully implemented all the RISC concepts... And look where that is now! I come back to my original statement: modern CPUs have features of both RISC and CISC designs. PPC an ARM are examples of RISC chips that have woefully complex instruction sets, and the x86 is a great example of a CISC chip that has been on a diet to give it RISC like features.

Check out the ARM64 ISA, that is so
Complex it could be CISC, but so carefully crafted for throughput it's clearly RISC in origin!

Offline commodorejohn

  • Hero Member
  • *****
  • Join Date: Mar 2010
  • Posts: 3165
    • Show only replies by commodorejohn
    • http://www.commodorejohn.com
Re: What's so bad about Intel 8086 in technical terms?
« Reply #101 on: June 18, 2014, 01:35:20 AM »
Quote from: bloodline;766997
By your simplistic (though not wholy inaccurate definition), the x86 is actually a RISC machine! Since it's non orthogonal ISA often requires one to load data into Registers for processing and then written back to the main memory.
That's not what "load-store architecture" means and you freakin' know it. Load-store means only performing operations on registers. x86 is more than happy to do quite a number of operations with one or more operands being in memory.

Quote
To be frank, only the MIPS every really fully implemented all the RISC concepts... And look where that is now!
Yeah, I mean, it was only in the PSP, that's all! That was only the second most popular handheld gaming system on the market in its recently-concluded run!
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/MT-32/D-10, Oberheim Matrix-6, Yamaha DX7/FB-01, Korg MS-20 Mini, Ensoniq Mirage/SQ-80, Sequential Circuits Prophet-600, Hohner String Performer

"\'Legacy code\' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup
 

Offline biggun

  • Sr. Member
  • ****
  • Join Date: Apr 2006
  • Posts: 397
    • Show only replies by biggun
    • http://www.greyhound-data.com/gunnar/
Re: What's so bad about Intel 8086 in technical terms?
« Reply #102 on: June 18, 2014, 03:32:42 AM »
Quote from: bloodline;766997
Hahaha, when marketing becomes policy :)

My defitition is the definition that CPU designers use ....


You are right that "marketing" was often misusing the RISC/CISC definitions.
And companies like IBM came up with those definition for marketing reasons.


Today CPUs are classified as either

1)
LOAD-STORE / or REGISTER-REGISTER / or RISC =
these CPU's can only operate on Register and NOT on memory.

the opposite are
2) CISC Architecture which can operate on memory.



Quote from: bloodline;766997

the x86 is actually a RISC machine! Since it's non orthogonal ISA often requires one to load data into Registers for processing and then written back to the main memory.

The x86 can generally use 1 operant from memory.
The 68k can for some operations have 2 operants in memory.
A VAX can even have 3 operants in memory.


But a RISC machine NEVER can use an operant in memory.


Quote from: bloodline;766997

PPC an ARM are examples of RISC chips that have woefully complex instruction sets,

Complex?
No, not really...

They have many instructions and some instruction also take more than 1 cycle.
But their instructions are all regular and not complex neither in execution nor in decoding.

The main complixity that RISC took away from CISC was the decoding complexity.
The 68k did support instruction up to 10 byte length. - This was difficult enough to decode.
Since the 68020 Motorola broke did record and supported even over 20 bytes - This complixity was a problem which made making 68k fast really difficult.

The common dominiator of CISC chips are the complex address modes.
And that instruction can operate on memory and sometimes even can have more than one operant in memory made the instruction very complex to decode.
So complex that it became very challanging for CPU developers
to invent decoders which are able to decoder more than 1 instruction per cycle.

Not all CISC chips are equally complex to decode.
68000 was complex but instruction size could be determined with decoding of 16bits. This is OK.
The Z chip. IBMs CISC mainframe design - its instruction size can be decoder by evaluating only 2 bits. This is nice.
While the added address modes of the 68020+ make it neccessary to look at 10 bytes = 80bit to be able to decode it length. This change was a real big mistake by Motorola.


If you want to understand wheter a chip is CISC or RISC then simply check a few points:

Can the chip support 3, 2 or even 1 operants in memory?
RISC can't.

Does the chip allow updating only parts of their registers in a BYTE/WORD/LONGWORD fashion?
RISC don't.

Does it allow full size immediates encoded in their instructions?
Like 32bit or 64bit immedates?
RISC don't.


Of course not all chips in one category are the same,
VAX was more CISCy then all other CISC chips.
The VAX could read two operants from memory, do an operation with them and store the result as third operant again to memory. And this all in a single instruction.

The 68k can use 2 memory operants only a few instructions.
Them being ADDX,SUBX,CMPM, MOVE, ABCD, SBCD

The x86 generally only allows 1 memory operant.


RISC chips do not allow even 1 memory operant.

Coding RISC chips is different han coding CISC chips.
With CISC chips you can use immediates easily.
With RISC chips you to can only use small immediates embedded in your instructions stream.
All bigger constanst you have to reference over a pointer from memory.
All bigger offsets from a pointer you can not include in your instruction but you have to create with extra instructions. The default GCC compiler setting is big data model nowadays.
This means that pointers to immediates are per default generated with 2 extras instructions.

This means for something which looks "simple" to a CISC developer as
ADD #64bitimmediate,Register  

On POWER the per default generated code is

2 instruction to generate a 32bit offset
1 instruction to load data from offset plus base pointer into a tempregister
1 instruction to add the tempregister to the register.


If you look at generated code you see much more examples for this.
You see such code very often when you compare SSE instructions with POWER instructions.
x86 needing 1 instruction and directly referencing 1 operant from memory.
POWER needing 4 instruction to do exactly the same work.

You also see this with typical integer code.
Good CISC chips like 68060 or modern x86 are clock by clock very efficient in integer operations.
Its very difficult to keep their pace with RISC chips as RISC chips need to execute much more instructions to do the same amount of work.

Offline freqmaxTopic starter

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show only replies by freqmax
Re: What's so bad about Intel 8086 in technical terms?
« Reply #103 on: June 18, 2014, 05:48:39 AM »
What would you classify ARM Cortex-M and ARM Cortex-A as?
(presumably v7 and higher)
 

Offline biggun

  • Sr. Member
  • ****
  • Join Date: Apr 2006
  • Posts: 397
    • Show only replies by biggun
    • http://www.greyhound-data.com/gunnar/
Re: What's so bad about Intel 8086 in technical terms?
« Reply #104 on: June 18, 2014, 07:15:03 AM »
Quote from: freqmax;767007
What would you classify ARM Cortex-M and ARM Cortex-A as?
(presumably v7 and higher)


ARM are typical RISC chips.

Cortex-M are tuned for low power.
Cortex-A are available in various types.
Some are very simple in Order risc designs with pipeline length similar to chip from the late early 90th.
Some are a bit more fancy out or order designs with pipelines structures more similar to the PPC G3/G4.