Все о тюнинге авто

Что такое разрядность процессора и как ее определить? Как узнать разрядность операционной системы и процессора в Windows Что такое разрядность

Целью данной статьи является попытка посеять сомнение в голове читателя, уверенного, что он знает о разрядности всё или почти всё. Но сомнение должно быть конструктивным, дабы сподвигнуть на собственное исследование и улучшить понимание.

Термин «разрядность» часто используют при описании вычислительных устройств и систем, понимая под этим число бит, одновременно хранимых, обрабатываемых или передаваемых в другое устройство. Но именно применительно к центральным процессорам (ЦП), как к наиболее сложным представителям вычислительного железа, не делимым на отдельные детали (до тех пор, пока кто-то не придумал, как продать отдельно кэш или умножитель внутри чипа), понятие разрядности оказывается весьма расплывчатым. Продемонстрировать это поможет умозрительный пример.

Представьте себе, что вокруг благодатные 80-е, в мире (всё ещё) десятки производителей ЦП, и вы работаете в одном из них над очередным поколением. Никаких 256-битных SSE8, встроенных GPU и 5-канальных контроллёров памяти на свете пока нет, но у вас уже есть готовый 16-битный процессор (точнее, «16-битный» пишется в технической документации), в котором 16 бит везде и во всём - от всех внешних шин до архитектурного размера обрабатываемых данных. Реальным примером такого ЦП могут быть первые однокорпусные (правда, не однокристальные) ЦП для архитектуры DEC PDP-11. И вот приходит задание руководства - разработать новое, обратно совместимое поколение этого же ЦП, которое будет 32-битным - не уточняя, что понимается под последним. Именно это понимание и предстоит прояснить в первую очередь. Итак, наш главный вопрос: что именно надо удвоить по разрядности в нашем пока насквозь 16-битном ЦП, чтобы получившийся процессор мог называться 32-битным? Чтобы решать задачу было легче, применим два подхода: систематизируем определения и посмотрим на примеры.Систематизируем

Первое, что приходит в голову - разрядность чего именно считать? Обратимся к определению любой информационной системы: её три основных функции - это обработка, хранение и ввод-вывод данных, за которые отвечают, соответственно, процессор(ы), память и периферия. Учитывая, что сложная иерархически самоподобная система состоит из многих компонент, можно утверждать, что такое разделение функций сохраняется и на компонентном уровне. Например, тот же процессор в основном обрабатывает данные, но он также обязан их хранить (для чего у него есть относительно небольшая память) и обмениваться с другими компонентами (для этого есть разные шины и их контроллёры). Поэтому будем функционально разделять разрядности обработки, хранения и обмена информации.

Рискну предположить, что все производители любого программируемого «железа», особенно процессоров, на 90% стараются не для конечных пользователей, а для программистов. Следовательно, с точки зрения производителей процессор должен выполнять нужные команды нужным образом. С другой стороны, детали структуры кристалла (топологические, электрические и физические параметры отдельных транзисторов, вентилей, логических элементов и блоков) могут быть скрыты не только от пользователя, но и от программиста. Выходит, что разрядность надо отличать и по реализации - физическую и архитектурную.

Следует добавить, что программисты тоже бывают разные: большинство пишут прикладные программы на языках высокого уровня с помощью компиляторов (что делает код до некоторой степени платформонезависимым), некоторые пишут драйверы и компоненты ОС (что заставляет более внимательно относиться к учёту реальных возможностей аппаратной части), есть творцы на ассемблере (явно требующем знания целевого процессора), а кто-то пишет сами компиляторы и ассемблеры (аналогично). Поэтому под программистами далее будем понимать именно тех, для кого детали аппаратной реализации важны если не для написания программы вообще, то хотя бы для её оптимизации по скорости - «архитектурная» разрядность чего-либо будет относиться именно к программированию на родном машинном языке процессора или более удобном ассемблере, не залезая при этом в нутро ЦП (это уже вопросы микроархитектуры, которую мы для большего различия и назвали физической реализацией). Описанные нюансы всё равно влияют на всех программистов, т.к. языки высокого уровня почти всегда переводятся компиляторами в машинный код, а компиляторы тоже должен кто-то написать. Исключения в виде интерпретируемых языков тоже не стоят в стороне - сами интерпретаторы тоже создаются с помощью компиляторов.

Осталось рассмотреть, разрядность какой именно информации нам интересна. Что вообще потребляет и генерирует ЦП в информационном смысле? Команды, данные, адреса и сигнально-управляющие коды. О последних речь не идёт - их разрядность жёстко зафиксирована в конкретной аппаратной реализации и в большинстве случаев программно не управляема. Чуть трудней с командами - в семействе архитектур RISC, например, разрядность любого обращения к памяти должна быть равна физической разрядности шины данных процессора, в т.ч. и при считывании кода (кроме некоторых послаблений в современных ARM и PowerPC). Это хорошо для ЦП - нет проблем с невыровненным доступом, все команды имеют одинаковую, либо переменную, но просто вычисляемую длину. Зато плохо для программиста - RISC это усечённый набор команд, которые ещё и занимают больше места, чем при более компактном кодировании (для того же алгоритма нужно больше команд, но и для того же числа команд надо больше байтов). Поэтому именно CISC-парадигма завоевала наибольший подход с её разнообразием и переменной длинной команд, не равной разрядности чего-либо. Разумеется, все современные ЦП внутри - настоящие RISC, но это только физически, а не архитектурно. Остались только два вида информации - данные и адреса. Их и рассмотрим.Собираем

