Wednesday, November 6, 2024

More on 80s math processing.



I can see why Atari was so frustrated in the 80s. They were making better 8-bit and 16-bit computers than IBM and Apple for a whole lot less.



How were they better? First lets look at simple number storage in memory.

Here is IBM with a 16-bit Intel processor with Microsoft's GW-BASIC. This would have been standard with the 8086, 286, 386 processors.






With IBM, there are two interesting things going on. First, only 8 places after the decimal point is stored for processing and display.  Secondly, even in the code, the hard coded numbers past the 17th spot are cut off.


Next, I tried with the TI-99/4A. I had gotten some pretty good responses with math on this computer. The TI-99 has a 16-bit TMS9900 CPU also (the first home computer to ever to be 16-bit)




>LIST                         
 100 TEST=.123456789123456789 
 200 PRINT TEST               
>RUN                          
  .1234567891                 
  ** DONE **                  

The TI-99/4A has neither problem the IBM has.  All numbers are stored and the TI-99 display 10 digits behind the decimal.

With Atari's 8-bit MOSS 6802 CPU, we get a little bit better response than the IBM, but not much.
The better is we get 9 decimal places to work with instead of IBM's 8. Unfortunately, the hard coded value also get's changed:





100 TEST=.1234567891123456789    
200 PRINT TEST                   
RUN                              
0.123456789                      
                                 
READY                            
LIST                             
100 TEST=0.123456789             
200 PRINT TEST                   
                                 
READY                            
One additional decimal place (9) and the 0 before the decimal.

I would love to see how the Atari ST 520 , Apple Mac, or the Apple IIe stacked up against these three.

But back to the TI-99/4A.  Why did it do better than the 16 bit intel IBM computers and the 8-bit Atari computers?

Key points about the TI-99/4A's math capabilities:

First, it had an advanced (for it's time) 16-bit CPU for processing. Unlike most other home computers at the time which were 8-bit, the TI-99/4A's 16-bit processor allowed for more complex calculations with greater precision. But it still beat the x86 (that was also a 16-bit CPU).  

Although I would love to, I have not compared the TI-99/4A to computers that used the 6800 CPU.

But the TI-99/4A had another trick, The TI-99 computers had a dedicated floating-point unit. The TI-99/4A had a dedicated hardware component for handling floating-point operations, which significantly improved the speed and accuracy of mathematical calculations. 

Optimized floating-point format:
The way the TI-99/4A represented floating-point numbers internally was specifically designed for efficiency, further enhancing its mathematical performance. 


No comments:

Post a Comment

Merry Christmas!