| Register | FAQ | Calendar | Search | Today's Posts | Mark Forums Read |
|
#51
| |||
| |||
| "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. |
|
#52
| |||
| |||
| 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 |
|
#53
| |||
| |||
| 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" |
|
#54
| |||
| |||
| 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 |
|
#55
| |||
| |||
| 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 |
|
#56
| |||
| |||
| 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 |
![]() |
| Thread Tools | |
| Display Modes | |
In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.