У нас имеется три критерия видов разрядности: функциональный (обработки, хранения и обмена), реализационный (физическая и архитектурная) и типовой (данных и адресов). Итого уже 12 видов этой непонятной штуки. Предположим, что на каждую комбинацию критериев для нашего исходного ЦП мы отвечаем «16-битная» (и физическая разрядность обработки данных, и архитектурная хранения адресов, и все остальные). Теперь посмотрим, какие из этих вопросов обязательно должны давать ответ «32-битная», чтобы получившийся процессор оказался именно таким.

Начнём с архитектурной части. Должен ли ЦП хранить данные и адреса в логическом 32-битном формате, чтобы называться 32-битным? Насчёт данных, очевидно, да, а вот по поводу адресов всё не так просто. Почти все 8-битные (по данным) ЦП имеют возможность хранить 16-битные адреса в парах регистров (иначе им не видать распространённой на этих платформах 16-битной адресации), но от этого их не называют 16-битными. Может быть, если ЦП сможет хранить 32-битные данные, но всего-то 16-битные адреса, его уже можно называть 32-битным?..

На аналогичные вопросы об архитектурных вычислениях над 32-битными данными и адресами, а также программно 32-битном обмене данных с программно 32-битной адресацией ответ может быть таким же - с данными надо, а с адресами не факт.

Перейдём на физическую реализацию. Должен ли ЦП хранить данные и адреса в физически 32-битном формате? Оказывается, не обязательно, т.к. для 32-битных операндов можно спарить регистры, чем успешно пользовались ещё 8-битные ЦП, начиная с i8080. А зилоговские 16-битные Z8000 могли даже счетверять регистры, получая 64-битный аргумент (только для данных). Это не так эффективно, т.к. полный объём данных, умещающийся в регистровом файле, не увеличится, но это и не требовалось. Зато всегда есть возможность обратиться и к старшей, и к младшей половине виртуального 32-битного регистра - камень в огороды архитектур IA-32 и MC68k, где можно обращаться только к младшей половине (в IA-32 - ещё и с префиксом, что замедляет выполнение).

Идём далее. Должен ли ЦП обрабатывать данные и адреса 32-битными физическими порциями? Оказывается, и это не требуется, операнды можно обрабатывать половинками в функциональных устройствах 16-битного размера. Стоит вспомнить процессор Motorola MC68000, применявшийся в первых Макинтошах, Амигах, Атари и других популярных машинах - он считался 32-битным, в нём есть 32-битные регистры, но нет ни одного 32-битного ФУ (оно появилось только в 68020). Зато есть целых три 16-битных АЛУ, два из которых умеют спариваться при выполнении 32-битной операции. У i8080 и Z80 8-битные АЛУ выполняли 16-битные операции для вычисления адреса последовательно над его байтами. Позже эта история повторилась с набором SSE и его 128-битными операндами, которые поначалу обрабатывались на 64-битных ФУ.

Наконец, обмен: нужно ли процессору физически принимать и передавать данные 32-битными порциями с 32-битной адресацией? На первый вопрос дали ответ почти все производители ЦП, выпустив чипы с половинной шириной шины: 8 бит для 16-битного i8088, 16 бит для 32-битных MC68000/010 и i80386SX/EX/CX, и даже 8 бит для 32-битного MC68008. С физической разрядностью шины адреса куда веселее. Начнём с того, что для многобайтовых шин данных (т.е. начиная с 16-битной) физическая адресация памяти может происходить по словам или по байтам. В первом случае на шину адреса всегда подаётся адрес слова, а шина данных считывает или записывает нужную его часть - от отдельного байта до слова целиком. Для обозначения разрядности доступа может применяться отдельная шина байт-маски (в архитектуре x86 такой приём начал применяться со времён i386 - по биту на каждый байт шины данных), либо комбинация управляющих сигналов с младшими битами шины адреса, которые в этом режиме не нужны (для 32-биной шины данных адрес слова нацело делится на 4, а потому младшие 2 бита шины адреса всегда равны нулю) - так было до выхода i386. Случай же адресации байтов возможен лишь при динамической подстройке ширины шины и из широко известных ЦП применялся только в MC68020/030. В результате к сегодняшнему дню используется именно адресация слов вместе с байт-маской, поэтому физическая разрядность шины адреса оказывается меньше её логической ширины на число бит, на единицу меньшее разрядности шины данных в байтах. Из чего следует, что 32-битная физическая шина адреса может быть только при 8-битной шине данных, на что ни один архитектор и инженер в здравом уме не пойдёт по очевидным соображениям.

Но это ещё не всё. Зачем нам вообще 32-битная физическая или логическая адресация? Середина-конец 80-х, на рынке только-только появились мегабитные микросхемы памяти, типичный объём памяти для ПК пока что измеряется сотнями килобайт, но чуть позже - мегабайтами. А 32-битная адресация позволит получить доступ к 4 ГБ физического ОЗУ! Да кому вообще такое может понадобиться в ближайшие лет 20 в персоналках?! Неудивительно, что первые популярные «32-битные» ЦП имели совсем не 32 бита логической ширины шины адреса: MC68000 имел 24 (23 физических + 1 для управления разрядами), а MC68008 - и вовсе 20. Intel 386SX (вышедший на 3 года позже оригинального полностью 32-битного i80386), помимо уполовинивания шины данных, сократил и шину адреса до 24 (23 физических) бит, а его встраиваемые версии 386EX/CX имели 26-битную шину. Более того, первые чипсеты, позволявшие оперировать 32-битными адресами, появились лишь в 90-х, а первые материнские платы, имевшие достаточное число слотов памяти, чтобы набрать >4 ГБ модулями максимального на тот момент размера - лишь в 2000-х. Хотя первые ЦП с 64-битной физической шиной адреса (IBM/Motorola PowerPC 620) появились аж в 1994 г.. Выводим

