On 15 February 2013 21:33, Robin Vowels <[email protected]> wrote: > The S/360 is clearly definitely and unequivocably a CISC machine. > Think of instructions like ED, EDMK, TR, TRT, PACK, UNPK, CVB, CVD, > and of course all the decimal arithmetic instructions, all the > character move and compare instructions (except the immediate > instructions). > Then there are the shift instructions, whose times depend on the > number of positions to be shifted; the floating-point instructions, > which pre- and/or post-normalize (except for Halve); > multiply and divide instructions. > Then for the S/370, instructions like MVCL and CLCL were added.
One might better think of the mix of instruction encountered in a real world instruction stream. ED and EDMK form a minuscule fraction of all instructions executed, and even in a commercial environment, the packed decimal instructions (including CVB, CVD, PACK, and UNPK) form a very small portion. Indeed only the RR and RX instructions (and their modern counterparts) show up on any sort of ordinary graph of instruction use, and all others can go in the "other" bucket. Certainly S/360 and S/370 are CISC machines from a time long predating the terms RISC and CISC. But for practical purposes (such as compiler writing or performance analysis) rather than academic taxonomy, they may as well be RISC. Tony H.
