seanf@sco.COM (Sean Fagan) (03/06/89)
In article <5988@bsu-cs.UUCP> pervect@bsu-cs.UUCP (Barrett Kreiner) writes: >All machines have an internal WORD size (WORD is *NOT* interchangeable with >BYTE) a BYTE is defined as 8 bits.. a Nybble (havn't used that in a while) is >4 bits. a WORD (on most of all current machines) is a combination of bytes >and bits. now repeat after me.. >WORD != BYTE Very good. You've got that down. >BYTE= 8 bits Then, you blow it here. Byte is a term that, on microprocessors, meant 8 bits. Machines from Unisys's predecessor (I'm showing my age, am't I?) had 9-bit bytes, and 18-bit words. So did quite a few DEC machines. In fact, the PDP-11 and VAX are, I believe, DEC's only machines with 8-bit bytes (if I'm wrong, I'm sure thousands of people will inform me). IBM had 8-bit bytes for their 360, but not necessarily for earlier machines. CDC had 12-bit bytes for the 6600 (that was what the PP's could address), but tended to work with 6-bit bytes, since they could put 10 characters (6-bits each) in a word (60-bits, of course). When they came up with the CMU (Character Move Unit), they had 6-bit bytes. The ARM (Acorn RISC Machine) doesn't really have bytes; everything is word-addressable on it (32-bit words). I could therefore make a case of it having a 32-bit byte. I could go on, through about 30-40 years of computer history, but I think you get the idea. Please not the followup, ok? >bit = binary decimal (0 or 1) This is true. >Nybble = 4 bits = 1/2 byte Nybble is not used always. You could ask a lot of programmers, and they wouldn't know what it is. Usually used by people who use microcomputers. >WORD= anything a manufacuterer feels like.. The definitions that are usually used are: Word = Most comfortable size for ALU et al. For example, a 68000 has a 16-bit word, while a 68020 has a 32-bit word. Byte = Smallest addressable unit. Again, this is not always the case. When it isn't, it's usually used to mean the size of a character (which can be anywhere from 6 to 64 bits!). Sean. -- Sean Eric Fagan | "What the caterpillar calls the end of the world, seanf@sco.UUCP | the master calls a butterfly." -- Richard Bach (408) 458-1422 | Any opinions expressed are my own, not my employers'.
kean@tank.uchicago.edu (Keane Arase) (03/10/89)
In article <2392@scolex.sco.COM> seanf@scolex.UUCP (Sean Fagan) writes: >In article <5988@bsu-cs.UUCP> pervect@bsu-cs.UUCP (Barrett Kreiner) writes: [stuff deleted] > >>bit = binary decimal (0 or 1) > >This is true. > So long as you want *correct* terms, bit=binary digit. Decimal implies base 10. --- Keane Arase, Systems Programmer, University of Chicago Computing Organizations kean@tank.uchicago.edu syskean@uchimvs1.uchicago.edu ** Please file the standard disclaimers here **
dag@fciva.FRANKLIN.COM (Daniel A. Graifer) (03/10/89)
As I remember, the old Burroughs Large Systems (which have modern versions still on the market) (the old 67/68/77/7800 machines) had a 48 bit word (not counting the 3 hidden"tag" bits) which the hardware was quite happy to treat as a collection of 4,6,or 8 bit bytes. In fact there are hardware instructions for copying from one character pointer to another of different size, via a third pointer to a translate table. These pointer move instructions were the only ones that could address main memory as bytes though. The processor data registers were all 1 word long, and (it was a strictly stack architecture machine) LOAD and STORE instructions were all word-at-a-time. Wasn't the Burroughs 1700/1800 dynamically microcode-able to support arbitrary word sizes up 24 bits? You dynamically loaded different microcode out of a fast cache to optimize the processor "architecture" for whatever your current application/language was (at least that's how it was described to me!) That company probably deserves some kind of award for producing machines with creative architectures. This was all more than 10 years ago, so I may be confusing much.... Dan Daniel A. Graifer Franklin Capital Investments uunet!fciva!dag 7900 Westpark Drive, Suite A130 (703)821-3244 McLean, VA 22102