Итак, физически в процессоре вообще ничего не требуется делать 32-битным. Достаточно лишь архитектурно убедить программиста, что ЦП выполняет 32-битные операции одной командой. И хотя она при отсутствии полноценных внутренних ресурсов неизбежно будет декодироваться в цепочки микрокода для управления 16-битными физическими порциями информации и аппаратными блоками - это уже программиста не волнует. Так что же, достаточно переписать прошивку, переделать декодер и схему управления, и вот наш 16-битный процессор сразу стал 32-битным?

Как известно, любую хорошую идею можно довести до абсурда, и тогда она сама себя дискредитирует. Увеличение разрядности ЦП - не исключение. На этом месте архитектурщик сразу должен задаться вопросом - а зачем всё это? Увеличивать разрядность данных хорошо для ускорения работы с ними (часто требуется обрабатывать значения, не умещающиеся в 16 бит), а адресов - для получения возможности оперировать большими объёмами данных (ограничение в 64 КБ для 16-битной адресации, кое-как ослабленное сегментной моделью IA-16, сковывало программистов уже в середине 80-х). Можно, конечно, сделать страничную адресацию с программно переключаемыми банками (могли же 8-битные ЦП адресовать 1 МБ на популярных дешёвых ПК и игровых приставках), но ценой усложнения программ и замедления доступа к памяти. Аналогично - разве имеет смысл делать 32-битность для данных такой, что она почти не ускоряет производительность по сравнению с обработкой 32-битных чисел на 16-битной платформе под управлением программы, а не микрокода? Таким образом мы только упростим программирование, сэкономив на числе команд, но не получим скачок в скорости. Из чего мы приходим к выводу - увеличение разрядности должно реализовываться так, чтобы оно реально привело к качественному (больше памяти) и количественному (быстрее операции) скачку возможностей архитектуры. «Больше памяти» здесь относится именно к качественному развитию, т.к. многие алгоритмы и приложения вообще откажутся работать при недостатке ОЗУ, в то время как даже медленный процессор всё равно рано или поздно программу выполнит. Виртуальная память с дисковой подкачкой бессмысленна при менее чем 32-битной реализации.

Но означает ли всё это, что в ЦП как можно больше ресурсов, и аппаратных, и архитектурных, должны быть 32-битными, чтобы его можно было бы назвать полноценным 32-битным процессором? Совсем нет. Возьмём тот же MC68000 - у него 32-битная архитектура для данных и адресов и 32-битные регистры, но 16-битные АЛУ и внешняя шина данных и 24-битная физическая внешняя адресация. Тем не менее, недостаточная «32-битность» не мешает ему обгонять появившийся на 3 года позже «16-битный» 80286: на популярном в 1980-е бенчмарке Dhrystones MC68000 на 8 МГц набирает 2100 «попугаев», а 286 на 10 МГц - 1900 (также 16-битный i8088 на 4,77 МГц - 300).

Но всё это нам не поможет ответить на вопрос - что же такое разрядность процессора? В момент, когда мы уже было пришли к некоему заключению, на сцене появляется новый герой - тип данных. Всё вышеизложенное имело отношение лишь к целочисленным вычислениям и их аргументам. Но ведь есть ещё и вещественные. Кроме того, пока что мы оперируем скалярными величинами, но есть ещё и векторные. А ведь, по слухам, Intel намерена встроить вещественный сопроцессор прямо внутрь своего нового 80486 (напомню: на дворе у нас, условно - 80-е годы). С учётом того, что внутреннее физическое и архитектурное представление данных (с адресами FPU не работает) 80-битное - как же тогда называть «четвёрку» - «32/80-битным» процессором? Вернёмся обратно в настоящее - как называть Pentium MMX, который откусил 64 бита от каждого 80-битного скалярного вещественного регистра и назвал их целочисленным векторным регистром? А Pentum Pro/II с 256-битной шиной данных между кэшем L2 и ядром? (Ещё ранее MIPS R4000 и его варианты имели внутренний контроллёр L2 с внешней 128-битной шиной до самого кэша.) А как назвать Pentium III с его 128-битными регистрами XMM, хотя в каждом таком векторе могут пока храниться лишь 32-битные компоненты, а обрабатываться лишь парами в 64-битных ФУ, но не четвёрками? А как воспринимать готовящиеся сейчас для новых архитектур (в частности, Intel Larrabee) команды векторной адресации типа Scatter и Gather, где части векторного регистра воспринимаются как адреса, а не данные, и потому адресация тоже может считаться ххх-битной?

