![]() |
![]() |
#281 | ||||||||||||||||
Registered User
Join Date: Mar 2016
Location: Ozherele
Posts: 229
|
Sorry but it looks some people missed my points again. My article is about a lot of processors (6502, 8080, 6800, PDP-11, VAX-11, ARM, ...) - not just about 68k and x86. I have been trying to use my experience to show weak and strong points of every of them. So it is not my article which somebody considers as biased but it is quite possible that my experience is a bit biased. Sorry but I am an imperfect person. This discussion lets me better understand 68k. Thanks.
I am also a bit disappointed by the fact that Moto in the 70s tried to blindly follow behind IBM or DEC, to be a bit elitist. If it had tried to do just the best things they would have made much better things. IMHO if Moto had supported new ideas of 6502 team it would have been the IT leader today. It was an irony that IBM rejected to cooperate with Moto. Quote:
Code:
; AC*YR -> XR = LO, AC = HI sta sm1+1 sta sm3+1 eor #$ff sta sm2+1 sta sm4+1 ;the code above can be skipped if we use the same AC sec sm1: lda square1_lo,x sm2: sbc square2_lo,x tay sm3: lda square1_hi,x sm4: sbc square2_hi,x Quote:
Quote:
Quote:
Quote:
![]() Quote:
Quote:
![]() What is wrong with modern x86 systems? Indeed they also can be better but thoughts about ways to make them better make boil somebody's brain. It requires years of work to become qualified x86 expert. Quote:
Quote:
Indeed multitasking requires many stacks not just two. Quote:
Indeed x86 16-bit code works in 32-bit mode, x86 has even virtual 8086 mode for this. Quote:
Code:
ldy #0 ldx #16 loop clc lda (zp),y adc #77 sta (zp),y iny bne loop inc zp+1 dex bne loop I am almost sure that HOMM2 like Defender of the Crown are not the same for the different platforms. Do you have source codes for HOMM2 to prove your point? Quote:
Quote:
Quote:
Code:
Jcc L1 JMP L2 L1: Quote:
Quote:
![]() Should everybody pray for Moto here? I had my happy time with my A500 but I like to analyse things. BTW my session at EAB automatically closes after about 10-15 minutes - is it normal? |
||||||||||||||||
![]() |
![]() |
#282 |
Join Date: Jul 2008
Location: Sweden
Posts: 2,269
|
|
![]() |
![]() |
#283 |
Registered User
Join Date: May 2014
Location: inside the emulator
Posts: 377
|
You see people argue about everything: politics, weather, the correct way to wear pants, and which end of a boiled egg should be opened (the small end of course). So why not argue about 30 yo processors on a 45 yo network?
|
![]() |
![]() |
#284 |
Banned
Join Date: Sep 2016
Location: UK
Posts: 2,917
|
Personally I would rather have a pitchfork to the head than try and code in x86. I guess I just dont belong on these retro sites because i think hand coding in asm is like using a horse to plough a field. It might be a skill with loads of nuances but i just dont care.
|
![]() |
![]() |
#285 | |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,437
|
Quote:
https://books.google.nl/books?id=oDw....54mhz&f=false https://books.google.nl/books?id=sgK....54mhz&f=false |
|
![]() |
![]() |
#286 | |
Registered User
Join Date: May 2014
Location: inside the emulator
Posts: 377
|
Quote:
|
|
![]() |
![]() |
#287 | |
Registered User
Join Date: May 2014
Location: inside the emulator
Posts: 377
|
Quote:
![]() Still better than those BASIC stamp thingies. (* well, old cool kids I guess) |
|
![]() |
![]() |
#288 |
Banned
Join Date: Sep 2016
Location: UK
Posts: 2,917
|
I am a relic of the past. I use C if i absolutely have to and C++17 whenever I can.
|
![]() |
![]() |
#289 | |||||
Registered User
Join Date: Mar 2016
Location: Ozherele
Posts: 229
|
Quote:
Quote:
Quote:
Code:
mainloop lda (zp),y and #const1 sta (zp),y iny lda (zp),y eor #const2 sta (zp),y iny bne mainloop Quote:
Quote:
Sorry I have used wrong data. So 68000 is as fast as 8086 with branches and about 50% slower than 80286. |
|||||
![]() |
![]() |
#290 |
Registered User
Join Date: Mar 2016
Location: Ozherele
Posts: 229
|
|
![]() |
![]() |
#291 | |||
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,437
|
Quote:
So I stand corrected, the 8x8=>16 multiply on 6502 was faster than I considered. Should the processor run at the same clock speed, it would indeed be a bit faster. Just to be sure though, I do want to point out that the 68000 hardware multiply isn’t limited to 8x8=>16. It actually does a 16x16=>32 multiply. Quote:
Quote:
Last edited by roondar; 02 September 2018 at 03:46. |
|||
![]() |
![]() |
#292 | ||||
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,437
|
Quote:
![]() Quote:
Code:
6502 code as supplied by you 5 lda (zp),y 2 and #const1 6 sta (zp),y 2 iny 5 lda (zp),y 2 eor #const2 6 sta (zp),y 2 iny 2 bne mainloop --+ 32 cycles per loop * 128 = 4096 cycles => 16384 cycles @8MHz 68000 code 12 lea array_loc,a0 4 moveq #const1,d0 4 moveq #const2,d1 4 moveq #(256/2)-1,d7 ; only run 128 times --+ 24 cycles setup .lp 12 and.b d0,(a0)+ 12 eor.b d1,(a0)+ 10 dbra d7,.lp --+ 34 cycles per loop * 128 = 4352 cycles Total: 4352+24 = 4376 cycles => 68000 is 3.7x faster Quote:
Code:
8086@9.54 = 980/980 => @10MHz = 1027/1027 80286@8MHz = 1724/1785 => @10MHz = 2155/2231 68000@12.5MHz = 1780/2233 => @10MHz = 1424/1786 Speed difference vs 68000 in % 8086@10MHz = 72% / 58% => 65% of 68k 80286@10MHz = 150%/125% => 137,5% of 68k 68000@10MHz = 100%/100% You keep saying "50% faster", which is not what any of your examples actually show. The difference is clearly smaller. Edit: however, there is a second reason to look at the higher clocked 68k - in the real world, what is actually available matters far more than theoretical (or even actual) performance benefits when two processors are run at the same clock. The 286 is faster clock for clock, but during the period the 68020 wasn't available yet, the 68000 seems to have consistently been available at much higher clock speeds. This meant that someone designing a system purely for performance was often better of using a Motorola 68000 even though the 286 was technically superior on paper. Which is exactly what this benchmark shows. Quote:
Anyway, you could've given a much better example to showcase the architectural improvements of the 286 than branches. Just point out the multiply/divide instructions. The 68000 gets trounced by the 286 for those. Last edited by roondar; 03 September 2018 at 00:32. Reason: Added to my point on the benchmark |
||||
![]() |
![]() |
#293 | ||
Registered User
Join Date: Sep 2007
Location: Stockholm
Posts: 4,357
|
Quote:
Quote:
|
||
![]() |
![]() |
#294 | ||||||||||||||||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,355
|
Quote:
On 68000 you can use tables, too. Single lookup would take something like 14 clocks. Of course i'm not speaking about the 68060's speed at these multiplies ![]() Quote:
Quote:
Quote:
Quote:
Quote:
It is not an issue at all, it's just something coming out of the two protection rings (aka supervisor / user modes). And it's kinda necessary for proper multitask, as already pointed. Note that modern x86 needlessly have 4 of these protection rings, of which only 2 are used in practice. Speak about being theoretically wrong. Quote:
But only 2 registers are actually needed, so that system interrupts don't pollute the user stack. Quote:
And we know that our code will still run "as is" in next generations of same cpu. Clearly worth the price. Doing things for the time we have right now and no consideration for the future is what i call intellectual shortsightedness. Quote:
Quote:
Anyway, this code is very easy to do : Code:
move.w #4095,d0 .loop addi.b #77,(a0)+ dbf d0,.loop If you think it's just 304 cycles overall then it's worse than I imagined. It is 4096 * inner loop, which should be around 20 cycles, plus some extra cycles every 256 bytes. Quote:
I have disassembled Mac version and i have hex-rays decompiler output for PC versions. Quote:
Quote:
Quote:
Quote:
But then 68000 is always in a better situation than 8086. Why would I ? You're supposed to have enough coding experience for that. It's not me who started this thread with links to biased cpu comparisons. You've come right in the lion's den saying "eat me" so what did you expect ? Quote:
Quote:
Quote:
![]() Nope. Quote:
Quote:
Blah, blah. Again, looking for excuses to not do it. |
||||||||||||||||||||
![]() |
![]() |
#295 |
Banned
Join Date: Sep 2016
Location: UK
Posts: 2,917
|
Apologies for the slight derail here. Is there an auto code beatifier/formatter for 68k. A bit like astyle http://astyle.sourceforge.net/
|
![]() |
![]() |
#296 |
Registered User
Join Date: May 2014
Location: inside the emulator
Posts: 377
|
I actually don't believe you. If that is your honest opinion you would be delusional and while we disagree on many things I don't think you are delusional.
Multitasking 8086 systems were in use before the creation of the IBM PC. That Microsoft choose co-operative multitasking for Windows have nothing to do with the architecture just as Apple choosing the same on their 68000 Macintosh or Acorn doing it on their ARM based Archimedes is irrelevant. And the multiprocessing/core side comment is beyond ludicrous. Last edited by Megol; 02 September 2018 at 19:06. |
![]() |
![]() |
#297 |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,437
|
Sorry to derail this here, but I love trivia like this. What where these systems? My personal knowledge here is limited, I have only seen widespread multitasking use on the x86 after the 386 era started (with Linux, etc) and I'm always interested in finding out more rare things from back then.
|
![]() |
![]() |
#298 | |
Banned
Join Date: Sep 2016
Location: UK
Posts: 2,917
|
Quote:
(Not sarcasm. genuinely cant think of a MultiTasking 8086 OS Pre IBM). Last edited by plasmab; 02 September 2018 at 16:19. Reason: typo |
|
![]() |
![]() |
#299 | |
Registered User
Join Date: May 2014
Location: inside the emulator
Posts: 377
|
Intel iRMX was released in 1980. Then we have other released soon after the IBM PC release: Xenix and QNX.
Was actually thinking of Xenix but that released later though on a non-IBM system. Quote:
Last edited by Megol; 02 September 2018 at 19:22. |
|
![]() |
![]() |
#300 | |||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,355
|
Quote:
Quote:
Quote:
Many things have been considered ludicrous in the past, and have been nevertheless proven to be true. If "ludicrous" and "delusional" are you only arguments, beat it. |
|||
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Any software to see technical OS details? | necronom | support.Other | 3 | 02 April 2016 12:05 |
2-star rarity details? | stet | HOL suggestions and feedback | 0 | 14 December 2015 05:24 |
EAB's FTP details... | Basquemactee1 | project.Amiga File Server | 2 | 30 October 2013 22:54 |
req details for sdl | turrican3 | request.Other | 0 | 20 April 2008 22:06 |
Forum Details | BippyM | request.Other | 0 | 15 May 2006 00:56 |
|
|