Размер микропроцессора - PullRequest
3 голосов
/ 28 сентября 2010

Я читал, что микропроцессор состоит из нескольких компонентов, каждый из которых имеет одинаковые / разные «размеры».Но что меня действительно смущает, так это то, что указанный размер микропроцессора определяется как 16-битный, 32-битный или 64-битный ...

Это:

  1. емкость ALU?
  2. размер шины данных?
  3. размер шины адреса?
  4. "наименее общий знаменатель" из вышеприведенного?
  5. или какой-то другой фактор, о котором я до сих пор не знал?

Ответы [ 3 ]

5 голосов
/ 28 сентября 2010

Обычно размер процессора - это размер его регистров общего назначения. это часто соответствует размеру шины памяти и, возможно, адресной шины, но не обязательно.

Например, Intel продала версию чипа 386 под названием 386SX (http://en.wikipedia.org/wiki/Intel_80386#The_i386SX_variant)), который внутри был 386 с 32-битными регистрами, но имел только 16-битную шину данных. Считайте, что этот чип все еще является 32-битным процессором вместо 16-битного.

3 голосов
/ 19 февраля 2011

Я думаю, мне пора. Традиционно я думаю, что «размер» означает ширину (количество бит) в наборе регистров. На «моем» первом компьютере DEC PDP-8 / E единственный доступный регистр - аккумулятор - имел ширину 12 бит, и это был 12-битный компьютер, на PDP-11 регистры были шириной 16 бит, и это было 16 компьютер. IBM 370 и VAX имели 32-разрядные регистры и были 32-разрядными компьютерами.

Начиная с 80386, все стало сложно. В зависимости от режима работы он может представлять собой реальный режим 8086, защищенный режим (PM) 80286 или PM 80386. С 64-разрядными процессорами, использующими AMD64 или x86-64, у вас есть все вышеперечисленное, а также 64-разрядный ВЕЧЕРА. Так что они? Это должно зависеть от основного режима работы ОС, которая на нем работает. Windows NT 2000, Windows XP-32, Vista-32 7-32 делают процессор 32-разрядным. ОС с "64" в них делает процессор 64 битным.

Что касается автобусов и прочего. На x86-процессорах присутствуют две физические шины + данные и две логические шины памяти + I / O. Специальные выводы процессора определяют, является ли операция памятью или вводом-выводом, чтением или записью и так далее. На 8086/8088 шины данных и адресов совместно использовали одни и те же контакты A0-A15 с D0-D15 / A0-A7 с D0-D7, причем биты A16-A19 / A8-A19 строго адресны. На 80286 они были отдельными, не уверен насчет 80186/80188. На 80286 было 24 адресных и 16 строк данных. На 80386 и 80486 было по 32 адреса и данные. 80386SX имел ту же внешнюю конфигурацию, что и 80286.

После этого автобусы усложняются. Процессоры внутренне работают так быстро, что они более или менее постоянно ждут своих кешей, которые, в свою очередь, более или менее постоянно ждут на внешней оперативной памяти. Чтобы удовлетворить ненасытный жажду кеша данных, внешняя память начала предоставлять ее в виде 64-битных блоков, начиная с Pentium и Pentium MMX, которые являются 32-битными процессорами с 32 адресными строками, но с 64 строками данных.

В более поздних процессорах число адресных строк было увеличено до 36, что позволило общей адресуемой внешней памяти 64 ГБ. Процессоры остались 32-битными внутри.

На многоядерных процессорах жажда данных еще более выражена, поэтому у них может быть несколько наборов адресов и шин данных для облегчения загрузки данных в процессор. Процессоры для настольных ПК могут иметь два или три, а серверные процессоры - три-четыре. Я не уверен, но я полагаю, что некоторые перешли на 128-битные шины данных.

Для современных 64-разрядных процессоров также невозможно иметь 64 строки адреса, поскольку это позволило бы памяти до 16 миллиардов гигабайт, что сегодня невозможно. Некоторые материнские платы позволяют использовать 128 ГБ, что означает, что процессору требуется как минимум 37 адресных линий.

Как видите, адресные шины и шины данных больше не используются для определения размера процессора. Они фактически не имеют в течение последних 25 (80386 режимов) лет.

В C тип int предполагается эквивалентным ширине регистра. На AMD64 это не так, потому что не так уж и велика потребность в 64-битных целых: 32-битные целые в большинстве случаев работают просто замечательно Однако ширина указателя в C на AMD64 составляет 64 бита.

1 голос
/ 28 сентября 2010

Как правило, это относится к объему памяти (2 ^ n) байтов, который может быть адресован процессором. Обычно это то же самое, что и шина данных, но аппаратное обеспечение может осуществлять множественный доступ для получения этой суммы, поэтому не гарантируется 100% Иногда это также соответствует размеру регистра ЦП, но также может отличаться.

...