Современный спор о переходе с 32-битной на 64-битную платформу повторяет эту историю с дополнениями, ещё более подсаливающими и так разнообразное по вкусу блюдо. Прежде всего, если посмотреть на темпы удвоения разрядности (что бы под ней не понимали) однокристальных ЦП, то окажется, что переход от первых 4-битных к первым 32-битным произошёл всего за 8 лет - c 1971 г. (i4004) по 1979 г. (MC68000 и куда менее известный NS32016). Следующее удвоение до 64 бит потребовало 10 лет - i860 имел 32-битное целое скалярное АЛУ и 32-битные универсальные регистры со спариванием, но 64-битные FPU и целочисленное векторное ФУ, 64-битные внешние шины и, впервые, внутреннюю 128-битную шину ядро-кэш. А пока 64 бита добрались до ПК - прошло ещё лет 15, хотя 64-битный доступ к памяти (через 64-битную же шину данных, но для «32-битного» процессора) появился уже в первых Pentium в 1993 г.. А дело в том, что для целочисленных скалярных вычислений два главных типа операндов - данные и адреса - пока достаточно было иметь лишь 32-битными. Об избыточности 32-битной адресации для 80-90-х гг. уже сказано, но и жёсткая необходимость в 64-битных целочисленных вычислениях, в отличие от 32-битных, также до сих пор не возникала, да и не просматривается и сейчас. Для целых чисел диапазон от –2·10 9 до 2·10 9 или от 0 до 4·10 9 покрывает подавляющее большинство нужд, а редкие моменты 64-битности вполне удовлетворяются дедовским способом - операциями над частями операндов с переносом, что не так уж сильно медленнее и доступно с первых моментов появления 32-битных архитектур. Дополнительной пикантности добавляет тот факт, что 64-битная арифметика над целыми числами в архитектуре x86 появились ещё до AMD64 и EM64T, причём сразу векторная - начиная с набора SSE2 (2001 г.) существуют команды paddq и psubq для сложения и вычитания целых 64-битных компонентов, а команды 32-битного перемножения для любой архитектуры дают 64-битное число (команды деления, соответственно - его принимают; аналогично для многих 16-битных платформ, включая IA-16).

Разрядности некоторых процессоров для ПК

Критерий Разрядность
Функциональный обработки хранения обмена
Реализационный физич. архитектурн. физич. архитектурн. физич. архитектурн.
Типовой (D: данных; A: адресов) D A D A D A D A D A D A
i8080/85, Z80 8 8 8-16 16 8 8 8-16 16 8 16 8-16 16
Z8000 16 16 8-64 16 16 16 8-64 16 8-16 23 8-64 23
MC68000/010 (MC68008) 16 16 8-32 32 32 32 8-32 32 8-16 (8) 24 (20) 8-32 32
MC68020/030 32 32 8-32 32 32 32 8-32 32 8-32 32 8-32 32
i8086/186* (i8088/188*) 16 16 8-16 16 16 16 8-16 16 8-16 (8) 20 8-16 20
i80286 16 16 8-16 16 16 16 8-16 16 8-16 24 8-16 24
i80386DX 32 32 8-32 32 32 32 8-32 32 8-32 32 8-32 32
i80386SX (EX/CX) 32 32 8-32 32 32 32 8-32 32 8-16 24 (26) 8-32 32
i860 32/64|64 32 8-64/64|64 32 32/64/32 32 8-64/64/64 32 64 64 8-64 64
i80486 32/80 32 8-32/80 32 32/80 32 8-32/80 32 32 32 8-80 32
Pentium, K5 (Pentium Pro) 32/80 32 8-32/80 32 32/80 32 8-32/80 32 64 32 (36) 8-80 32 (51)
Pentium MMX (Pentium II) 32/80|64 32 8-32/80|64 32 32/80|64 32 8-32/80|64 32 64 32 (36) 8-80 32 (51)
K6 (K6-2) 32/80| 64(/64) 32 8-32/80| 64(/64) 32 32/80| 64(/64) 32 8-32/80| 64(/64) 32 64 32 8-80 32
Athlon 32/80| 64/64 32 8-32/80| 64/64 32 32/80| 64/64 32 8-32/80| 64/64 32 64 36 8-80 51
Athlon XP 32/80| 64/64 32 8-32/80| 64/32-128 32 32/80|64/128 32 8-32/80| 64/128 32 64 36 8-128 51
Pentium III (Pentium 4/M, Core) 32/80| 64/64 32 8-32/80| 64(+128)/32-128 32 32/80| 64(+128)/128 32 8-32/80| 64(+128)/128 32 64 36 8-128 51
Pentium 4 D/EE (Athlon 64*) 64/80| 64/64 64 8-64/80|64 + 128/32-128 64 64/80|64 + 128/128 64 8-64/80|64 + 128/128 64 64(+16) 40 8-128 52
Atom 32-64/80| 64/64-128 64 8-64/80|64 + 128/32-128 64 64/80|64 + 128/128 64 8-64/80|64 + 128/128 64 64 36 8-128 51
Core 2 (i7*) 64/80| 128/128 64 8-64/80|64 + 128/32-128 64 64/80|64 + 128/128 64 8-64/80|64 + 128/128 64 64 (192+16) 40 8-128 52
Athlon II*, Phenom (II)* 64/80| 128/128 64 8-64/80|64 + 128/32-128 64 64/80|64 + 128/128 64 8-64/80|64 + 128/128 64 128+16 40 (48) 8-128 52

* - Мультиплексированная шина данных и адреса (для ЦП с интегрированным контроллёром памяти - только межпроцессорная)
«A/B|C/D» - для данных указана разрядность скалярного целого / вещественного | векторного целого / вещественного доменов
«X+Y» - имеет домены этого вида двух разрядностей
«X-Y» - в зависимости от команды или ФУ принимает все промежуточные значения с целой степенью двойки

