Re: Specifying precision

This is a discussion on Re: Specifying precision within the pl1 forums in Programming Languages category; "John W Kennedy" <jwkenne @ attglobal.net> wrote in message news:48a07db2$0$7318$607ed4bc @ cv.net... > Everett M. Greene wrote: > > "robin" <robin_v @ bigpond.com> writes: > >> "John W Kennedy" <jwkenne @ attglobal.net> wrote > >>> Everett M. Greene wrote: > >>>> While we're on the subject of BCD arithmetic, is there anything > >>>> readily available describing how BCD multiplication and division > >>>> are done? I would suspect that something more sophisticated > >>>> is done than multiplying by adding the multiplicand n times to > >>>> the partial product for each multiplier digit. > > >>> There is ...

Go Back   Application Development Forum > Programming Languages > pl1

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #51  
Old 08-15-2008, 08:35 PM
robin
Guest
 
Default Re: Specifying precision

"John W Kennedy" <jwkenne@attglobal.net> wrote in message news:48a07db2$0$7318$607ed4bc@cv.net...
> Everett M. Greene wrote:
> > "robin" <robin_v@bigpond.com> writes:
> >> "John W Kennedy" <jwkenne@attglobal.net> wrote
> >>> Everett M. Greene wrote:
> >>>> While we're on the subject of BCD arithmetic, is there anything
> >>>> readily available describing how BCD multiplication and division
> >>>> are done? I would suspect that something more sophisticated
> >>>> is done than multiplying by adding the multiplicand n times to
> >>>> the partial product for each multiplier digit.

>
> >>> There is no one answer. That's exactly what the old IBM 1401 did, but
> >>> its contemporary, the 1620, could directly multiply two one-digit
> >>> numbers.

>
> >> By table lookup, I think.

>
> > I would think so, too.

>
> Yes, but the point is that its multiply instruction /used/ that, whereas
> the 1401 multiply instruction didn't. To multiply 123 by 45, the 1401
> literally added 123+123+123+123+123+1230+1230+1230+1230. The 1620 added
> 15+100+500+120+800+4000.
>
> >>> On modern machines, only the circuit designer knows for sure.

>
> > Where do these designers hide? Have they ever written anything
> > for the rest of us to read?

>
> Somewhere, I'm sure, but not, as a rule, in the main programmer's
> documentation. Such detail was common in the pre-360 era, because there
> was no clear conception of an architecture divorced from its hardware
> implementation, and because it was often important to have a good idea
> of how long an instruction took to execute. (For example, the 1401 had
> an opcode that amounted to "start moving a card through the card reader;
> I swear I'll issue the actual read instruction before it's too late." To
> use it, you had to be able to calculate how many milliseconds would
> elapse in any calculations you performed between the two instructions;
> the 1401 had no interrupts.)


That was common, right from the early days.
On Pilot ACE (1951), the card reader was started, and the
programmer was then expected to execute an instruction
to read at least the first row of the card.
The read instruction needed to be executed within
160 milliseconds of the start, and the user needed to calculate
the time taken by instructions that he included between
those two events.
Typically, there was no need to do any calculation,
because there was little computing that would be done
after the reader was started.

Similarly, incidentally, for the card punch.

The need to keep a tally of time was necessary in the days
of asynchronous I/O and asynchronous multiply and divide.

Asynchronous operations provided the means to time-share
operations and gain extra speed that way.

In that and subsequent machines asynchronous multiplication
enabled several small integers to be multiplied in succession,
and an automatic shift. It also enabled conversion to BCD
and (with asynchronous division) conversion from BCD.


Reply With Quote
  #52  
Old 08-18-2008, 09:13 AM
Shmuel (Seymour J.) Metz
Guest
 
Default Re: Specifying precision

In <48a07db2$0$7318$607ed4bc@cv.net>, on 08/11/2008
at 01:56 PM, John W Kennedy <jwkenne@attglobal.net> said:

>Somewhere, I'm sure, but not, as a rule, in the main programmer's
>documentation. Such detail was common in the pre-360 era,


I've only seen instruction algorithms in CE manuals.

