POV-Ray : Newsgroups : povray.off-topic : Damn that's sweet. Server Time
4 Sep 2024 01:21:59 EDT (-0400)
  Damn that's sweet. (Message 11 to 20 of 23)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 3 Messages >>>
From: Darren New
Subject: Re: Damn that's sweet.
Date: 27 Jul 2010 11:20:51
Message: <4c4ef953$1@news.povray.org>
scott wrote:
>> Because when you're talking about thousands of dollars as the smallest 
>> increment, that wastes space.
> 
> Oh I see, so it's like a base-10 float?

Not exactly.  It's packed BCD. Two decimal digits per byte. The exponent is 
declared at the source code level but isn't stored in memory. It's more like 
"take that number that has two decimal places and add it to this number here 
that has four decimal places."

>> And usually (at least in modern standards) these numbers go up to 
>> something like 38 digits. So why would an "int" be better than packed 
>> decimal in terms of processing speed?
> 
> It would avoid the need for custom hardware, but obviously it works out 
> faster per $ to get the non-standard CPUs if that's what they actually use.

They're really only non-standard compared to x86. Most of the mainframe CPUs 
have had decimal math for years. When you're talking about 38-digit binary 
numbers with assorted number of digits after the decimal points, trying to 
do all that in pure machine-register-size integer operations is slow. You 
don't want slow.

Or, to phrase it another way... You need to print 30 million phone bills 
with itemized phone calls today. How much time are you going to spend 
dividing by ten in order to be able to print the cost of each call, vs the 
storage space you waste by storing the call times and costs as BCD instead 
of binary?

-- 
Darren New, San Diego CA, USA (PST)
    C# - a language whose greatest drawback
    is that its best implementation comes
    from a company that doesn't hate Microsoft.


Post a reply to this message

From: Darren New
Subject: Re: Damn that's sweet.
Date: 27 Jul 2010 12:02:47
Message: <4c4f0327$1@news.povray.org>
Darren New wrote:
> They're really only non-standard compared to x86. Most of the mainframe 
> CPUs have had decimal math for years. 

Oh, as did the 6502 in its own way, for that matter. As does the 8086.

-- 
Darren New, San Diego CA, USA (PST)
    C# - a language whose greatest drawback
    is that its best implementation comes
    from a company that doesn't hate Microsoft.


Post a reply to this message

From: Warp
Subject: Re: Damn that's sweet.
Date: 27 Jul 2010 12:09:54
Message: <4c4f04d2@news.povray.org>
Darren New <dne### [at] sanrrcom> wrote:
> And, like floating point, it would be quite the PITA to translate scaled 
> integer numbers into something you could print efficiently, compared to 
> using BCD.

  This CPU broke the 5 GHz barrier. I don't think printing efficiency is
an issue.

> Why would plain integers be *better* than packed BCD for this sort of 
> application?

  2's complement binary registers require simpler circuitry to be operated
with, compared to BCD registers, hence making the CPU design simpler (and
hence less expensive).

  The value range of BCD registers is smaller than that of 2's complement
binary registers.

-- 
                                                          - Warp


Post a reply to this message

From: Darren New
Subject: Re: Damn that's sweet.
Date: 27 Jul 2010 12:15:07
Message: <4c4f060b$1@news.povray.org>
Warp wrote:
>   2's complement binary registers require simpler circuitry to be operated
> with, compared to BCD registers, hence making the CPU design simpler (and
> hence less expensive).

Until it's time to scale the decimal place.

Add a 30-digit number with two decimal places to a 30-digit number with 4 
decimal places in binary.

Now do the same in BCD.

But, surely, Intel's mainframe CPU division doesn't know anything about 
efficiency of instructions and data.

-- 
Darren New, San Diego CA, USA (PST)
    C# - a language whose greatest drawback
    is that its best implementation comes
    from a company that doesn't hate Microsoft.


Post a reply to this message

From: Orchid XP v8
Subject: Re: Damn that's sweet.
Date: 27 Jul 2010 13:08:05
Message: <4c4f1275$1@news.povray.org>
>> They're really only non-standard compared to x86. Most of the 
>> mainframe CPUs have had decimal math for years. 
> 
> Oh, as did the 6502 in its own way, for that matter. As does the 8086.

The B status flag puts the 6502 into BCD mode. God only knows what that 
actually means in practice; I never tried it.

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Clarence1898
Subject: Re: Damn that's sweet.
Date: 27 Jul 2010 14:30:00
Message: <web.4c4f2479b519de59dda002d60@news.povray.org>
Darren New <dne### [at] sanrrcom> wrote:
> Warp wrote:
> >   2's complement binary registers require simpler circuitry to be operated
> > with, compared to BCD registers, hence making the CPU design simpler (and
> > hence less expensive).
>
> Until it's time to scale the decimal place.
>
> Add a 30-digit number with two decimal places to a 30-digit number with 4
> decimal places in binary.
>
> Now do the same in BCD.
>
> But, surely, Intel's mainframe CPU division doesn't know anything about
> efficiency of instructions and data.
>
> --
> Darren New, San Diego CA, USA (PST)
>     C# - a language whose greatest drawback
>     is that its best implementation comes
>     from a company that doesn't hate Microsoft.

Another reason for retaining hardware decimal instructions would be for backward
compatibility.  The company I work for has thousands of cobol programs that use
decimal instructions. It would be impossible to upgrade to the new processor
without that feature.  IBM has to insure the upgrade path for it's customers is
as painless as possible.

Isaac.


Post a reply to this message