Если вы дочитали до этого места, то объявленная цель статьи, скорее всего, уже достигнута, а Идеальное Конечное Точное Определение разрядности так и не найдено. Может быть, его вообще нет, и это даже хорошо. В конце концов, если компьютер это главный инструмент для работы с информацией, то каждая IT-технология это метод улучшения работы компьютера. Разрядность сама по себе ничего не даст в отрыве от всего остального арсенала высоких инфотехнологий. PDA/коммуникаторы, мобильники, нетбуки, медиа-плееры и прочая карманная электроника, а также гигантское количество встроенных контроллёров и бортовых компьютеров отлично работают, увеличивая свою популярность и без всякой 64-битности. Так зачем тогда переходят на большие разрядности? Зачем, например, никому пока не нужная 64-битность в Intel Atom для нетбуков, где 8 ГБ памяти мало того, что никому не нужны, так ещё и за пару часов досуха выжмут батарею, а научные или экономические вычисления (где могут потребоваться 64 целых бита) никто запускать не будет? Один из возможных ответов: «потому что мы можем». Дополнительная пара миллионов транзисторов для удвоения ещё оставшихся 32-битными блоков утонет каплей в море вентилей, уже потраченных на всё остальное в этом же чипе. Галопирующий прогресс микроэлектроники как главного паровоза IT сделал интегральный транзистор таким дешёвым, что теперь лакомый для любого маркетолога шильдик «64 bit» обойдётся потребителю в десяток лишних центов, обеспечивая совсем не бутафорское, а вполне реальное ускорение на 10-50 % в 1-5 % приложений. И если мелкая овчинка стоит почти бесплатной выделки, почему нет?

Разрядность процессора - загадочная величина, которая часто появляется в статьях, описывающих софт или "железо". При этом в текстах обычно фигурирует число либо 32, либо 64. О том, что скрывают эти значения, и будет рассказано в статье.

Общее определение

Если рассматривать самые простые определения, то можно сказать, что разрядность - величина, показывающая, сколько бит CPU может обработать за один такт. Сегодня это число равно либо 32, либо 64. Причем первые активно вытесняются, и вероятно, что совсем скоро подобных ЦП не останется вовсе.

В целом для информатики описанный выше тезис верен, но если рассматривать именно разрядность процессора, понятие становится расплывчатым. Устройство неделимое, но, как и многие другие, включает в себя составные части, причем столько, что становится самым сложным компонентом во всем компьютере.

Для того чтобы лучше понять, что скрывает неясное определение, нужно ответить на вопрос: "А какую вообще информацию генерирует и принимает CPU?" Ответов будет несколько: данные, команды и адреса.

Команды

Изначально длина команды, поступающей к CPU за один такт, должна была быть такой же, как и разрядность шины процессора. Для ЦП такое положение вещей является наиболее удобным - не требуется выполнять лишние вычисления. Для программиста подобный подход уже не максимально приемлем, ибо команды занимают всегда фиксированный объем (значит, даже самая простая требует больше места для своего хранения).

Первый факт, о который может споткнуться человек, впервые прочитавший упрощенное определение рассматриваемого объекта: сегодня ЦП могут похвастаться умением работать с командами переменной длины, значит, с этим типом данных разрядность процессора никак не связана. А чтобы развеять все сомнения (или посеять семя для новых), нужно копать дальше.

Данные и адреса

Необходимо ли центральному процессору логически (то есть с точки зрения программиста) уметь хранить данные размером в 32 бита, чтобы называться 32-разрядным? Тут все очевидно - ответ положительный. С адресным пространством не все так просто. Каждый 8-разрядный ЦП мог работать с адресами, которые имели длину в 16 бит. Может, размер данных, которые умеет хранить процессор, и определяет его разрядность?

Перейдем от программных возможностей к физическому устройству. Нужно ли CPU хранить внутри себя адреса и данные в определенном формате? Скажем, чтобы говорить о том, что разрядность процессора равна 32, должен ли он оперировать данными этой длины? Как показывает история, далеко не всегда.

Рассмотрим ЦП, имеющий называние i8080. Он был 8-битным (как говорят спецификации), однако оперировал значениями, которые имели длину 32 разряда, раскидав нолики и единички по спаренным регистрам. CPU Z8000 работал уже не с двойками, а с четверками, значит, и оперировал большими данными за один такт.

Вывод

В CPU вообще ничего не нужно делать для того, чтобы сказать, что он имеет какую-либо разрядность. Создайте удобный инструмент для программиста и рекламу для пользователя - этого будет достаточно. На аппаратном же уровне все новое должно вводиться только при необходимости. Сегодня, пожалуй, процесс перехода от 32-битных устройств к 64 происходит наиболее быстро.

Необходимо ли это? Научные сотрудники сказали, что подобный переход требуется, раньше других, ведь размер машинного слова напрямую влияет на точность вычислений. Когда максимальная разрядность процессора равна 64, а не 32, показатели намного превосходят предшествующие, что дает возможность отказываться от апгрейда оборудования. Разработчики компьютерных игр тоже решили, что от подобного перехода никуда не деться. Требуется ли это простому пользователю, который и научных работ не выполняет, и к видеоиграм относится холодно? На этот вопрос каждый ответит для себя сам.

Для пользователя

Как узнать разрядность процессора, который установлен в вашем компьютере? Сделать это несложно.

  • Нажмите сочетание Win+R на клавиатуре, отобразится окно с заголовком "Выполнить", в него введите cmd.
  • На экране появится черная консоль, напоминающая MS-DOS, в ней нужно набрать systeminfo.
  • Подождите, пока операционная система соберет данные о компьютере, они будут показаны здесь же.
  • Найдите строку "Процессор(ы)". В ней будет написано имя ЦП. Например, AMD64 Family 16 Model 4 Stepping 3.
  • Обычно первые цифры и означают разрядность CPU.

