COMP.ARCH---------------- < Пред. | След. > -- < @ > -- < Сообщ. > -- < Эхи > --
 Nп/п : 2 из 100
 От   : Terje Mathisen                      2:5075/128        23 сен 23 08:54:42
 К    : John Levine                                           23 сен 23 09:57:02
 Тема : Re: data sizes, Solving the Floating-Point Conundrum
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 1@dont-email.me> 9753ab8a
@REPLY: 1@gal.iecc.com> 5cb72425
@REPLYADDR Terje Mathisen
<terje.mathisen@tmsw.no>
@REPLYTO 2:5075/128 Terje Mathisen
@CHRS: CP866 2
@RFC: 1 0
@RFC-Message-ID: 1@dont-email.me>
@RFC-References:
<57c5e077-ac71-486c-8afa-edd6802cf6b1n@googlegroups.com> <c35d6ff9-420e-438f-ac5c-78806df57f91n@googlegroups.com>
<71d6df28-ece0-4aa4-b07c-051ca81aab4an@googlegroups.com> <000949fe-1639-41b3-ae9e-764cdf6c9b4bn@googlegroups.com>
1@gal.iecc.com>
@TZUTC: 0200
@PID: Mozilla/5.0 (Windows NT 10.0; Win64; x64;
rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.17
@TID: FIDOGATE-5.12-ge4e8b94
John Levine wrote:
> According to Quadibloc  <jsavard@ecn.ab.ca>:
>> I have an idea, from what I`ve read, about what lengths are desirable
>> for floating-point numbers.
>>
>> Integers... well, the primary integer type needs to be big enough to
>> serve as an index to an array. 32 bits used to do that, and now we need
>> 64 bits. Although the physical memory addresses are really only 48
>> bits... but then, if bigger arrays can live in virtual memory, then indexes
>> into them will also be wanted.

> The 801 decided that it need registers big enough to hold addresses,
> which in that era were 24 bits. I don`t see anything`s changed there
> except that addresses are bigger.

>> On the System/360, of course, packed decimal integers were like
>> *strings*, and could be any length. But those operations were
>> memory to memory, and thus they would be very slow on today`s
>> computers. So the ability to do packed decimal operations in
>> registers is important.

> They considered and rejected decimal registers because in that era,
> decimal calculations tended to be simple and I/O limited so there
> weren`t enough intermediate values to make registers worth it.

> But on z/Series they do indeed have packed decimal vector instructions
> using the 128 bit vector registers as 31 digits and a sign. There is

So really nybble math?

I find it interesting that Intel included a set Ascii/Nybble 
instructions on the 8086/88, this might have  been the least used part 
of the entire x86 instruction set?

There are some exceptions, typically related to size optimization 
contests where these single and double-byte opcodes were abused because 
they were shorter than the normal way to do stuff, like splitting a byte 
into hex nybbles by using the initially undocumented feature of using 16 
to do div/mod 16 instead of mask and shift.

Even on the original 8086 you could pack 4 nybbles into a register and 
operate on them in parallel, and as soon as we got to the 386, packing 8 
nybbles into a 32-bit reg was so much faster than any nybble-based loop 
was just stupid.

Terje

-- 

"almost all programming can be viewed as an exercise in caching"
 --- Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Firefox/91.0 SeaMonkey/2.53.17
 * Origin: A noiseless patient Spider (2:5075/128)
SEEN-BY: 5001/100 5005/49 5015/255 5019/40 5020/715
848 1042 4441 12000
SEEN-BY: 5030/49 1081 5058/104 5075/128
@PATH: 5075/128 5020/1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх