↓ Содержание ↓
↑ Свернуть ↑
|
История компьютерной логики.
Странная тема, которая может показаться интересной любителям истории развития компьютерного железа. Хотя в этой статье я уделяю больше внимания не столько самой истории, сколько логике бинарной архитектуры и причинам, почему современные компьютеры работают именно так, а не иначе. Меня не столько интересует сама история, сколько принципы работы компьютерного железа, и цели почему всё именно так работает и скомпоновано, а не по-другому, а также мысли о том как это можно было бы улучшить, и почему никто не улучшает.
Начнём с самого начала, с изобретения самых первых бинарных вычислительных устройств, а изобретены они были не много ни мало, а в начале 19ого века, то есть очень давно и в Англии (и даже раньше). Как вы понимаете это были нихрена не компьютеры, они были не полупроводниковыми, и вообще даже не электрическими. Речь идёт о самых первых механических калькуляторах, использовавших бинарную логику для простейших арифметических вычислений. Надо сказать, что хотя самое первое устройство было именно калькулятором, сами калькуляторы не прижились. Денег в те времена у всех было мало, а стоимость такого устройства была очень высока, и использовать его для того чтобы сложить два трёхзначных числа размером до 256 было слишком дорого, и это можно было сделать самому, намного быстрее и дешевле. Тем не менее, сам принцип сумматора работал уже тогда. Надо сказать, что история бинарных устройств не закончилась на первом механическом калькуляторе, просто потому что с 1840ых годов Англия и другие западные державы вступили в эпоху прогресса, и им понадобились сложные управляющие устройства в самых разных областях, и прежде всего в военной. В частности некоторые крупные морские суда Англии, первые дредноуты уже тогда наводили свои пушки на цель не на глазок, а используя механические расчётные системы, в основе которых и была положена бинарная логика. Также очень быстро появились различные управляющие электромеханические устройства, позволяющие управлять самыми разными системами боевых кораблей, самых первых электростанций и много чем ещё. Такие устройства часто состояли из 4 или 8 переключателей ВКЛЮЧЕНО и ВЫКЛЮЧЕНО, как в современной бинарной логике 0 и 1, и выполняли супер простые функции что-то включить или выключить. При этом 4 переключателя могли находиться в коробочке размером 10х10х10см и работать со скоростью одно действие раз в две секунды, при этом чтобы действие произошло человек должен был нажать кнопку. То есть, по моему мнению, развитие компьютеров началось уже тогда, с появления первых простейших электромеханических устройств управления чем-либо. Просто это период когда люди впервые стали работать с самими вычислительными устройствами и думать как их сделать, чтобы вообще что-то работало.
Уже в конце 19ого века стала бурно развиваться самая разная электротехника, появились электростанции, первые автомобили, сложные системы управления железными дорогами. И если где-то в России всё было просто и примитивно и управлялось человеком, то в железных дорогах Англии в конце 19ого века уже была масса электромеханических устройств управляющих движением поездов, по типу того как сейчас, только гораздо примитивнее. Но суть в том, что поезда уже не всегда управлялись чисто человеком, и появились электрические системы контроля, прообраз современных железнодорожных систем. Тут речь даже не о том, в какой степени эти устройства управляли железнодорожным движением, может и в совсем маленькой, не как сейчас. А в том, что производство таких электромеханических устройств вообще массово началось, серийно. И это уже были самые разные виды переключателей, которые могли что-то где-то переключить без участия человека. А также появились люди, которые учились делать такие устройства, получали образование в этой области, и даже кафедры электромеханики в университетах Англии. И вот тут важно заметить, что минимум половина этих устройств использовала самую простейшую бинарную логику, и уже тогда, в начале 20ого века, ещё до первой мировой войны, уже появились упрощённые электрические калькуляторы, которые стояли в щитке ЖД транспорта и что-то там считали. Транзистор и всё остальное ещё не было изобретено. Но уже была изобретена коробочка в которой было 8 переключателей, работающих точно также как включается и выключается свет в обычном ручном переключателе у вас дома. И эти 8 или даже 16 логических переключателей уже могли рассчитать что-то очень простое, и принять одно из 8 возможных решений, предусмотренных их схемой расположения. То есть это было простейшее управляющее бинарное устройство. Пока ещё очень большое медленное, и ничего не умеющее, кроме как сделать выбор из нескольких вариантов. Но оно уже было компьютером, просто очень и очень примитивным, это даже не компьютер, а его самый первый и примитивный предок. Я рассказываю про всё это, чтобы указать на то, что сама логика переключения чего-то бинарно была создана очень давно. И если честно первые механические калькуляторы появились даже не в 19ом веке и не в Англии, а ещё намного раньше, просто это не имеет смысла обсуждать.
Так вот дальше в 1930ые годы компьютеров ещё не было, но началось бурное развитие электротехники в целом. Появились электрические громкоговорители, радио, первое телевидение, системы связи военных, в Англии перед войной создали первые радио радары. В западном мире в Англии и США в быт вошло множество электроприборов, а сами системы управления везде и всем, даже светофоры, стали сложнее, и свет в светофоре переключался уже без участия человека. В 1930ые годы в США и Англии появились первые телефонные станции, в которых переключение между номерами при звонке происходило автоматически, без участия девочки телефонистки, которой надо было говорить, куда ты звонишь с кем соединить, при каждом звонке. То есть в мире появилось множество электроприборов, которые использовали логические управляющие элементы, в основе которых были электромеханические переключатели. Использовать для этой цели полупроводники и микрочипы, изготовленные по нано технологиям, ещё никто не додумался, да и нано технологий не было. А вот логические переключатели размером в несколько миллиметров и даже меньше, уже стали нормой, по крайней мере в развитых странах. Лидерами электронной отрасли в тот период были США и Англия, надо сказать Германия развивала другие области военной промышленности связанные больше с военной сферой, чем с экономикой, производство танков и авиации. И следует добавить что к концу 1930ых годов, такие системы как радары Англии, управлялись уже устройствами довольно сложными, в них было не 8 логических переключателей а гораздо больше. Да и телевизоры появились в начале 1930ых и даже в них было дофига электронных деталей и переключателей, и не 8 и даже не 128, а побольше. И хотя эти переключатели не были полупроводниковыми, а кто-то скажет что там были радиолампы, сути это не меняет. Вся логика везде была бинарной, аналоговые схемы именно для управления использовались редко, не путать с телесигналом, да сигнал в телевещании или по радиосвязи был аналоговым, но не устройства управления. И я просто подвожу вопрос к тому, что ещё до появления самых первых компьютеров появилась очень сложная микроэлектронная база для изготовления самой разной довольно сложной электротехники. И это самое главное. Причём эту электронную базу уже производили не где-то в тайной лаборатории в количестве двух штук в год, а она была массово внедрена в жизнь, в виде телевизоров, радио, телефонов, телефонных станций, реле управления железных дорог, военных радаров, электрических систем управления тяжёлыми и дорогими боевыми морскими кораблями. И если где-то в СССР всё это отставало от запада лет на двадцать, потому что там сделали акцент на производство танков и артиллерии, что накануне войны было более важно, то в Англии и США уровень развития производства микроэлектронных компонентов уже тогда был очень высоким, и качественно и количественно.
Просто сегодня очень часто звучит мысль о том, что в отставании СССР в компьютерах виноват Сталин, который после войны объявил кибернетику лженаукой, и только поэтому мы отстали, а так бы мы ОГОГО показали бы им буржуям. Так вот это неправда, да компьютеры стали массово внедряться в жизнь после войны, а в США и Англии самые первые компьютеры были созданы в военные годы. На самом деле тотальное отставание по производству любых микроэлектронных компонентов у СССР началось ещё с 1890ого года, ещё задолго до СССР и продолжалось постоянно. И в 1939ом году, СССР в основном был озабочен производством танков и самолётов, и выплавкой стали. То есть никакого достаточно массового и масштабного производства электронных компонентов не было. Те микроэлектронные компоненты, что производились в СССР в 1939ом году или в 1941ом году до войны, их производилось очень мало, и они производились как копирование западных образцов пяти или десяти летней давности, то есть с заведомо отставанием, и это был абсолютно необходимый минимум и только. СССР практически не имел собственной электронной базы, не имел собственной базы разработки нового на конкурентном уровне, не создавал ничего своего, и в основном пытался наладить производство западных компонентов. Причём руководство СССР не считалось микроэлектронику приоритетом в 1939ом году, и во время индустриализации были совсем другие приоритеты, строительство танков, железных дорог и армии. Поэтому когда в Англии и США в период с 1930ого по 1941ый год шло бурное развитие микроэлектроники, и буквально каждый год выпускалось новое поколение более совершенных микроэлектронных компонентов, и оборудования для их производства. В это время СССР направлял в эти области минимальное финансирование и в основном покупал чужое, и был не в состоянии создать своё, и даже не стремился к этому. То есть объёмы и масштабы развития микроэлектронной базы в США и Англии уже тогда не шли ни в какое сравнение с Германией или СССР. И кстати хочу подчеркнуть, что в Германии дела в этой области были не так печальны как в СССР, но тоже не всё хорошо. В основном электрооборудование в Германии хоть и было развитым, но касалось не управляющих устройств телевидения и микроэлектроники, а в основном это было промышленное оборудование скажем так, а это немного другая область, тоже не то, что надо, не компьютеры. Хотя, учитывая 9 мая 1945ого года, что было у Германии не так уж важно на самом деле.
Поэтому когда война закончилась, США и Англия уже имели сверхразвитую микроэлектронную базу, целую промышленность, опыт разработки, сеть научно исследовательских центров и опытных специалистов, которые занимались этим вопросом десятки лет. Это были люди, которые сами создали все устройства с нуля, всему научились, имели хорошее образование и опыт, а не те вчерашние крестьяне и рабочие от станка из СССР которым государство купило чужую устаревшую детальку и сказало "изучайте и сделайте такую же через 5 лет". Притом что эта деталька уже на момент покупки была устаревшей, и на западе выпускали новое поколение таких деталей каждый год. То есть западный мир в лице Англии и США после войны имел развитую научную и производственную базу в области микроэлектроники, в которой работали сотни тысяч людей, с опытом и образованием, а в СССР всего этого не было. Никакого равенства в области создания компьютеров не было. У СССР изначально на старте не было шанса догнать противника, а сделать компьютер по нано технологии на коленке очевидно нельзя никак, тут молоток и зубило не помогут. Пока в СССР одно единственное опытное производство на всю страну собирало самый первый компьютер очень маленькой мощности, из подручных средств и мусора и не имея даже опыта работы в микроэлектронике. В США уже налаживали массовое производство компьютеров на основе бинарной логики. СССР изначально на старте очень и очень сильно отставал от западных стран в области всех микроэлектронных устройств, их производства, специалистов и так далее. Да в СССР были сделаны большие усилия, чтобы догнать, но догнать в итоге так и не удалось. Была программа минимального импортозамещения, чтобы как-то вооружить армию оружием способным вообще воевать, ракетами ПВО, радарами и так далее, примерно как в России сейчас. Но СССР отставал изначально, отставал тотально по всем направлениями и на много лет. Отставал сам фундамент, отставал до такой степени что у СССР этого фундамента практически не было вовсе. Не стоит думать что какие-то маленькие шарашки и лаборатории электроники 1946ого года могли что-то там догнать, в то время как в США развивалась целая супер индустрия. В СССР в 1946ом году было много проблем, только что кончилась война, людям жилые дома надо было в разрушенных городах строить, срочно создавать ядерное оружие, а позже запускать в космос Гагарина. Никто не был готов вливать 10% ВВП страны в микроэлектронику, чтобы реально догнать запад. Причём в те времена ещё не было компьютеров, никто не знал будущее и никто не знал как это важно иметь развитую микроэлектронику.
Хотя если честно, моё историческое мнение, чем развивать космос и лететь на Луну, было бы лучше ещё в 1950ом году всё бросить на развитие микроэлектроники и догонять запад в этой области до тех пор, пока не догнали бы. Хотя это историческое мнение, основанное на знании результата, ясно, что в те времена люди иначе видели мир и по другому понимали приоритеты, никто не знал что будет через 80 лет.
Надо сказать, что самые первые компьютеры в США появившееся в годы войны, в основном были представлены логическими переключателями, такими же как те что включают и выключают свет. То есть их задача замыкать и размыкать цепь, и таких переключателей было много. В первых компьютерах были десятки тысяч таких переключателей, они работали с частотой 100 герц и быстро перегорали. Но это были первые 4 разрядные или 8 разрядные схемы, способные работать точно также как современный компьютер. Они были очень большими и работали очень медленно. США потратили очень много времени и денег, чтобы уменьшить размер этих систем. Полноценные суперкомпьютеры небольшой мощности в США появились сразу после войны, однако не было технологий их сборки и массового производства, а монтаж и изготовление очень большого количества переключателей осуществлялись вручную, поэтому компьютеры были очень дорогими, и их было мало. Уже тогда появились самые первые ПК, но они тоже изготавливались полностью вручную, и маленький компьютер той же мощности часто стоил гораздо дороже, чем большой, а это важное отличие от современных компьютеров. Поскольку изготавливать и обслуживать очень маленькие схемы вручную дороже, чем более крупные, то многие первые компьютеры никто и не старался особо уменьшать. Работать вручную со слишком маленьким устройством, ремонтировать это слишком маленькое устройство, намного сложнее и дороже чем большое. Тем более что ломались такие схемы постоянно, а не как сейчас, когда поставил компьютер на шкаф, сделал андервольт и он работает 15 лет без ремонта. При этом компьютер со слишком маленьким количеством переключателей ничего считать не может, а большое количество переключателей стоит дорого. Примерно лет десять компьютеры в США производились чисто ручной сборкой на всех этапах, и это резко ограничивало их количество, ручная сборка это очень дорого. Каждый байт оперативной памяти стоил денег, буквально каждый байт. Поэтому отставание в микроэлектронике хоть и было, но не играло большой роли, как сейчас. В те времена на всю США было несколько десятков больших и дорогих компьютеров незаменимости у которых не было. Я не буду рассказывать про тайные программы компьютеров США и их реальные наработки тех лет, я просто не хочу, чтобы меня обвинили в лженаучности и лжеистории, поэтому рассматриваю вопрос поверхностно и официально, не будем говорить про успехи Года.
С середины 1950ых годов в США наконец наладили производство компьютеров микро штамповкой, это было колоссальный шаг вперёд, микро штамповка по сути чем-то очень удалённо похожа на современную литографию. Суть в том что микросхема не производится вручную человеком, а некоторые фрагменты микросхем стали штамповать штампом, причём штамп был очень сложным и совершал множество ударных операций, выпечатывая на плате микросхему. Штамп работал ненадёжно, давал большую погрешность и вероятность ошибки, позволял печатать устройства размером порядка 100мкм, а потом и меньше, что очень много по современным меркам, но это было колоссальный рывок вперёд по сравнению с полностью ручной сборкой. Потому что попробуйте-ка вручную выточить микросхемку на 256 элементов с точностью 0,1миллиметра, или 100мкм. То есть микроштамповка сделала то, что было не под силу человеку, она резко увеличила производство электронных компонентов и уменьшила их размер и стоимость во много раз. Компоненты были всё ещё слишком дороги, чтобы продавать геймерские ПК с топовыми видеокартами на гражданском рынке. Но в этот момент впервые появились компьютеры современного типа, в том смысле что сама микросхема усложнилась настолько, что вручную изготовить столь сложную схему уже невозможно. Это позволило США совершить огромный рывок в военной микроэлектронике и производству компьютеров вообще.
Пока СССР в 1960ом году собирал свои компьютеры вручную, используя проводки диаметром 1 миллиметр, потому что человек с более маленькими проводками работать просто не может. И на весь СССР было всего несколько суперкомпьютеров очень маленькой мощности. В это время глупые американцы уже развернули массовое производство микроэлектронных компонентов с печатью 50мкм и даже 25мкм, или как-то так. И на истребители США уже ставились микроэлектронные устройства, которые уже можно назвать почти компьютерами, в СССР ничего такого не было.
И да в 1960ом и даже 1962ом году компьютеры всё ещё были слишком дорогими для массового производства, но в США компьютеры уже были и использовались, а авиации и имелось их массовое производство. А на всё СССР было только несколько гигантских суперкомпьютеров очень маленькой мощности сверх устаревшей архитектуры, и никаких методов производства устройств размером 25мкм, отставание уже тогда было тотальным. Чёбы там не говорила партия и горе патриоты, в то время когда в СССР на всю страну было несколько огромных горе компьютеров, которые собрали просто кой как из мусора, и ни о каком массовом производстве никто даже не думал. В США уже ставили на всю военную технику весьма продвинутую микроэлектронику серийного производства по технологии 100мкм или даже 25мкм. Мы уже тогда очень сильно от них отставали в этой области, и это изначальное историческое отставание. Просто в те времена компьютеры ещё не вошли в нашу жизнь так сильно как сейчас, и это было не так заметно, и никто толком не понимал всю важность этого отставания как сейчас. Ведь в 1960ом году никто не знал, что править миром будет страна, которая производит самые лучшие в мире компьютеры, а само умение делать микроэлектронику столь важно.
В 1965ом году в США появились самые первые в мире электронные литографы, на которых печатались самые первые в мире электронные микросхемы по той же технологии что и сейчас. Спустя всего пять лет удалось довести технологию до уровня массового производства, и началась эра массово производства дешёвых компьютеров.
В 1971ом году был презентован самый первый самый важный, вошедший в историю процессор Intel4004 это было четырёх разрядный процессор мощностью 740килогерц, который выполнял одну инструкцию за 8 тактов, то есть скорость его работы была всего 90 килогерц. Этот процессор вошёл в историю, потому что он был очень мощным и быстрым, он стоил 60 долларов за штуку, что для процессора в те времена было просто невозможно дёшево. Этот процессор был очень маленьким, по размеру даже меньше современных процессоров ПК, намного меньше, просто маленькая микросхемка на 90килогерц за 60 долларов. Фактически Интел 4004 просто порвал рынок, в том смысле что с его появлением стало возможно массовое производство и продаже персональных компьютеров, потому что он был маленьким, умеренно дешёвым и достаточно мощным, на нём даже можно было делать компьютерные игры. И он использовался не только в играх, а абсолютно везде, в управляющих устройствах светофоров, в самых разных областях, заменяя ручной труд на автоматизированное управление. Мы сейчас не всегда понимаем, что значит важность автоматизации труда, потому что у нас уже давно производятся или закупаются устройства автоматического управления различными системами в государстве от водопровода до телефонных АТС. Но в 1970ые годы во всём мире многие функции управления инфраструктурой государства выполняли люди, и ИНТЕЛ4004 позволил заменить человека, или даже несколько человек, на всего один компьютер, что резко повысило производительность труда в стране. Там где раньше круглосуточно и в три смены работал женский коллектив, который круглосуточно сидел и вручную переключал тумблеры управлявшие ГЭС, АТС, водопроводов, газопроводов, энергосистемами, и многими другими областями, американцы поставили один единственный компьютер на процессоре ИНТЕЛ4004 и огромное количество людей в хорошем смысле слова пошло искать новую работу, и это имело хорошие экономические последствия, ненужный монотонный труд был успешно автоматизирован, глобально стране в долгосрочной перспективе это выгодно, это снизило расходы и освободило рабочие руки для других задач. Американцы сделали это первыми, а многие другие страны ещё много лет делали всё вручную, и некоторые делают всё вручную до сих пор.
На первый взгляд 90 килогерц это дико мало, даже процессор приставки Денди в 1991ом году имел скорость 3,7МГц что намного больше. Но для управления многими промышленными процессами больше и не требуется. А рассматривая сам термин компьютерная игра, я не имею ввиду игры на большом цветном мониторе с высоким разрешением, как вы представляете себе сегодня. Процессор Интел4004 позволил выпускать дешёвые ПК на которых можно было печатать текст, а также играть в супер примитивные игры с разрешением 60х45 пикселей, игры могли быть двухцветными чёрный и белый, персонаж с разрешением 3х5 пикселей. Массово появились аркадные автоматы, а также игрушки, работавшие с частотой 4 ФПС, но где не требовалась высокая частота обновления экрана. А также игры представленные игровыми автоматами где процессор управлял фигурками(куклами), а не картинкой на экране как сейчас. В СССР в конце 1980ых годов было полно игровых автоматов, где очень слабый процессор аналог украденного у США ИНТЕЛ4004 или ИНТЕЛ8008 управлял игровыми фигурками, процессору не нужно было рисовать графику, он бы с этим не справился, он управлял фигурками игрового автомата и делал это неплохо, и можно было нормально поиграть. Всё это было невозможно до появления ИНТЕЛ4004, потому что даже те персональные компьютеры, которые появились в широкой продаже двумя годами ранее в 1969ом году, до появления ИНТЕЛ4004 имели убожески маленькую мощность и при этом стоили выше уровня финансовых возможностей большинства обеспеченных американцев тех лет, по цене дорогого автомобиля и даже дороже. А вот ИНТЕЛ4004 и компьютеры на его основе стоили настолько дёшево, что их можно было купить в каждый дом. Появились первые игровые приставки, очень примитивные видеоигры, которые можно было запустить на телевизоре. Эти приставки имели процессор ИНТЕЛ4004 и его аналоги 2 килобайта оперативной памяти, и всё, а запуск приставки осуществлялся с носителя информации встроенного в саму приставку объёмом несколько килобайт. Нельзя было даже купить новые игры, на приставке просто было установлено четыре игры и всё, и они были очень простыми, и даже такие приставки были популярны, хотя они были намного примитивнее денди, зато появились в начале 1970ых годов. Это был теннис, где в качестве теннисной ракетки была просто линия и всё. Или что-то другое очень простое, даже не бомбермэн и не Марио, скажу более, это был даже не тетрис. Но практика показала, что индустрия игр стала быстро развиваться и толкать всю компьютерную промышленность. А люди очень хотели играть и покупали даже самые простые игровые приставки, и им всегда хотелось купить приставку с играми получше. Тоже самое касалось и компьютеров, именно в начале 1970ых годов стали массово официально появляться самые первые гражданские игровые разработки рассчитанные именно на продажу. В это время в СССР в области компьютеров был полный...
Что такое четырёх разрядный процессор, и что такое 1 разрядный процессор? И может ли вообще существовать одно разрядный процессор?
Вся современная микроэлектроника устроена гениально, в её основе одноразрядный процессор, простейший сумматор способный работать только с 0 и 1. Одноразрядный процессор за один герц может выполнить суммирование 0 и 1 или выбор, а если таких процессоров несколько, то вместе они могут выполнять и другие функции, потому что каждый процессор выполняет свою задачу, один процессор суммирует 0 и 1, другой решает складывать или вычитать, третий одноразрядный процессор делает что-то ещё. Ну это общий принцип, конечно одноразрядные процессоры могут работать только в теории, и это будет происходить дико медленно, потому что для выполнения одной инструкции им пришлось бы отработать тысячи герц. Однако одноразрядный процессор это элементарная ячейка процессора вообще, и она лежит в основе архитектуры абсолютно всех процессоров на Земле выпущенных когда-либо и используемых сегодня.
Как ни странно 2х разрядный процессор имеет в 4 раза больше переключателей, чем одноразрядный и способен работать с целыми числами от 0 до 3, но это всё ещё слишком мало, чтобы работать нормально. То есть он за одно действие может сложить или вычесть число от 0 до 3. При этом если брать именно 2х разрядный процессор, то число 4 он не понимает, и поэтому работать в 10ричной системе счисления не сможет НИКАК, поэтому на самом деле сложить какие-то числа на 2х разрядном процессоре будет крайне сложно, или придётся придумывать долбанутую систему позволяющую ему работать с числами которых он не понимает, например с числом 4 или 5.
Развивая тему дальше, мы можем заметить что 3х разрядный процессор может работать с целыми числами от 0 до 7. То есть он имеет такое количество логических переключателей, которые соединены таким образом, что в один такт может быть рассчитано целое число от 0 до 7. И если присобачить к нему второй 3х разрядный контур, или выполнить операцию в 2 герца, то он сможет не только складывать целые числа от 0 до 7, но и вычитать, и ещё потратив 2 герца можно сравнить два числа от 0 до 7, равно или не равно. Однако мы видим что в 3х разрядном процессоре не хватило места на восьмёрку и девятку и поэтому он не понимает что такое число 8 или 9. Опять же будет довольно сложно перевести его в десятиричную систему счисления потому что он не знает числа 8 и 9. И хотя сделать так, чтобы он понимал число 8 и 9 можно, например, разбив 10ричную систему на два раза по 5. Но такой подход приведёт к тому что 3х разрядный процессор на действие с числом 8 и 9 потратит примерно 100 операций вместо 1, то есть работать будет медленно сложно и через заднее место.
Именно поэтому самый первый в мире коммерческий процессор ИНТЕЛ4004 созданный специально для персональный компьютеров, был 4х разрядным, он умел работать с целыми числами от 0 до 15. То есть 4х разрядный процессор в самом примитивном варианте может сложить или вычесть два целых числа размером от 0 до 15, и, кстати, надо две схемы, отдельно на сложение, отдельно на вычитание. И схема вычитания намного сложнее, чем сложения. Его сделали максимально простым и дешёвым. 2х разрядный процессор это 4 одноразрядных. Трёхразрядный процессор это 16 одноразрядных процессоров.
4х разрядный процессор это 64 одноразрядных процессора работающих вместе, соединённых в единую систему логических переключателей, и да такая система достаточно большая. А поскольку ИНТЕЛ4004 должен уметь работать с предыдущими незаконченными инструкциями, а ещё он должен уметь складывать, вычитать, умножать столбиком, делить уголком, работать с дробями, иметь оператор ИФ, то есть простейшую логику, иметь функции сравнения больше и меньше и равно, и кой что ещё. То на самом деле такой процессор получился довольно большим, и общее количество транзисторов в даже таком самом примитивном самом бюджетном процессоре составило 2300 штук. На первый взгляд 2300 штук это не так уж много, но если бы вы попробовали сделать эти транзисторы вручную в 1946ом году, да ещё по технологии печати 10микрометров, я думаю люди, пытающиеся собрать такой микропроцессор просто офигели бы. Потому что даже такой супер примитивный абсолютно минимальный по функционалу процессор это 2300 транзисторов напечатанных с печатью 10мкм, то есть 0,01 миллиметра. Вряд ли человек сможет вручную работать с деталькой размером в 0,01мм и разместить её в нужной точке с точностью 0,001мм. При этом в отличие от многих других процессоров изготовленных ранее, полупроводниковый ИНТЕЛ4004 был очень надёжен и работал без сбоев, по сравнению с предыдущими микрочипами, что тоже очень важно. И он мог работать без сбоев очень долго, не перегреваясь, что очень важно, если он управляет где-то каким-то промышленным устройством или объектом инфраструктуры.
Отсюда можно сделать простой вывод, даже создание процессора ИНТЕЛ4004 потребовало невероятно сложных производственных линий и технологий на разработку которых у США ушло примерно пол века, если брать с самого начала когда началось более менее массовая отработка процессов создания микроэлектроники. А самими компьютерами к тому моменту США занимались уже 25 лет.
То есть у СССР и его рабочих и крестьян в 1971ом году не было никаких шансов собрать вручную устройство на 2300 транзисторов с печатью 10мкм, как бы они не старались. Даже тайно купив это чудо науки в США и доставив его в СССР для изучения, у учёных СССР не было ни малейшего шанса скопировать и развернуть его производство на собственном оборудовании.
Как я уже говорил даже самый простой 4х разрядный процессор это 64 одноразрядных схемы, плюс группа переключателей, которые отвечают за все другие необходимые логические операции кроме сложения и вычитания целых чисел от 0 до 15. То есть это довольно таки сложная система взаимосвязанных переключателей, которые, получив строго определённые данные на входе, дают строго определённый выход. По сути, система переключателей это группа сумматоров 0 и 1, которые соединены сложным образом так, что все вместо могут рассчитать число намного большее чем 0 и 1, при этом они соединены системно, и такую систему очень просто масштабировать, чтобы работать с более крупными числами. Сама система, обеспечивающая расчёт, сложна и гениальна, но её все понимают и все умеют работать с ней, потому что придумать простое было очень сложно, но она проста по своей сути и позволяет работать с числами любого размера, но дальнейшее масштабирование системы требует увеличение числа логических переключателей, что делает процессор очень большим, с точки зрения количества переключателей. Я думаю, все вы слышали про то как компании ИНТЕЛ и АМД хвалятся на мировом рынке тем, что они смогли разместить миллионы транзисторов на одном квадратном сантиметре подложки. Смысл в том, что те волшебные способности компьютера считать и логически мыслить, на самом деле начинаются с самого простого одноразрядного сумматора, просто таких сумматоров в современном 64 разрядном процессоре со всеми его дополнительными основными функциями просто дохрена.
Надо сказать, после того как был выпущен ИНТЕЛ4004, уже спустя год был выпущен следующий намного более совершенный процессор ИНТЕЛ8008, он уже был 8 разрядным, а значит мог в одно действие сложить целые числа от 0 до 255, и кроме того у него было намного больше сложных логических команд, которые он мог быстрее выполнить чем у его предка.
Скорость процессора ИНТЕЛ4004 составляет 0,74МГц, а скорость процессора ИНТЕЛ8008 составляет 1МГц, на первый взгляд разница небольшая, но из-за низкой разрядности ИНТЕЛ4004 вынужден выполнять все операции в несколько действий, минимум 8 герц на одну операцию. А если операция сложная, то он может потратить на её выполнение даже десятки тысяч герц. Таким образом, он выполняет всего несколько десятков или сотен сложных инструкций в секунду и 90тысяч простых инструкций в секунду. Процессор ИНТЕЛ8008 способен выполнять многие простые инструкции за 1 герц, то есть он выполняет миллион простых инструкций в секунду, а это в 11 раз больше, и при этом он может выполнить до 100тысяч сложных инструкций в секунду, а это значит что он за 1 секунду выполняет более чем в тысячу раз больше сложных инструкций чем его предок ИНТЕЛ4004. То есть при фактической разнице частоты всего в 30% на самом деле разница в скорости выполнения сложных инструкций в 1000 раз, а простых в 11 раз. Естественно, что цена такой высокой скорости и производительности 8 разрядного ИНТЕЛА8008 по сравнению с ИНТЕЛ4004 это 3500 транзисторов. Тем не менее, мы видим, что более сложная схема, всего в 1,5 раза более сложная, которая по частоте всего на 30% быстрее, на самом деле способна работать во много раз быстрее, чем упрощённая версия, потому что слишком простому процессору нужно совершить много операций там, где более сложному нужна всего одна операция. Это заметил не только я, потому что все следующие годы шла тенденция по усложнению разрядности процессоров.
Многие просто не понимают, как развивалась вся отрасль производства процессоров с 1971ого по 1995ый год. Потому что многие скажут что ИНТЕЛ8008 выпущенный в 1972ом году работал на частоте 1МГц, а в 1995ом году выпускали процессоры на 60-200МГц, такие как пентиум1, и разница всего в 60 раз. Но на самом деле процессор, выпущенный в 1995ом годы был 64 разрядным, и он мог в одно действие посчитать 15 значное число с плавающей запятой. А это значит, что при расчёте сложных операций, например тригонометрических функций для расчёта 3Д графики, процессор образца 1995ого года мог потратить всего один герц там, где процессору ИНТЕЛ8008 пришлось бы потратить 1000 герц, а это значит что фактическая разница в их производительности при расчёте любых сложных операций, таких как тригонометрические функции, ответ на вопрос чему равен синус 35,54 градусов пентиум1 мог выполнить в тысячи раз быстрее чем ИНТЕЛ8008 а вовсе не в 60 раз. И это не считая скорости работы КЭШа, системы стека, которые обеспечивают обмен данными между процессором и оперативной памятью, у первых процессоров все эти скорости были маленькими, а время отклика высоким. Надо сказать, что в 1995ом году был достигнут потолок разрядности, который завершился поколением 486.
ВАЖНО: официально вы можете прочитать что модернизация процессоров шла и дальше, и 486ой процессор вовсе не последний, сама градация поколений процессоров, конечно идёт и дальше. Но смысл в том что 486ое поколение было последним, потому что дальше не менялась архитектура процессора с точки зрения расположения переключателей отвечающих за принятие решений. На процессоры делались разные примочки отвечающие за количество потоков, скорость, охлаждение, количество ядер, но его архитектура с точки зрения механизма расчёта инструкции оставалась прежней.
Вы может прочитать что выпуск 486ых начался с 1989ого года, то есть это примерный срок когда началось производство 64разрядных 32битных процессоров и не только ИНТЕЛ80486 хотя архитектура называлась 486ой везде, вне зависимости ИНТЕЛ это был или нет. Но когда я называю срок 1995ый год, я имею ввиду, что это примерная дата, после которой было полностью прекращено производство процессоров более ранних версий. То есть 1994 или 1995ый год, это год полного прекращения производства 32разрядных ЦП компьютеров, поскольку они уже были просто никому не нужны, но это касается компьютеров, а не всего остального. Видеокарты, процессоры приставок, промышленные микрочипы всё это до сих пор может иметь любую разрядность.
Вы все наверное слышали понятие 486 компьютер, или 386 или 286. Эти поколения были у всех наслуху в 1980ые годы, но никому не интересны сегодня. Дело в том что абсолютно все и любые современные компьютеры относятся к поколению 486, и никаких других поколений не бывает, (с точки зрения архитектуры процессора) а сами операционные системы такие как виндоуз, линукс и тп., они все ещё с 1995ого года заточены только под 64 разрядные операции, и никаких других поколений нет. Потому что когда были 286 и 386 и 486 компьютеры и ряд других сборок процессоров с разными наборами возможностей, то это было большой проблемой несовместимости. При этом как я уже говорил ранее самый первый ИНТЕЛ4004 был 4х разрядным, потом методом усложнения процесса был быстро выпущен ИНТЕЛ8008 на 8 разрядов, и возможности сразу наладить выпуска полноценных 64разрядных процессоров с полным набором функций не было. Поэтому процесс наращивания разрядности и количества функций шёл постепенно и довольно долго, и сделать сразу финальный результат было нельзя. Потому что в те времена многие процессоры не умели выполнять все современные стандартные функции, не умели считать большие числа, не работали с тригонометрией, а также со многими другими функциями заложенными в код, и доходило даже до того что программа написанная на 386 компьютер в принципе не работала на 286ом и что хуже даже наоборот, программа написанная на старом компьютере либо не запускалась на новом, либо это делалось методом долгого мата и многократного упоминания чьей-то матери, или других тяжёлых страданий тех, кто запускал эту программу. Поэтому такого счастья сейчас больше никому не нужно, а в наши дни, компания, выпустившая несовместимый со всем остальным миром девайс, просто рискует что потребитель не поймёт необходимость своих страданий от несовместимости процессора с остальным миром, и не купит продукт. Поэтому сейчас, когда всё страшное позади, ни у кого уже нет желания выпускать нестандартный процессор с нестандартным набором команд. Поскольку после двух десятилетий пыток программистов и разработчиков процессоров была выпущена более менее итоговая универсальная архитектура, которая может выполнять все задачи и трогать это никто не хочет. И только в специфических расчётах и астрономии, иногда и очень редко суперкомпьютеры бывают 128 разрядными или 256 разрядными, но это используется крайне редко, потому что не практично. Ясен пень что 256 разрядный процессор будет очень большим, а практической необходимости считать 42значные числа с плавающей запятой в одно действие обычно нет. И если уж вдруг где-то пролетела команда посчитать один раз такое большое число, современный процессор всегда может выполнить её в несколько действий. В подавляющем большинстве случаев 64 разрядного процессора, который способен считать в одно действие числа в 15 знаков с плавающей запятой, более чем достаточно для любых задач программирования, которые могут встретиться. Что такое плавающая запятая и может ли компьютер работать с числом больше чем 999 триллионов? На самом деле система устроена так, что если число очень большое и компьютеру нужно не меняя формата данных работать с более крупным числом, то он просто округляет его на то количество знаков которое ему не хватает. То есть число может иметь любой размер, просто сохранится первые 15 знаков, остальное будет округлено, как правило сохранять больше 15 знаков не требуется просто никогда, поэтому и процессор больше 64 разрядов создавать смысла нет. Все современные процессоры имеют стандартизированную архитектуру идентичную 486 и никакой необходимости вводить дополнительные функции процессорам нет. Тем более что такой процессор будет несовместим с современными ОС, поэтому если уж кому-то надо рассчитать что-то экзотическое, он просто пишет программу расчёта через которую стандартный 64 разрядный процессор выполнит задачу в несколько действий. Но сама архитектура процессоров полностью неизменна, потому разрядность достигла своего потолка.
Поколение компьютеров 186, или 286 или 386, которые были до 486 они указывали тип процессора и доступные ему функции, пока процессоры усложнялись это было актуально. Предыдущие версии процессоров для ПК вполне могли быть 32 разрядными или 16 разрядными, и даже 8 разрядными, и имели разное количество доступных математических операций, больше операций, больше и сложнее процессор. В период с 1972ого по 1995ый год это было критично, в каком-нибудь 1985ом году вполне можно было встретить полноценный ПК работающий на 16 разрядном или 32 разрядном процессоре, когда скорость одинаковая а производительность совсем нет. 64 разрядные процессоры начали производить с конца 1980ых годов, а процессоры для ПК меньшей разрядности почти прекратили производство к середине 1990ых годов, потому что никому не нужен процессор, который работает в 10 раз медленнее при той же частоте.
Приставки имели более узкую специализацию и держались дольше. Вы все знаете с детства приставку Денди и то что она 8 бит, многие думали что это графика или оперативка. Нет 8 бит надпись на приставке денди это разрядность её процессора, она имела процессор 3,79МГц с разрядностью 8 разрядов, то есть денди могла работать с числами от 0 до 255 в одно действие, более крупные числа требовали несколько операций и резко снижали скорость работы, что и определяло максимальное разрешение экрана приставки в 255 пикселей в ширину.
Приставка сега мега драйв 2, ещё одна приставка вашего детства 16 бит, у неё был процессор на 7,5МГц имевший 16 разрядов, то есть в отличие от денди, приставка сега могла в одно действие считать целые числа от -32000 до +32000, что позволяло писать более сложный код для её игр. И хотя процессор по скорости был всего в два раза быстрее, все мы помним что сега была дороже а игры на ней были лучше. Потому что при программировании игр многие команды что на денди выполнялись в 10 операций, на сеге выполнялись в одну операцию, поэтому в ряде случаев процессор сеги обрабатывал в 20 раз больше информации чем на денди, что и определяло качество игр.
Однако на сеге и денди не было расчётных блоков на видеокарте, и вся графика на экране рисовалась процессором, который был довольно слабым. Поэтому никакой три де графики на приставках не было, на сеге только была псевдо три де из двумерных спрайтов, когда у пользователя создавалось ложное ощущение что он играет в трёхмерную игру, но на самом деле использовались лишь двумерные масштабируемые спрайты, которые приближались и удалялись от пользователя создавая ложное ощущение трёхмерного пространства, хотя на самом деле три де построения мира не было. Не было никаких полигонов или расчёта света и текстур. На такое процессор на 7,5 МГц был не способен, но для игр этого многим хватало, тем более тогда. Что касается процессора денди, то его с трудом хватало на отрисовку цветной двумерной картинки с разрешением 255х212 пикселей, но даже это было огромным шагом вперёд в индустрии компьютерных игр, учитывая что до денди вообще был полный шлак типа 60х45 чернобелых точек, аля всем известный тетрис или электроника.
Революцию в индустрии игр совершила приставка sony playstation 1, она изначально создавалась как приставка для достаточно богатых людей, это была дорогая приставка, поступившая на рынок в 1995ом году. На тот момент по-настоящему трёхмерных игр в мире ещё не было, и все игры вышедшие до этого под ПК имели в кадре либо 25 полигонов при 10фпс, либо вовсе псевдо три де построенную из двумерных спрайтов, такая как игра Вулфенштейн 3Д, либо в кадре совмещались 2Д спрайты и было отрисовано несколько полигонов, что создавало ощущение как будто игра как бы три де, хотя она была не три де. Одноядерный процессор компьютеров тех лет на 60МГц или 133МГц просто не тянул и не мог тянуть трёхмерные построения. Некоторые же игры вышедшие в начале 1990ых годов имевшие три де графику имели супер примитивную картинку с самым минимально возможным количеством полигонов и разрешение 80х60точек. То есть это вообще даже 3Д игрой было назвать сложно.
Приставка плейстейшн впервые применила расчётные блоки на игровой видеокарте. Что на тот момент было редкостью и практически недоступно обывателю. Приставка имела 64 разрядный процессор, да именно поэтому на ней было написано 64 бит, это не количество цветов и не что-то ещё, это значит, что процессор сони был 64 разрядным на 33МГц, процессор очень неплохой даже для ПК тех лет, что касается приставок тех лет, их традиционно делали намного более дешёвыми, чем компьютеры, полагая, что игровая приставка должна быть намного дешевле компьютера иначе её никто не купит. И приставки тех лет сега или супер нинтендо, как правило имели дешёвые 16 разрядные процессоры, а решение поставить на приставку 64 разрядный процессор такой же мощности и стоимости как у персонального компьютера было весьма смелым. Сони плейстейшн была первой в мире игровой приставкой, которую создавали с целью превзойти компьютер и компьютерные игры в принципе, а это было очень смелым решением. Сони создавалась из расчёта, чтобы быть на уровне лучших игровых компьютеров тех лет или превзойти их, в играх конечно, и при этом стоить немного дешевле дешёвого нового компьютера. Хотя стратегия выпуска всех других игровых приставок предполагала, что приставка должна стоить намного дешевле компьютера. Хотя были ПК с процессорами и помощнее, уже тогда стали появляться процессоры на 133МГц и более. Но у сони в 1995ом году была видеокарта с суммарной производительностью 1 гигагерц, то есть имелось около 25 ядер по 40МГц каждое, и эти ядра были 32 разрядными.
То есть у сони отдельно был процессор и отдельно видеокарта, причём процессор кидал на видеокарту только общие команды, а видеокарта сама рисовала всё без участия процессора. При этом если мощность процессора была всего 33МГц, что было нормой в те времена или даже мало, потому что дорогие топовые процессоры на ПК уже жали 200МГц. То 25 расчётных ядер были примерно в 30 раз мощнее процессора при расчете графики. А чтобы такое огромное количество ядер не было слишком дорогим, и не потребляло много энергии, они все были жёстко порезаны под выполнение только графических задач, меньшим количеством переключателей. В итоге все 25 ядер потребляли энергии примерно столько же сколько и ЦП. Зато эти порезанные ядра позволяли рассчитывать графику, на которую обычный процессор тех лет был не способен. Таким образом, на плейстейшн 1 впервые в те года была создана полноценна три де графика, с полигонами, она могла считать 180тысяч полноценных сложнотекстурированных полигонов в секунду, что для 1995ого года было просто очень много, (то есть при 30ФПС это 6000 полигонов в кадре) освещением и всё как полагается с разрешением 320х240, и это обеспечило супер популярность приставки. В то время как другие игры и разработчики ковырялись с какими-то псевдографиками и спрайтами, плейстейшн уже рисовала три де графику с очень большим по тем временам количеством полигонов. Потому что уже в 1995ом году создатели приставки отделили функцию процессора от рисования графики на экране, теперь видеокарта рисовала графику сама, опираясь на множество вычислительных ядер, которые работали как 25 ядерный процессор. И хотя функции ядер были сильно порезаны, и ядра облегчены, им для рисования графики полный набор всех функций процессора и не требовался. Таким образом, была создана первая игровая видеокарта большой мощности, в которой расчёт графики был отдан видеокарте, а не процессору, а сама мощность видеокарты при выполнении графических задач во много раз превышала процессор, чего раньше не было. До этого во всех играх графику рисовал процессор, и ясно, что одноядерный процессор мощностью 30-200МГц максимум никак не мог нарисовать ничего сложного и не мог рассчитать хорошую три де графику. Мощность видеокарты плэйстейшн была во много раз больше чем у процессора, за счёт узкой специализации большого количества упрощённых ядер. Эта архитектура и этот принцип используется и до сих пор, он определил колоссальный коммерческий успех первой сони. Уже после выхода Sony Playstation1 спустя год в 1996ом году для ПК были выпущены аналогичные видеокарты с расчётными блоками. Самая первая в мире три де видеокарта для ПК Voodo 3D была выпущена в 1996ом году (на год позже Сони) и она имела несколько расчётных блоков, которые сильно увеличивали возможности компьютера по рисованию три де графики, так как теперь графику рисовал не процессор, а видеокарта, которая также имела гораздо большую мощность, чем процессор. Практически сразу вслед за Вуду было выпущено устройство 3DFx это название видеокарты, которая также набирала популярность с 1996ого года и она имела дополнительные вычислительные ядра небольшой мощности, что на безрыбье значительно увеличивало возможности создания три де графики в играх. (стоит заметить что стоимость первых три де видеокарт часто была очень велика и сопоставима со всей приставкой сони, при этом они были слабее) К тому же многие игры в начале выпущенные на плэйстейшн адаптировали на компьютеры и наоборот. Стоит добавить, что на тот момент рынок видеокарт в мире был достаточно велик, однако до Вуду 3Д и плэйстейшн, все видеокарты были просто сложным адаптором изображения от процессора к монитору. То есть у них не было расчётных блоков просто никаких, видеокарта не считала изображение, в ней не было расчётных ядер, ни одного. Поэтому вся графика рисовалась центральным процессором компьютера, и это очень ограничивало разрешение и количество цветов на экране даже для 2Д игр, что уж говорить про трёхмерную графику, которая требует гораздо больше системных ресурсов. Появление расчётных блоков на видеокартах позволило не только создавать полноценные три де игры, но и резко увеличило разрешение и цветность 2Д изображения на мониторе. Если при процессоре разрешение и цветность были убожескими, типа 640х480 при 256 цветов уже считалось круто, то видеокарта у которой имеются расчётные блоки могла запросто вытянуть любое 2Д разрешение и цветность в пределах возможностей монитора, а мониторы, кстати, тогда были мощнее возможностей компьютера, поскольку они имели электронно-лучевую трубку как телевизор и могли поддерживать высокое разрешение и цветность, так что всё упиралось в компьютер, а не в монитор. (первые видеокарты с расчётными блоками первое время назывались видеокартами с 3Д ускорителем, сегодня все видеокарты имеют расчётные блоки, поэтому никто их больше так не называет, но производство видеокарт без расчётных блоков продолжалось ещё несколько лет после 1995ого года) Не все разработчики видеокарт сразу осознали глубину и перспективность переноса расчётных функций графики на видеокарту. Но тогда ещё никто не знал, чем всё кончится сегодня. Поэтому многие разработчики видеокарт, например S3Trio3D, которая выпускалась как около топовая видеокарта на момент разработки с 8Мб видеопамяти что для неё было много, прилепили на видеокарту всего один расчётный блок на 50МГц, то есть всего одно ядро на 50МГц полагая что итак не плохо, видеокарта пошла в серию, но из-за слишком слабого расчётного блока не снискала славы у любителей игр, в итоге, превратившись в дешёвый бюджетный вариант, поскольку даже тогда одно ядро на 50МГц было слишком мало для любой новой 3Д игры тех лет, и это было мало даже для 2Д игр. Многие геймерские видеокарты первые года два с 1996 по 1998ой год имели что-то в районе 4 ядер по 100МГц, что было намного меньше, чем у сони плейстейшн, и хотя такая видеокарта была намного мощнее, чем видеокарта у которой расчётных блоков не было вообще, она всё равно не работала в играх так как хотелось бы. То есть понадобилось минимум 2-3 года, чтобы многие разработчики и изготовители процессоров и видеокарт вообще пришли к пониманию, что на видеокарте должен быть не просто одно ядро на 50МГц абсолютный минимум, и даже не 4 ядра по 100МГц, а расчётная мощность видеокарты может быть и должна быть намного больше, чтобы рисовать нормальную 3Д графику с высоким разрешением, и выполнять огромное количество вычислений. То есть индустрия игр и даже разработчиков проявила некоторую инерцию, я конечно понимаю что сама конструкторская работа чтобы посадить новое ядро на новое устройство требует времени. Тем не менее, многие сразу недооценили возможности видеокарт на которых сидит много расчётных ядер. Потому что даже на достаточно дорогие видеокарты ставили минимальное количество расчётных блоков, или как минимум недостаточное. И зная мощность видеокарты сони плейстейшн, которая была выпущена в серийное производство в 1995ом году, в принципе можно было догадаться, что на видеокарту лучше поставить больше ядер, и зная сколько ядер было на ПС1 я думаю техническая возможность поставить больше ядер была, просто никто не догадался это сделать, никто не смог правильно оценить рынок. Сами люди владевшие компаниями выпускавшими видеокарты и процессоры не смогли понять верное направление развития, даже несмотря на то что к тому моменту сони плейстейшн существовала уже несколько лет, и оценить её опыт было бы не сложно, достаточно было бы просто поиграть в саму приставку, потом развинтить её и изучить устройство, хотя бы на предмет того что вообще у неё под капотом. Тем более что плэйстейшн выпускалась массово и огромными партиями, и получала огромную прибыль, и изучить опыт лидера рынка продаж игр во всём мире, наверное, стоило бы, и сделать верные выводы о том, как делать игры и железо к ним. Тем не менее, первые несколько лет во всём мире выпускались достаточно убожеские видеокарты очень маленькой мощности, и не потому что сделать их мощнее невозможно, производители уделяли внимание другим привычным им более традиционным направлениям разработки видеокарт, никто не хотел принимать новое, а расчётные блоки ставились на видеокарты не хотя и по минимуму. И только года с 1998 началась гонка, когда на видеокарты стали ставить много расчётных блоков, а графика в играх стала резко улучшаться. А все эти годы плэйстейшн собирала сливки, являясь одной из самых лучших приставок в мире, даже не одной из самых лучших, а самой лучшей, её игры были яркими и красочными с хорошей три де графикой и большим количеством полигонов и сложным освещением. В то время как производители игровых видеокарт тех лет, вместо того чтобы сразу бахнуть на видеокарту 100 расчётных ядер по 100МГц и выпустить лучшую в мире геймерскую видеокарту, часто ставили один минимальный блок на 50МГц или 4 блока по 100МГц что всё равно мало, и долго смотрели что получится дальше. То есть не особо понимали перспектив развития собственного продукта, хотя даже на примере плэйстейшн выпущенной в 1995ом году, уже сразу можно было понять, что ядер на видеокарте должно быть много, чтобы рисовать нормальную графику, а одно ядро на 50МГц это уже заведомо устаревшее решение. В туже S3Trio3D были вложены большие средства, компания на тот момент теряла рынок, выпустила хорошую дорогую видеокарту с целью завоевания рынка, не экономя на её комплектующих, стоит ли упоминать, что видеокарта имела 8 мегабайт видео памяти, в то время как на сони была видео память 512кб на Вуду 4Мб, а на 3Дфикс 4 мегабайта. То есть компания поставила на видеокарту 8Мб видеопамяти, что само по себе было очень дорогим решением тех лет, с прицелом на то чтобы видеокарта стала топовой. И компания вполне могла бы поставить хотя бы 8 расчётных блоков по 50МГц вместо одного, и это было бы решение совсем другого уровня, потому что одно дело 50МГц для расчёта графики другое дело хотя бы 400МГц с точки зрения конкуренции с другими производителями геймерских видеокарт тех лет. И как бы вбухав много денег в видеопамять и комплектующие карты, сделать её полным расчётным импотентом с одним ядром на 50МГц? И это притом что компания продвигала видеокарту на рынке как новейшую ГЕЙМЕРСКУЮ видеокарту с 3Д ускорителем? С всего одним ядром на 50МГц, реально? Потратив столько денег на продвижение и разработку проекта, компания которая в тот момент поставила на эту видеокарту всё, наверное могла бы проанализировать тенденции рынка и сделать действительно игровую видеокарту, тем более что к тому моменту сони снимала сливки с игрового рынка уже 2 года, и появились Вуду и три де фикс, и можно было навести справки о том какая мощность у их проектов. В итоге была выпущена довольно дорогая видеокарта с 8 Мб видеопамяти, и вся эта видеопамять была бесполезна, потому что без расчётных блоков такая геймерская видеокарта уже тогда никому не была нужна. А всего один блок на 50МГц, это было слишком мало по сравнению с другими производителями, которые тоже не рискнули ставить на свой продукт много расчётных ядер и очень зря, но поставили хотя бы от 4 до 16 ядер, а не одно ядро.
Все современные видеокарты имеют множество узкоспециализированных облегчённых ядер, в самых мощных видеокартах этих ядер тысячи и может быть несколько типов ядер сразу, каждый тип под свою задачу. Это позволяет видеокарте иметь мощность во много раз больше, чем мощность процессора, однако ядра видеокарты неполноценные, они облегчены. И хотя процессор не может выполнить такое количество операций как видеокарты, на самом деле при сложных задачах процессор мощнее.
Современная топовая игровая видеокарта может иметь 10-20 тысяч ядер, каждое ядро 32 разрядное с порезанными функциями и работает на частоте 2000МГц, что в сумме даёт 20000ГигаГерц, в то время как 8 ядерный процессор, имея 8 ядер по 4 ГГц имеет скорость всего 32ГГц, то есть на компьютере есть процессор на 32ГГц и видеокарта на 20000ГГц. При этом процессор и видеокарта стоят примерно одинаково и потребляют примерно одинаковое количество энергии, ну пусть видеокарта потребляет в 2 раза больше энергии. Вопрос, зачем тогда процессор, если он такой слабый? На самом деле у современного процессора все ядра поддерживают абсолютно все функции в 64 разрядном режиме, а значит процессор может выполнять многие инструкции в одно действие. В то время как видеокарта имеет 10тысяч ущербных ядер под узкоспециализированные задачи, и если нагрузить супер мощную видеокарту сложными функциями, то она по факту будет работать даже медленнее чем процессор. Просто такие сложные задачи в видеокарту никогда не залетают, все сложные математические задачи всегда решает только процессор, а видеокарта рисует графику. Специальные порты, такие как OPENGL или DIRECTX через которые осуществляется управление графикой на видеокарте, созданы специально для того, чтобы на видеокарту можно было посылать только узкоспециализированные упрощённые задачи, которые она умеет решать и ничто другое. Эти порты ограничивают само количество команд и тип задач, которое можно послать на видеокарту, для того чтобы программист не повесил видеокарте задачу считать сложную и невыполнимую для неё задачу. Даже если супер мощная видеокарта в принципе способна выполнить неподходящую для себя задачу, она будет это делать даже медленнее чем процессор, несмотря на то, что видеокарта имеет мощность 20000ГГц, а процессор всего 32ГГц, потому что процессор будет всё считать в одно действие. А видеокарта будет долго тупить и тратить на многие операции по 5 или 10 тысяч действий, там где процессор справится за одно. Поэтому никто и не убирает процессор из компьютера, даже если многие думают, что процессор по сравнению с видеокартой очень слаб, на самом деле процессор не слаб, а как раз силён. Видеокарта создана, чтобы выполнять очень большое количество специально упрощённых задач, и это хорошее решение если единственная задача просто рисовать, а процессор выполняет максимально эффективно всё подряд. Поэтому каждое ядро процессора такое большое и тяжёлое и энерго неэффективное по сравнению с одним ядром видеокарты. Просто ядро видеокарты может выполнить лишь небольшое количество простых задач, а всё остальное оно делать не умеет, а процессор умеет делать всё и одинаково эффективно. Поэтому разделение задач видеокарты и процессора с точки зрения игр и графики необходимо. Видеокарта позволяет нам играть в супер крутые игры с три де графикой, расчёт такой сложной три де графики требует очень большого количества узкоспециализированных операций, если повесить это на процессор, он не справится, его скорости не хватит. Но для того чтобы делать много простой работы, супер профессионал не нужен, для этого хватит и урезанного ядра видеокарты, которое мало что умеет, но зато маленькое, лёгкое и потребляет мало электричества. В топовой видеокарте ядер 10тыс или 20тыс, они вместе потребляют в 2 раза больше энергии, чем топовый 8 ядерный процессор. Ясно, что каждое ядро процессора потребляет энергии в 300-500 раз больше чем одно ядро видеокарты. Но при выполнении простой задачи не важно кто её решает процессор или видеокарта, и её можно поручить простому ядру видеокарты. Но это не значит что процессор в принципе слабее видеокарты, процессор умеет делать всё и максимально производительно, а ядра видеокарты созданы под узкий круг задач и не могут выполнять функции процессора также эффективно как процессор, особенно если нагрузить их сложными задачами. Что касается майнинга криптовалюты, ИИ и многих других задач, которые сегодня решают через видеокарты, то там тоже пишут специальный код, который комфортен для видеокарты, в отличие от процессора там надо работать с оглядкой и кидать видеокарте всё подряд нельзя. Программисты, работающие с видеокартой напрямую, обычно понимают, что можно ей кидать, а что не стоит. Также следует понимать, что у видеокарты тоже есть свой ЦП, умеющий решать все виды задач, обычно в нём 2 или 4 ядра, и они слабее нормального процессора, и существуют они как раз на тот случай, если видеокарте придётся решать сложную задачу. Но большая часть потока информации видеокарты рассчитана на её облегчённые ядра, которых большинство, а все сложные задачи лучше поручить центральному процессору компьютера, а не видеокарте.
И ещё, сейчас найдётся безмозглый слабоумный неграмотный дилетант, который ткнёт меня носом в то, что у него в 2010ом году была виндоуз 7, которая работала на двухядерном 32битном процессоре, выпущенном в 2006ом году. И он скажет, что я полное фуфло которое не разбирается в вопросе. Или как-то так.
Так вот 32х битный процессор может быть 64разрядным, потому что количество бит процессора и разрядность это совершенно разные вещи, и если вы этого не поняли, то вы просто зря потратили время, читая всё, что я написал. У меня был товарищ по имени Влад Макарцов, который мнил себя великим специалистом в процессорах, я объяснял это ему примерно 5 раз, но он так и не понял, хотя он мнил себя великим специалистом в этой области, ничего не буду говорить про его уровень интеллекта, а то сильно обидится. Разрядность это способность процессора решать задачу определённой сложности, 64 разрядный процессор работает с 15 значными числами в одно действие, а 32 разрядный процессор с 7 значными числами в одно действие.
А вот 32 битный двухядерный процессор, изготовленный в 2006ом году, это способность процессора видеть оперативную память, а точнее количество кластеров оперативной памяти. А это совсем не тоже самое, что умение решать задачу.
Процессор может быть 64 разрядным и 32 битными, и это вполне нормально. Хотя да современные процессоры сейчас стали 64 битные.
Условно принято считать, что 32 битный процессор видит 8 гигабайт оперативной памяти, а 64 битный процессор видит 192 гигабайт оперативной памяти. Количество бит процессора в данном случае это величина его регистра, позволяющая работать с конечным количеством кластеров оперативной памяти. Причём очень важно, что не с объёмом оперативной памяти, а именно с количеством кластеров. Потому что размер кластера оперативной памяти может быть любым и его в большинстве случаев даже можно при желании настроить. То есть 32 битный процессор вполне может видеть и 256 гигабайт оперативной памяти, если сильно увеличить размер кластера, просто это не практично, потому что слишком большим кластеры это тоже плохо. Во-первых, в один кластер помещается только один файл и не более. Файл может быть разделён на несколько кластеров, если файл большой и это нормально, но в одном кластере может быть не больше одного файла. Отсюда вывод, если кластеры большие, и по ним распихать много мелких файлов, то большая часть кластера будет пустой, а это значит что память будет использоваться неэффективно и кроме того такая система будет работать медленнее, и весь процессор будет работать медленнее, поэтому размер кластера должен быть оптимальным и делать его слишком большим не стоит. Поэтому существует некоторый оптимальный размер кластера для 32битных процессоров, и увеличение кластера в два раза действительно может увеличить объём видимой оперативной памяти до 16 гигабайт, но лучше от этого компьютер работать не будет, а сами файлы того же размера будут занимать в оперативной памяти намного больше места. Тем не менее, 32 бита это количество кластеров которые видит процессор, а не объём оперативной памяти, как считают многие.
Возникает вопрос, а почему бы не сделать все процессоры сразу 64 битными или даже сразу 512 битными, чтобы памяти хватило просто раз и навсегда и можно было бы сделать самые маленькие и эффективные кластеры и лимит оперативной памяти не кончался бы никогда и память бы использовалась абсолютно эффективно?
Ответ, слишком большое количество кластеров делать нельзя это замедлит работу процессора, при прочих равных условиях 32 битный процессор работает быстрее чем 64 битный, и причём ощутимо быстрее. Потому что поиск информации в более крупном регистре занимает больше времени, а это супер маленькая задержка при работе процессора длительностью в наносекунды, или доли наносекунд, каждый раз, когда процессор загружает любые данные из оперативной памяти, и это дополнительная задержка на подключение к каждому и любому кластеру. То есть, говоря простым языком, чем больше кластеров, тем дольше процессор ищет нужный ему кластер, и это замедляет его работу, поэтому, чем меньше битность процессора, тем лучше. Поэтому в 1980ые годы все процессоры были 4, 8 и 16 битными, потом их по мере необходимости повысили до 32 бит, сейчас повысили до 64 бит, потому что объёмы оперативной памяти и количество файлов в коде растут, но повышать сразу до 128бит ещё в 1980ом году никто не стал, хотя это убило бы много проблем, просто потому что процессор к которому прикрутили 128битное устройство работал бы намного медленнее, чем тот же самый процессор с 16 битным выходом на оперативную память. И да это значит что по мере роста объёмов оперативной памяти производительность поиска данных снижается, поэтому никто не торопится делать 128 битные процессоры, до тех пор пока не будет острой необходимости и мы не будем вставлять в компьютер больше 192гигабайт памяти.
Так вот, процессор может быть 64 разрядным и 32 битным, и это норма. 64 разрядный процессор значит что он может работать с числами на 15 знаков в одно действие, это показатель сложности задач которые он может решать в одно действие. А 32 бита значит что процессор может видеть определённое конечное количество кластеров оперативной памяти, в нашем случае 8гигабайт, причём типичный 32битный процессор видит 4гигабайта оперативной памяти и 4гигабайта виртуальной файловой системы. То есть процессор разделяет все данные по востребованности, и часть суёт на оперативную память, а часть на жёсткий диск, поэтому 32битный процессор видит всего 8гигабайт памяти, и половину кидает на оперативную память, половину на виртуальную систему. Существует ошибочное заблуждение, согласно которому многие думают, что такой процессор видит лишь 4 гигабайта, нет, он может видеть 8 гигабайт, это можно настроить в виндоуз, правда изменение этого баланса может привести к сбоям в работе системы. Но можно выделить под виртуальную память 2 гигабайта, и заставить 32битный процессор видеть 6 гигабайт оперативной памяти, это при желании можно сделать даже в windows7 home basic то есть все операционные системы включая виндоус 7 и даже ХР и десятка тоже, умеют выбирать этот баланс между оперативной и виртуальной памятью. Но обычно по умолчанию это настроено половина на половину, на уровне заводских настроек ОС. Просто допустим у вас ситуация что вы хотите поиграть в игру и вам не хватает оперативной памяти, всё тормозит и надо бы хотя бы 6 гигабайт, а у вас 32битная виндоуз, но в комп вставлено 8 гигабайт ОЗУ просто комп их не видит, в настройках винды вполне можно разрешить винде использовать 6 гигабайт, уменьшив объём виртуальной памяти до 2Гб, и в принципе будет нормально работать, если не уменьшать виртуалку дальше. Просто рекомендуется соотношение 4+4, но если надо можно сделать и 6+2, 32битный процессор видит 8 гигабайт. Также можно увеличить размер кластера, это снизит скорость системы и эффективность использования кластера, но если очень хочется можно на 32битной системе сделать 12+4, то есть система будет видеть и использовать 12 гигабайт оперативной памяти, просто кластер будет размером в два раза больше нормы, и это не совсем хорошо. Это кстати не приведёт ни к сбоям ни к зависаниям, не будет никаких ошибок, просто в ряде случаев процессор будет временно работать на 25% а иногда и на 40% медленнее, а каждый маленький файл будет использовать ощутимо больше оперативной памяти. Но если у вас дико тормозит игрушка из-за нехватки оперативной памяти, а поиграть очень хочется, и процессор в игре не слишком нужен, то это вполне себе разумное решение. Это даже не какие-то запрещённые функции, их можно настроить, просто есть рекомендованные заводские настройки виндоуз в которые никто особо не вникает, а на всех форумах твердят, что винда видит только 4Гб. На самом деле 4Гб это просто практический жизненный опыт большого количества людей, которые плохо разбираются в тонкостях вопроса и не умеют лезть в настройки компа.
Следует помнить, что на жёстком диске тоже есть система кластеров, и она работает ровно точно также как и оперативная память, размер кластера можно задать при полном форматировании. Уменьшение кластера приводит к экономии места, особенно при хранении мелких файлов, потому что в каждый кластер влазит не более одного файла, и не важно какой у файла размер. В более мелких кластерах файлы распределяются по кластерной системе в среднем более равномерно и тратится меньше места, но для стандартных размеров кластеров разница не очень большая. Это будет критично только если самому всерьёз играться с размером кластера и выставить его жёстко не хорошо. Если сделать кластеры больших размеров, размер регистра заглавия диска уменьшится и сам поиск кластера будет осуществляться быстрее, однако из-за роста размера кластера будет дольше обрабатываться пустая область у маленьких файлов, так что не факт что скорость работы вырастит, однако более крупные файлы будут грузиться чуть быстрее, а более мелкие наоборот медленнее. Так что будет ли система в целом работать быстрее спорный вопрос, в данном случае лучше пользоваться стандартным размером, выставленным системой по умолчанию. Скорее всего, играясь с размером кластера вы только замедлите систему, поскольку размер кластера изначально по умолчанию выбран оптимальный, а уход от оптимального размера возможен, но сделает всё только хуже.
В общем, это всё что я вам хотел поведать про компьютеры и процессоры. Надеюсь, было интересно.
↓ Содержание ↓
↑ Свернуть ↑
|