Как узнать разрядность процессора, если при помощи командной строки получить необходимую информацию не получилось?

  • Скачайте программу AIDA64.
  • В левой части окна отыщите надпись "Системная плата".
  • Теперь кликните дважды по значку с названием "ЦП" или "CPUID".
  • В первом случае обратите внимание на графу "Наборы инструкций", если здесь присутствует число 64, значит, процессор 64-разрядный, иначе же - ЦП 32-битный.
  • Во втором случае просмотрите надписи возле тех чекбоксов, в которых стоят галочки. Здесь находятся подробные описания каждого набора инструкций, из которых можно будет легко понять, какой именно CPU используется в вашем компьютере.

Процессор по праву считается сердцем любого персонального компьютера. Именно благодаря ему он совершается тысячи своих операций, о которых обычный пользователь даже и не догадывается. На сегодняшний день на рынке комплектующих существуют тысячи всевозможных моделей. На многих из них приписаны такие странные для обывателя обозначения, как: «разрядность процессора» или «тактовая частота» и т.д. Так что же это такое?

У каждого процессора существует ряд характеристик, по которым и определяются его возможности. Первым делом идет разрядность процессора. Данный параметр имеет под собой еще целый ряд дополнительных характеристик:

Разрядность регистров;

Разрядность шины самого процессора;

Разрядность шины памяти.

Регистр процессора - один из тех миллиардов транзисторов, который находится положении 0 или 1. По сути своей это тип очень быстрой оперативной памяти. Выполняя самую обычную операцию сложения, два регистра выступают в роли операнд, а логический результат перемещается в еще одну ячейку (регистр). Если говорить другими словами, то разрядность процессора - это то количество бит, которое процессор способен обработать за такт. Именно это и заставляет создавать программы, работающие или в 32-х или в 64-х. На сегодняшний день, 64-разрядный процессор можно встретить на каждом шагу, т.к. все они выпускаются таковыми, но имеют еще и дополнительный режим - режим совместимости, способный выполнять 32-хбитные программы.

Процессорное ядро и соединяет между собой основная процессорная шина. Непосредственно к северному мосту через шину памяти и графического контроллера подсоединяется видеокарта, оперативная память. На сегодняшний день развитие шины памяти достигло своего предела, так как дальнейшее наращивание может привести только к проблемам с синхронизацией, которые бы возникали при передаче всех бит одновременно.

Что касается шины адреса памяти, то с помощью ее передается адрес, по которому находится ячейка оперативной памяти, где будет произведена запись или же чтение.

Другой является его тактовая частота. Благодаря этому параметру определяется скорость, с которой процессор сможет выполнять поставленные перед ним задачи. каждого процессора измеряется в герцах, а также в ее производных мегагерцах (МГц) и гигагерцах (ГГц). Если процессор работает на тактовой частоте 2 ГГц, значит, что ему под силу выполнить до 2 миллиардов операций в секунду.

Частоту процессора задает который находится на материнской плате или интегрируется в сам кристалл в наборе системной логики. Условно такой генератор является куском кварца, находящимся в оловянном корпусе. К нему подводят переменное напряжение, из-за чего и возникает ток именно такой частоты. Частота напрямую зависит от формы и величины кварца и, конечно же, от величины подаваемого на него напряжения. Частота тем меньше, чем выше подается напряжение. Для подачи меньшего напряжения необходим тонкий техпроцессор.

Для того чтобы узнать разрядность процессора, а также его тактовую частоту, можно воспользоваться небольшими утилитами, которые без каких-либо проблем выведут на экран всю информацию. Помимо этого, существует ряд других утилит, которые способны увеличивать тактовую частоту процессора, так как изначально все процессоры имеют частоту несколько ниже, чем это возможно. Делается это для того, чтобы продлить жизнь процессорам и дать оверклокерам (любителям разгона) возможность заниматься любимым делом. Но любой «разгон» процессора весьма опасен и требует особых навыков, иначе вместо ускорения работы можно просто-напросто вывести его из строя.

Существует два вида процессоров: 32-битные и 64-битные. Эти цифры обозначают разрядность процессора. От того, какой процессор вы используете, будет зависеть, какой версией операционной системы пользоваться, как выбирать программы и игры, какое количество ОЗУ можно поставить на свой компьютер. Также можно встретить обозначение x86, которое часто ошибочно принимают за отдельную разрядность процессора. Но прежде всего определим, операционная система какого типа установлена на вашем компьютере.

Как узнать разрядность установленной Windows

Есть несколько способов, позволяющих узнать, сколько бит использует ваша операционная система Windows. Ищите значения x32 или x64, так как они являются основными показателями разрядности системы, а x86 может относиться как к одноядерной, так и к двухъядерной системе. Сначала рассмотрим самый простой и быстрый вариант.

Через свойства компьютера


Через сведения о системе

Различия и преимущества разного количества ядер

Итак, существует два вида процессоров: одноядерные (x32) и двухъядерные (x64). Иногда можно встретить обозначение x86 - это не отдельный вид процессоров, а обозначение архитектуры микропроцессора. Чаще всего цифра x86 свидетельствует о том, что процессор одноядерный, но она также может использоваться и для 64-битного процессора. Поэтому не стоит ориентироваться на неё, всегда ищите обозначение в формате x36 или x64.

