Кіріспе
Компьютермен өңделетін негізгі жад бірлігі. Компьютерде сөз – нақты бір процессор дизайнында қолданылатын деректің табиғи бірлігі. Сөз – процессордың нұсқаулар жиынтығы немесе аппараттық құралы бірлік ретінде өңдейтін, белгілі бір мөлшердегі дерек. Сөздің биттері немесе цифрларының саны (сөздің мөлшері, ені немесе ұзындығы) – кез келген процессордың немесе компьютерлік архитектураның маңызды сипаттамасы. Сөздің мөлшері компьютердің құрылымы мен жұмысының көптеген аспектілерінде көрінеді: процессордағы регистрлердің көпшілігі әдетте сөз мөлшерімен тең болады және көптеген (бірақ барлық емес) архитектураларда бір операцияда жұмыс жадына және одан көшірілетін ең үлкен дерек – сөз болып табылады. Жадтағы орынды көрсету үшін қолданылатын ең үлкен мүмкін адрестің мөлшері әдетте аппараттық сөз болып табылады (мұндағы «аппараттық сөз» процессордың толық көлемді табиғи сөзін білдіреді, басқа қолданылатын анықтамалардан өзгеше). Ескі компьютерлердің құжаттамасында жад мөлшері байттар мен символдар емес, сөздермен көрсетіледі. Құжаттамада кейде метрикалық префикстер дұрыс қолданылады, кейде дөңгелектеумен, мысалы, 65 килосөз (кВт) – 65536 сөзді білдіреді, ал кейде олар дұрыс қолданылмайды: килосөздер (кВт) – 1024 сөзді (2¹⁰), мегасөздер (МВт) – 1 048 576 сөзді (2²⁰) білдіреді. 8 биттік байттар мен байттық адрестеуге стандарттанумен, жад мөлшерін байттарда, килобайттарда және мегабайттарда 1024-тің дәрежелерімен (1000 емес) көрсету қалыпты жағдайға айналды, бірақ кейде IEC екілік префикстері де қолданылады. Бірнеше алғашқы компьютерлер (және кейбір заманауи компьютерлер де) қарапайым екілік емес, екілік кодталған ондық санды қолданады, әдетте сөздің мөлшері ондықтан кейін 10 немесе 12 цифрдан тұрады, ал кейбір алғашқы ондық компьютерлерде сөздің ұзындығы мүлдем белгіленбеген. Ертедегі екілік жүйелер 6 биттің еселігін сөз ұзындығы ретінде қолдануға бейім болды, ал 36 биттік сөз, әсіресе, мейнфрейм компьютерлерінде кең таралған. ASCII енгізілуі 8 биттік сөз ұзындығы бар жүйелерге көшуге әкелді, ал 16 биттік машиналар 1970-ші жылдары танымал болды, содан кейін 32 немесе 64 биттік қазіргі заманғы процессорларға көшілді. («Stretch») жүйесінде қозғалатын нүктелік нұсқау тек сөздерді ғана атауға болады, ал бүтін сандық арифметикалық нұсқау 1-64 биттік өріс ұзындығын, 1-8 биттік байт мөлшерін және 0-127 биттік аккумулятор смещениесін анықтай алады. Сақтау-сақтау (SS) нұсқаулары бар байттық адрестелетін машинада, әдетте, бір немесе бірнеше байтты кез келген жерден кез келген жерге көшіру үшін жылжыту нұсқаулары бар. SS нұсқаулары жоқ байттық бағытталған (байттық адрестік) машинада бір байтты кез келген жерден кез келген жерге жылжыту әдетте: бастапқы байтты ЖҮКТЕУ, нәтижені мақсатты байтқа қайтару. Жеке байттарға сөз бағытталған машинада екі жолдың бірімен қол жеткізуге болады. Байттарды регистрлерде ауысу және маскалау операциялары арқылы өңдеуге болады. Бір байтты кез келген жерден кез келген жерге жылжыту келесідей болуы мүмкін: бастапқы байтты қамтитын сөзді ЖҮКТЕУ, бастапқы сөзді мақсатты сөздің дұрыс орнына сәйкестендіру үшін АУЫСТЫРУ, бастапқы сөзді маскамен және қажетсіз биттерді нөлге теңеу үшін АНД операциясын жасау, мақсатты байтты қамтитын сөзді ЖҮКТЕУ, мақсатты байтты нөлге теңеу үшін маскамен АНД операциясын жасау, бастапқы байтты енгізу үшін бастапқы және мақсатты сөздерді қамтитын регистрлерді ОР операциясымен біріктіру, нәтижені мақсатты орынға САҚТАУ. Балама ретінде, көптеген сөз бағытталған машиналар регистрлерде немесе жадтағы арнайы байт көрсеткіштерін пайдаланатын байттық операцияларды жүзеге асырады. Мысалы, PDP 10 байт көрсеткіші байттың биттердегі мөлшерін (әр түрлі өлшемді байттарға қол жеткізуге мүмкіндік береді), байттың сөз ішіндегі биттік орнын және деректердің сөздік мекенжайын қамтиды. Нұсқаулар жүктеу және сақтау операциялары сияқты, келесі байтқа көрсеткішті автоматты түрде реттей алады.
In computing, a word is the natural unit of data used by a particular processor design. A word is a fixed sized datum handled as a unit by the instruction set or the hardware of the processor. The number of bits or digits in a word (the word size, word width, or word length) is an important characteristic of any specific processor design or computer architecture. The size of a word is reflected in many aspects of a computer's structure and operation; the majority of the registers in a processor are usually word sized and the largest datum that can be transferred to and from the working memory in a single operation is a word in many (not all) architectures. The largest possible address size, used to designate a location in memory, is typically a hardware word (here, "hardware word" means the full sized natural word of the processor, as opposed to any other definition used). Documentation for older computers with fixed word size commonly states memory sizes in words rather than bytes or characters. The documentation sometimes uses metric prefixes correctly, sometimes with rounding, e. g., 65 kilowords (kW) meaning for 65536 words, and sometimes uses them incorrectly, with kilowords (kW) meaning 1024 words (210) and megawords (MW) meaning 1,048,576 words (220). With standardization on 8 bit bytes and byte addressability, stating memory sizes in bytes, kilobytes, and megabytes with powers of 1024 rather than 1000 has become the norm, although there is some use of the IEC binary prefixes. Several of the earliest computers (and a few modern as well) use binary coded decimal rather than plain binary, typically having a word size of 10 or 12 decimal digits, and some early decimal computers have no fixed word length at all. Early binary systems tended to use word lengths that were some multiple of 6 bits, with the 36 bit word being especially common on mainframe computers. The introduction of ASCII led to the move to systems with word lengths that were a multiple of 8 bits, with 16 bit machines being popular in the 1970s before the move to modern processors with 32 or 64 bits. ("Stretch"), a floating point instruction can only address words while an integer arithmetic instruction can specify a field length of 1 64 bits, a byte size of 1 8 bits and an accumulator offset of 0 127 bits. In a byte addressable machine with storage to storage (SS) instructions, there are typically move instructions to copy one or multiple bytes from one arbitrary location to another. In a byte oriented (byte addressable) machine without SS instructions, moving a single byte from one arbitrary location to another is typically:
LOAD the source byte
STORE the result back in the target byte
Individual bytes can be accessed on a word oriented machine in one of two ways. Bytes can be manipulated by a combination of shift and mask operations in registers. Moving a single byte from one arbitrary location to another may require the equivalent of the following:
LOAD the word containing the source byte
SHIFT the source word to align the desired byte to the correct position in the target word
AND the source word with a mask to zero out all but the desired bits
LOAD the word containing the target byte
AND the target word with a mask to zero out the target byte
OR the registers containing the source and target words to insert the source byte
STORE the result back in the target location
Alternatively many word oriented machines implement byte operations with instructions using special byte pointers in registers or memory. For example, the PDP 10 byte pointer contained the size of the byte in bits (allowing different sized bytes to be accessed), the bit position of the byte within the word, and the word address of the data. Instructions could automatically adjust the pointer to the next byte on, for example, load and deposit (store) operations.
Екілік күштер
Деректерді әртүрлі дәлдікпен сақтау үшін әртүрлі көлемдегі жад қолданылады. Көбінесе қолданылатын өлшемдер адрестік ажыратымдылық бірлігінің (байт немесе сөз) екінің дәрежесіне тең болады. Массивтегі элементтің индексін осы элементтің жад адресіне түрлендіру үшін көбейтудің орнына тек ығыстыру операциясы ғана қажет. Кейбір жағдайларда бұл байланыс бөлу операцияларын қажет етуден де сақтайды. Осының нәтижесінде, қазіргі заманғы компьютерлердің көпшілігінде сөздің көлемі (және басқа да операторлардың көлемі) байт көлемінен екінің дәрежесімен үлкен болады.
Сөздердің өлшемдері кестесі
кілт: бит: биттер, с: таңбалар, д: ондық сандар, w: архитектураның сөз өлшемі, n: өзгермелі өлшем, wm: сөз белгісі Жыл Компьютерлік архитектура Сөз өлшемі w Бүтін сандар Жылжымалы нүкте өлшемдері Нұсқаулық өлшемдері Адрес ажыратымдылығының бірлігі Символ өлшемі 1837 Babbage Анализдік машинасы 50 dw—Әртүрлі функциялар үшін бес түрлі карта қолданылды, карталардың нақты өлшемі белгісіз. w— 1941 Zuse Z3 22 бит w 8 бит w— 1942 ABC 50 бит w— 1944 Harvard Mark I 23 dw— 24 бит— 1946 (1948) {1953} ENIAC (w/Panel #16 8 бит 8 бит 2001 ARMv6 (w/VFP) 32 бит 8 бит, 1/2w, w— (w, 2w) 1/2w, w 8 бит 8 бит 2003 x86 64 64 бит 8 бит, 1/4w, 1/2w, w 1/2w, w, 80 бит 8 бит, 120 бит 8 бит 8 бит 2013 ARMv8 A және ARMv9 A 64 бит 8 бит, 1/4w, 1/2w, w 1/2w, w 1/2w 8 бит 8 бит Жыл Компьютерлік архитектура Сөз өлшемі w Бүтін сандар Жылжымалы нүкте өлшемдері Нұсқаулық өлшемдері Адрестердің ажыратымдылығы: бит, цифрлар: ондық, әріптер: с, сандар: d, сөз белгілері: n, өзгермелі өлшемдер: wm, архитектура белгісі: w.