From: Patrick Elliott
Subject: Re: Damn that's sweet.
Date: 27 Jul 2010 15:18:26
Message: <4c4f3102$1@news.povray.org>
On 7/27/2010 8:01 AM, Darren New wrote:
> scott wrote:
>> Why not just store the total pence/cents in an int?
>
> Because when you're talking about thousands of dollars as the smallest
> increment, that wastes space. Because when you add dollars to pennies to
> fractional pennies, you need to do the scaling anyway. Because when you
> print out the number, you wind up doing a whole bunch of divide-by-10's
> anyway, and lots and lots of financial processing involves printing out
> numbers.
>
The real reason is, to some extent, that, at one time, they "did" only 
store the rounded values, then someone figured out how to "add up" those 
extra missing bits, and dump them into their own bank account, so now 
financial software, unless the coder is a complete idiot, **never** 
throws away enough of the data to allow someone to make millions, via 
that trick, from rounding errors. ;)

-- 
void main () {
   If Schrödingers_cat is alive or version > 98 {
     if version = "Vista" {
       call slow_by_half();
       call DRM_everything();
     }
     call functional_code();
   }
   else
     call crash_windows();
}

<A HREF='http://www.daz3d.com/index.php?refid=16130551'>Get 3D Models, 
3D Content, and 3D Software at DAZ3D!</A>


Post a reply to this message

From: Francois Labreque
Subject: Re: Damn that's sweet.
Date: 28 Jul 2010 08:29:16
Message: <4c50229c$1@news.povray.org>
scott a écrit :
>> Because when you're talking about thousands of dollars as the smallest 
>> increment, that wastes space.
> 
> Oh I see, so it's like a base-10 float?
> 
>> And usually (at least in modern standards) these numbers go up to 
>> something like 38 digits. So why would an "int" be better than packed 
>> decimal in terms of processing speed?
> 
> It would avoid the need for custom hardware, but obviously it works out 
> faster per $ to get the non-standard CPUs if that's what they actually use.
> 
> 
What do you mean non-standard?  Every single bank, every single 
insurance company, every single government tax agency/ministry/dept., 
most airline, universities, and large companies with more than a 1000 
employees worldwide has one or more IBM mainframes.

I'd call that "standard"!

Tin foil hat dept:  And they all have a phone line to call back home in 
case of problems.  The more paranoid think Big Blue can also use those 
phone lines for its own nefarious purposes.
-- 
/*Francois Labreque*/#local a=x+y;#local b=x+a;#local c=a+b;#macro P(F//
/*    flabreque    */L)polygon{5,F,F+z,L+z,L,F pigment{rgb 9}}#end union
/*        @        */{P(0,a)P(a,b)P(b,c)P(2*a,2*b)P(2*b,b+c)P(b+c,<2,3>)
/*   gmail.com     */}camera{orthographic location<6,1.25,-6>look_at a }


Post a reply to this message

From: scott
Subject: Re: Damn that's sweet.
Date: 28 Jul 2010 08:49:38
Message: <4c502762$1@news.povray.org>
> What do you mean non-standard?  Every single bank, every single insurance 
> company, every single government tax agency/ministry/dept., most airline, 
> universities, and large companies with more than a 1000 employees 
> worldwide has one or more IBM mainframes.

And they also have 1000 or more x86 machines each :-)  That's what I meant, 
that way more x86/x64 CPUs are manufactured, so obviously they are cheaper. 
I just wondered if you worked it out on a performance per $ metric (eg how 
many $ equipment do you need to print 30 million bills in 24 hours), would 
using the IBM mainframe be cheaper than using a room full of x86 machines?


Post a reply to this message

From: Francois Labreque
Subject: Re: Damn that's sweet.
Date: 29 Jul 2010 09:33:12
Message: <4c518318$1@news.povray.org>
scott a écrit :
>> What do you mean non-standard?  Every single bank, every single 
>> insurance company, every single government tax agency/ministry/dept., 
>> most airline, universities, and large companies with more than a 1000 
>> employees worldwide has one or more IBM mainframes.
> 
> And they also have 1000 or more x86 machines each :-) 

That's a recent development.  Most banks, up to 10 years ago, had 3278 
terminals hooked up to 3174 cluster controllers in their branches, not 
PCs.  The loan officer probably had a portable (which she used to access 
the host-based financial applications anyway, plus a little Excel and 
Word here and there), but that's it.


> That's what I 
> meant, that way more x86/x64 CPUs are manufactured, so obviously they 
> are cheaper. I just wondered if you worked it out on a performance per $ 
> metric (eg how many $ equipment do you need to print 30 million bills in 
> 24 hours), would using the IBM mainframe be cheaper than using a room 
> full of x86 machines?
> 
> 

Mainframes do way more than overnight batch jobs.  A typical mainframe 
environment will allow for 99.999% uptime.  Handle millions of 
transactions per day with response times below 5 secs.  A similar 
environment made out of x86 or x64 hardware, with the required 
redundancy, clustering and load-balancers required to achieve five-9s 
uptime (That's less than 25 secs of downtime PER MONTH!) as well has 
handle the number of transactions at the same speed will probably be as 
expensive, if not more.

That's the main reason banks and airlines (the two industries I'm 
familiar with) don't change their systems.

Anyway, by "standard" I didn't mean "Most. Popular. Ever.", I meant that 
for its intended use it IS still the de facto standard.

-- 
/*Francois Labreque*/#local a=x+y;#local b=x+a;#local c=a+b;#macro P(F//
/*    flabreque    */L)polygon{5,F,F+z,L+z,L,F pigment{rgb 9}}#end union
/*        @        */{P(0,a)P(a,b)P(b,c)P(2*a,2*b)P(2*b,b+c)P(b+c,<2,3>)
/*   gmail.com     */}camera{orthographic location<6,1.25,-6>look_at a }


Post a reply to this message

<<< Previous 10 Messages Goto Latest 10 Messages Next 3 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.