Производительность и скорость работы, соответственно, выше у 64-битных процессоров, так как работают сразу два ядра, а не одно. Если вы используете 32-битный процессор, то можете установить на свой компьютер сколько угодно оперативной памяти (ОЗУ), но при этом система будет использовать только 4 ГБ из всей памяти. При наличии 64-битного процессора можно использовать до 32 ГБ оперативной памяти.

Производительность и скорость работы выше у 64-битных процессоров, так как работают сразу два ядра, а не одно

Требования для 64-разрядной системы

Главное преимущество процессоров x64 заключается в том, что они поддерживают программы, игры и операционные системы, написанные не только для 64-битных процессоров, но и для 32-битных. То есть, если у вас процессор x32, то вы можете установить только 32-битную операционную систему Windows, но не 64-битную.

Какая разрядность лучше

Из всего вышеописанного можно сделать вывод, что если вы выбираете между одним и двумя ядрами, то предпочтительнее второй вариант, так как большинство современных программ и игр требуют 64 бита. Не исключено, что в будущем от 32-битной системы полностью откажутся, так как её мощности мало на что хватает.

Как перейти на Windows 7 x64

Если вы хотите увеличить производительность системы и объёмы доступной оперативной памяти, а также расширить количество поддерживаемых приложений и игр, то необходимо перейти на 64-битную операционную систему. Сделать это можно единственным способом - стереть старую 32-битную систему и установить новую.

Учтите, что все файлы, находящиеся на компьютере, при выполнении этой операции будут безвозвратно утеряны, так что заранее скопируйте их на сторонний носитель, чтобы не потерять ничего важного. Итак, после того как вы начнёте установку новой операционной системы, вам будет предложено выбрать язык и подтвердить начало операции, а также выбрать версию системы. Выберите ту, которая имеет разряд x64, и пройдите процесс установки.

Выбираем тип архитектуры и продолжаем процесс установки

Почему не устанавливается 64-битная Windows

Если установка не удалась - значит, ваш процессор не поддерживает 64-битную систему и рассчитан только на x32. Выход из этой ситуации один - приобрести новый процессор, который будет соответствовать вашим требованиям.

Как определить разрядность процессора

Есть несколько способов, позволяющих определить, какое количество ядер содержит и использует процессор, установленный в вашем компьютере.

Совсем недавно на блоге сайт была опубликована заметка, в помощь тем, кто собирается обновлять свой компьютер или же покупать/собирать новый. А именно, в ней говорилось о том, сколько оперативной памяти нужно компьютеру в зависимости от тех задач, которые передними ставятся: Сколько оперативной памяти нужно?

Следующей нашей заметкой по плану была статья о поддержке различных объемов памяти со стороны операционной системы — о разрядности операционной системы; о том, что не все объемы памяти поддерживаются всеми версиями Windows . Отдельное спасибо всем читателям, которые в комментариях на блоге упомянули о теме разрядности: после прочтения их я понял, что короткой заметки в блоге на эту тему — мало. Нужен подробный материал на эту тему.

Именно поэтому было решено написать статью, (ликбез, если хотите) по этому вопросу и разместить ее здесь, на ITexpertPortal.com — в архиве бесплатных обучающих материалов и статей на важные темы компьютерной грамотности.

Итак, вернемся к основной теме, к разрядности операционных систем и к поддержке различных объемов памяти. Вначале ответим на вопрос:

Что такое разрядность вообще?

Научное определение: В информатике разрядностью электронного (в частности, периферийного) устройства или шины называется количество разрядов (битов), одновременно обрабатываемых этим устройством или передаваемых этой шиной. Термин применим к составным частям вычислительных, периферийных или измерительных устройств: шинам данных компьютеров, процессорам и т.д. Разрядностью компьютера называют разрядность его машинного слова. (источник — Википедия).

Думаю, все просто и понятно. Разрядность — способность одновременно обрабатывать какое-то количество битов, если говорить проще.

На самом деле, все не так просто, и чтобы осветить полностью этот вопрос и "по-научному" — никакой статьи не хватит. Поэтому, не будем углубляться в курс архитектуры ПК, а затронем чисто практические моменты, с которыми приходится сталкиваться и которые имеют значение для нас — пользователей.

Причем тут объем оперативной памяти?

Существует две версии операционной системы Windows (по крайней мере пока — только две). Не важно, что именно мы возьмем из современных и актуальных систем: XP, Vista или 7.
Все эти системы существуют в двух вариантах — 32-битные и 64-битные. Например:

Windows 7 Ultimate 32-bit (или х86 — равнозначные обозначения)
Windows 7 Ultimate 64-bit (
или x64 — равнозначные обозначения)
Windows Vista Ultimate x86 (x86 —
это обозначение 32-битной версии)
Windows Visa Ultimate x64 (соответственно — 64-битная версия)

Архитектурные различия между 32 и 64-битными версиями Windows, разумеется, есть. Говорить о них можно долго, но это ни к чему, поверьте мне. 🙂

Самые главные особенности и отличия, которые непосредственно касаются пользователя и с которыми приходится сталкиваться:

1. Максимальный объем оперативной памяти.
2. Разрядность операционной системы.
3. Разрядность процессора.

Вот об этом мы с вами поговорим подробнее…

Максимальный объем оперативной памяти.

32-битная операционная система может адресовать (т.е. может использовать, "видеть") не более 4 ГБ оперативной памяти. Это самое главное отличие, и самое существенное. Если в вашем компьютере установлено, скажем, 2 ГБ, то 32-битная операционная система работает с таким объемом нормально.

