Post Reply 
BCD calculators
11-05-2020, 03:34 PM (This post was last modified: 11-19-2020 08:04 AM by firai.)
Post: #4
RE: BCD calculators
I'm not sure where you're drawing the line with hardware-based decimal floating point (DFP) arithmetic versus "general purpose processors" or "binary arithmetic processors". (As Claudio noted, there's a distinction between DFP and the specific binary-coded decimal (BCD) format.) I think the reality is that there are shades of gray between the classification that you presented, and the kind of DFP-centric chip that you're thinking of probably hasn't been made for the consumer market for a number of years.

A number of modern low- to mid-end calculators (such as the HP 35S or the TI 36X) are made with microcontroller ICs that operate on around 4 or 8-bits, with add-on glue logic to work with the off-the-shelf microcontroller. It's not like these chips have floating point units (FPUs), so I wouldn't consider them to be "binary math processors", but the IC packages weren't necessarily made to be fit only for DFP arithmetic either. You can consider these somewhere between hardware DFP and software DFP.

ARM processors are really high-end microcontrollers, and they may or may not have FPUs depending on the architecture version and the SoC package. Particularly for the SoCs that don't have FPUs, to say that they are "binary math processors" seems to be an over-generalization in my opinion as well, when even binary floating point arithmetic needs to be handled by software for those chips.

For me, the soul of a calculator is its ability to be used easily and quickly to accomplish numerical operations, so that I can use it to calculate and deliver results to my clients, architects and my boss (usually in meetings), as an overall experience. While I appreciate that there was an era when a lot of R&D resources could (needed to) be poured into the development of a DFP-centric processor to get decent DFP performance, I would take the better speed and smaller power consumption of modern devices even if the CPU isn't DFP-centric. For example, I currently use the SwissMicros DM42 (HP-42S clone of sorts) as my workhorse. It uses software-based decimal floating point arithmetic run on an ARM chip (through Thomas Okken's Free42 simulator, which in turn uses Intel's decimal floating point library). The speed is much faster than the original 42S, but it still sips on power (runs on one coin-cell that lasts a year or two). The parts are selected for the product to be an efficient calculator, and I don't consider it to be less "real" than calculators which have HP Saturn chips. If a calculator like that that runs on a single coin cell doesn't count as a "real" calculator, I'm not sure what really does anymore.

As an aside, even chips for PCs have some (limited) decimal math support. The x86 instruction set contains a small number of instructions for dealing with a particular form of BCD. Certain IBM zSeries mainframe CPUs also have hardware acceleration for DFP operations.

On the other hand, Numworks is the only calculator I know of that uses binary floating point.

(11-04-2020 04:01 PM)Claudio L. Wrote:  First I'd like to make a distinction between decimal math and BCD. BCD uses a particular encoding, you can do decimal math with other ways to encode the number, it's still decimal but not BCD. Libraries like decNumber, mpdecimal, etc. fall in this category: it's decimal but not exactly BCD.

By the way, Claudio, were you thinking of Intel's DFP library instead of decNumber? decNumber uses DPD, which is a compressed version of BCD. Intel's DFP library and .NET's decimal type use BID (or a variant of it for the latter), which as you said achieves decimal math without using the BCD coding scheme (particularly for the significand).
Find all posts by this user
Quote this message in a reply
Post Reply 

Messages In This Thread
BCD calculators - neyuru - 11-04-2020, 12:41 AM
RE: BCD calculators - Claudio L. - 11-04-2020, 04:01 PM
RE: BCD calculators - Wes Loewer - 11-04-2020, 04:22 PM
RE: BCD calculators - firai - 11-05-2020 03:34 PM
RE: BCD calculators - Claudio L. - 11-18-2020, 09:08 PM
RE: BCD calculators - jte - 08-19-2021, 12:04 AM
RE: BCD calculators - jte - 08-19-2021, 12:36 AM
RE: BCD calculators - Paul Dale - 08-19-2021, 02:05 AM
RE: BCD calculators - jte - 08-25-2021, 12:26 AM
RE: BCD calculators - Paul Dale - 08-25-2021, 05:03 AM

User(s) browsing this thread: 1 Guest(s)