--
Shmuel (Seymour J.) Metz, SysProg and JOAT <http://patriot.net/~shmuel>

Unsolicited bulk E-mail subject to legal action. I reserve the
right to publicly post or ridicule any abusive E-mail. Reply to
domain Patriot dot net user shmuel+news to contact me. Do not
reply to spamtrap@library.lspace.org

Reply With Quote
  #53  
Old 08-18-2008, 12:33 PM
John W Kennedy
Guest
 
Default Re: Specifying precision

Shmuel (Seymour J.) Metz wrote:
> In <48a07db2$0$7318$607ed4bc@cv.net>, on 08/11/2008
> at 01:56 PM, John W Kennedy <jwkenne@attglobal.net> said:
>
>> Somewhere, I'm sure, but not, as a rule, in the main programmer's
>> documentation. Such detail was common in the pre-360 era,

>
> I've only seen instruction algorithms in CE manuals.


There is considerable detail in, for example,
<URL:http://www.bitsavers.org/pdf/ibm/14xx/A24-1403-5_1401RefMan_Apr62.pdf>.
Not as much as in a CE manual, of course, but more than in S/360
Principles of Operation.

--
John W. Kennedy
"Though a Rothschild you may be
In your own capacity,
As a Company you've come to utter sorrow--
But the Liquidators say,
'Never mind--you needn't pay,'
So you start another company to-morrow!"
-- Sir William S. Gilbert. "Utopia Limited"
Reply With Quote
  #54  
Old 08-18-2008, 05:37 PM
glen herrmannsfeldt
Guest
 
Default Re: Specifying precision

John W Kennedy wrote:
(snip)

> There is considerable detail in, for example,
> <URL:http://www.bitsavers.org/pdf/ibm/14xx/A24-1403-5_1401RefMan_Apr62.pdf>.
> Not as much as in a CE manual, of course, but more than in S/360
> Principles of Operation.


Implementation details shouldn't be in Principles of Operation,
but some could be in the Functional Characteristics manuals for
individual processors. Details such as ALU width and memory
width are given for some processors, but not much more than that.

You can get some from the timing information in the Functional
Characteristics manuals. The timing for MVC on some shows faster
times for multiples of eight bytes appropriately aligned indicating
eight byte hardware.

-- glen

Reply With Quote
  #55  
Old 08-19-2008, 10:16 AM
Shmuel (Seymour J.) Metz
Guest
 
Default Re: Specifying precision

In <XqidnaM0upDpQDTVnZ2dnUVZ_u6dnZ2d@comcast.com>, on 08/18/2008
at 01:37 PM, glen herrmannsfeldt <gah@ugcs.caltech.edu> said:

>You can get some from the timing information in the Functional
>Characteristics manuals.


The old ones; IBM dropped it for the newer processors. The formulae were
getting too complex to be useful by then.

--
Shmuel (Seymour J.) Metz, SysProg and JOAT <http://patriot.net/~shmuel>

Unsolicited bulk E-mail subject to legal action. I reserve the
right to publicly post or ridicule any abusive E-mail. Reply to
domain Patriot dot net user shmuel+news to contact me. Do not
reply to spamtrap@library.lspace.org

Reply With Quote
  #56  
Old 08-19-2008, 07:10 PM
glen herrmannsfeldt
Guest
 
Default Re: Specifying precision

Shmuel (Seymour J.) Metz wrote:

> In <XqidnaM0upDpQDTVnZ2dnUVZ_u6dnZ2d@comcast.com>, on 08/18/2008
> at 01:37 PM, glen herrmannsfeldt <gah@ugcs.caltech.edu> said:


>>You can get some from the timing information in the Functional
>>Characteristics manuals.


> The old ones; IBM dropped it for the newer processors. The formulae were
> getting too complex to be useful by then.


I haven't seen a Functional Characteristics manual for a newer
processor. Maybe for the 3168, and that might not have had
timings. It seems that there is a Functional Characteristics
manual for the ES/9000, and it doesn't have timings. Otherwise,
they seem to be pretty rare.

-- glen

Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 04:34 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.