Если вы у становите 4 ГБ памяти и будете работать под управлением 32-битной ОС, то она просто не увидит такой объем. Все, что она сможет использовать — это примерно 3.5 ГБ из 4 ГБ. Остальной объем она не может предоставить для работающих программ. Разумеется, если вы установите в компьютер 8 ГБ памяти, скажем, и при этом будете оставаться на 32-битной системе, то она так же не увидит более 3.5 ГБ из всего установленного объема.

64-битная операционная система может работать с гораздо бОльшими объемами памяти — до 192 ГБ (для Windows 7) . Т.е. если вы, скажем, захотели установить 8 ГБ памяти, то обязательно нужно переходить на 64-битную ОС, в противном случае, вы просто не сможете использовать столь большой доступный объем.

Мы рассмотрели, можно сказать, "крайности", до 2 ГБ и 8 ГБ и более. А как быть с золотой серединой? Что, если у вас уже установлено или же вы планируете увеличить объем памяти до 4 ГБ? Нужно ли в этом случае переходить на 64-битную ОС, чтобы компьютер смог использовать не 3.3, а все 4 ГБ памяти?

Не все так просто… 64-битные версии ОС используют заметно больше памяти. Все переменные теперь уже не 32-битные, а 64-битные. Обычно это увеличивает объём приложений на 20-40%, что приводит и к соответствующему росту объёма занимаемой памяти. На такие файловые форматы, как музыка или видео, это не влияет.

Устанавливать 64-битную версию Windows , чтобы лучше использовать 4 Гбайт памяти, смысла не имеет, пусть даже 32-битная версия распознаёт только до 3,5 ГБ памяти. Проблема кроется в том, что вы получите отсутствующую память, однако сразу же её потеряете по той причине, что 64-битная версия требует для себя больше памяти. Так что переход на 64 бита актуален только при памяти большего объёма: 6, 8 ГБ и более.

Итак, если вы решили установить много памяти, и здесь 64-битная ОС нужна точно, то возможно, вас интересует вопрос:

Какими особенностями обладает 64-битная Windows Vista /7 ?

Визуально — никакими. Т.е. внешне — это обычная ОС, ничем не выделяющаяся от 32-битного варианта. Вы можете определить ее принадлежность к 64-битной архитектуре только зайдя в пункт "свойства системы" в панели управления — там указана разрядность.

Технически — небольшие различия есть. Первое, собственно, что 64-битная ОС "видит" большие объемы памяти и умеет с ними работать. Второе — она позволяет запускать 64-битные приложения.

64-битная ОС позволяет запускать и обычные 32-битные программы. Привычным способом, никаких настроек для этого не требуется. Все как всегда. Просто в 64-битной системе присутствует подсистема выполнения 32-х разрядных приложений. Поэтому, вы с успехом можете устанавливать и работать как с 32-битными, так и с 64-битными приложениями.

Сейчас таких х64-приложений немного, хотя их число постоянно растет. Особенно это касается ресурсоемких программ — графических и видеоредакторов и так далее. Т.е. всех программ, которым нужны в первую очередь большие объемы доступной для работы памяти. Например, чтобы какой-то видеоредактор мог использовать в работе более 4 ГБ из доступной памяти.

Например, компания Adobe заявляла, что современные приложения серии Adobe CS5 — будут только 64-битные. Это значит, что, скажем, Photoshop CS5, Dreamweaver CS5 и т.п. смогут запустится только на 64-битной системе. На 32-битной ОС они просто не запустятся. Почему?

Потому что в 64-битной ОС могут работать 32-битные приложения, но не наоборот!

Следующий технический момент — 64-битные ОС требуют 64-битных драйверов . Как правило, все современные (не старше двух лет) устройства ПК, ноутбуки и периферия имеют на прилагающемся установочном диске две версии драйверов — 32 и 64-битную. Поэтому с современными устройствами проблем не возникнет — как обычно вставляем диск с драйвером в привод и запускаем установку, инсталлятор сам определит версию Windows и запустит соответствующий разрядности драйвер.

Если диска нет или на нем нет 64-битного драйвера, необходимо посетить официальный сайт разработчика конкретного устройства, чтобы скачать такой драйвер. То же относится и к устаревшему оборудованию.

ОБЯЗАТЕЛЬНО проверьте наличие 64-битных версий ВСЕХ необходимых драйверов еще ДО начала установки 64-битной версии Windows !

Разрядность процессора.

Где взять/как определить 64-битные приложения?

64-битное программное обеспечение можно определить без труда. На упаковке в системных требованиях, как правило, указывается, что данная программа 64-битная. Это же может быть указано отдельно на упаковке.

Если же вы приобретаете какое-то ПО через интернет, то принадлежность к 64-битной архитектуре тоже указывается.

Вот пример: моя лицензионная коробочная версия Windows Vista Ultimate . В комплекте два установочных диска — 32 и 64-битная версия ОС:

Не обращайте внимание на "англоязычность" в данном случае, просто ОС была куплена в Соединенных Штатах.

Но это в данном случае — Vista Ultimate (только Ultimate) так поставлялась, в двух версиях. Как правило, та же Windows, например (или любая другая программа) продается ИЛИ 32-битная ИЛИ 64-битная, о чем указано на коробке, как я уже упоминал.

На этом отличия и особенности 64-битных операционных систем Windows, значимые для пользователя заканчиваются.

В остальном — все точно так же, как и на привычных 32-битных Windows XP/Vista/7.