Материнская плата — нервная система компьютера. Из чего она состоит?
В этой статье я расскажу про функциональное деление различных зон платы и что с чем связано, то есть что проводит обмены между собой напрямую, а что через различных посредников.
Ну и для интереса будет приведена аналогия с нервной системой человека, так как по своей сути есть очень схожие черты по распределению задач.
Для чего нужна материнская плата?
Ну и начнём с самого понятного, что в общем-то и так всем известно.
Назначение материнской платы — это обеспечить как можно больше возможностей по соединению различных компонентов компьютера друг с другом.
То есть разные производители договариваются о стандартах обменов данных и питании, о реализации физической связи, и производители материнских плат эти разъёмы и питание помещают на платы. Соответственно одни компании делают устройства для компьютеров, а другие — делают возможным их подключение и работу. Собственно подключение и работу и должны обеспечить материнские платы.
Нервная система человека, и чем она похоже на компьютеры?
Теперь же предлагаю рассмотреть нервную систему человека. Но всё же предупреждаю, что я не медик и в целом — рассказ будет такой, чтобы проще было провести параллели.
К центральной нервной системе относятся все штуки, которые внутри черепной коробки, а также спинной мозг, а к периферической — всё остальное.
То есть нервные окончания, которые отвечают за сенсорные восприятия и мышечные активации, а также передачу сигналов от и к спинному мозгу. Собственно тут уже по названиям есть совпадения с компьютерами, потому что вместо периферической нервной системы у нас будет так называемая периферия, то есть клавомыши, принтеры и прочие компьютерные штуки.
И есть определенные функциональные особенности различных зон.
Функциональное деление нервной системы человека
Начнём с того, что внутри черепушки. Ну во первых — та часть который мы думаем — это большая часть коры полушарий головного мозга.
Тут с компьютерами провести параллель сложно поскольку в компьютерах вычисления и хранения данных производятся раздельно, тогда как в голове — связывание данных формирует и память и сам процесс мышления, то есть за это отвечают не нейроны, а совокупности каскадов их взаимных связей и все вычисления происходят внутри памяти. Сейчас есть опытные архитектуры вычислителей, в которых вычисления происходят поверх хранилища памяти. Называются такие штуки в некоторых местах PIM (Processor-in-memory) , а иногда такое называют C-RAM (computational RAM).
Это потенциально очень интересная технология, она позволяет отказаться от сложной шины данных, и больших задержек на обращение к памяти, длинных конвейеров обработки данных, но пока что по большей части это научные эксперименты. А вот в мозге это так уже работает в коре. Кроме коры головного мозга в нём есть и системы обеспечения функционирования.
Например гипоталамус, который отвечает за функции поддержания работы всего организма, он отвечает за ряд чувств и регулирует работы тех органов, что ответственны за поддержание гомеостаза.
И всё это великолепие должно управлять внешними устройствами, такими как мышцы и внутренние органы, а также принимать сигналы от внешних устройств, например сенсорных клеток под кожей.
Делается это не непосредственно, а через дополнительный блок, отвечающий за подключение всех внешних устройств. Все вычислительные, сенсорные и передающие части внешних устройств нервной системы называются соматической нервной системой. Она глобально разделена на две категории.
Внутри головы расположены всякие внешние контроллеры и устройства требующие слишком широкую шину данных к основным блокам мозга и поэтому расположены ближе к вычислительным центрам. Это черепные нервы соматической нервной системы. Например глаза и вся обвязка, обеспечивающая работу глаз, также обоняние, слух и т.д. Эти блоки было бы тянуть к центральной нервной системе очень сложно, поэтому в ходе эволюции более выйгрешной стратегией оказалось размещение их непосредственно в общем объеме с вычислительными зонами. Остальные же устройства соматической нервной системы расположены вдали от головы, и подключаются через специальный блок контроллеров, задача которого передача сигналов от этих внешних устройств и передача сигналов к этим внешним устройствам. И блок этих контроллеров называется спинным мозгом.
Он отвечает за интерпретацию некоторых сигналов и передачи их в мозг, а также через него приводятся сигналы и в мышцы.
Поэтому при повреждениях нервных волокон вблизи спинного мозга могут отваливаться те или иные устройства организма. Допустим при межпозвонковой грыже отнимаются стопы или ноги целиком, или при пережиманиях в шейных отделах позвоночника может пропасть сенсорная функция у пальцев рук, то есть происходит онемение части конечностей.
Всего у спинного мозга человека 31 пара линий связи к внешним устройствам.
Спинной мозг при этом подключается к вычислительной части тоже не непосредственно, а через варолиев мост, то есть шину данных между головной частью центральной нервной системы и спинным мозгом.
Подытожив всё сказанное коротко ещё раз пройдёмся по схеме.
У нас есть вычислитель совмещённый с подсистемой данных, блоки отвечающие за коммутацию с внешними датчиками внутри головы, блоки отвечающие за функциональное обеспечение работоспособности, блок отвечающий за работы в внешними устройствами и данными, а также шины отвечающие за соединение этих блоков друг с другом.
В общем-то этот рассказ в таком виде был сделан в первую очередь для тех, кто и так уже знает, из чего состоит материнская плата, чтобы было не так скучно смотреть про то, что и так уже известно и эти люди уже по описаниям функциональных блоков нервной системы скорее всего поняли где тут процессорные PCI-e, где чипсет, где чип Super I/O и т.д.
Где все эти части в компьютерах?
Ну и на удивление — с развитием технологий функциональные зоны в компьютерах всё точнее и точнее начинают повторять функциональные зоны нервной системы.
Но в сравнении с нервной системой человека — отличия у компьютеров тоже есть.
Как я уже ранее сказал — у нас в голове нет разделения между памятью и вычислениями. Такой подход крайне эффективен, но архитектурно очень сложен.
Тем не менее современные технологии стремятся как можно сильнее и лучше соединить центральный процессор и оперативную память. Раньше на материнских платах была такая вещь, которая называлась северным мостом.
Это такой контроллер, который находился между центральным процессором и слотами оперативной памяти.
При работе с ним — данные шли вначале в этот контроллер, а уже только из него в процессор и обе шины связывающие три элемента должны были быть очень широкими, то есть обеспечивать большую пропускную способности. Но со временем — создаваемые задержки и сложности организации шин вынудили интегрировать северный мост внутрь процессора.
То есть у нас, как в мозге, пока что работа идёт не внутри массива данных, но необходимость интеграции данных с процессором является одной из первостепенных. На материнских платах раньше северный мост был распаян, то есть чип был не съёмным, а процессор как и сейчас как правило можно было поменять. Место под монтаж процессора называется сокетом. То есть сокет — это непосредственно разъём и его спецификации: распиновка и размеры и конструктивное исполнение. Ну и в сокет вставляется процессор, который производит вычисления.
Данные для работы процессора при этом хранится в оперативной памяти. Оперативная память вставляется в специальные слоты на материнской плате.
И между этим слотами можно увидеть очень много дорожек к контроллеру памяти процессора, собственно — это и есть шина, которая их друг с другом соединяет (на фото выше — дорожки нарисованы белой масокй, на деле увидеть их можно, они гораздо тоньше и их гораздо больше).
В головном мозге, как я и говорил — это всё единая система.
А вот внешние устройства внешние и для вычислителя мозга и для процессора с памятью. Их надо как-то подключать. Собственно как и с нервной системой — есть важные и сложные внешние устройства, которые сложно было бы вести через посредников и они подключатся к процессору.
А есть менее важные, которые можно подключать через посредников.
Спинной мозг компьютера — это южный мост.
Так как сейчас фактически серверного нет, так как он встроен в процессор, то южный мост называют чипсетом.
В нервной системе для подключения спинного мозга есть варолиев мост. Его аналог в компьютерах у Intel — это шина DMI. В современных Intel процессорах она является по скорости аналогом 4-х линий PCI-e третий версии. Вероятно в 12-м поколении она будет аналогом 4-х линий PCI-e пятой версии.
AMD как-то по особенному эту шину не называет, а просто говорит, что это 4 линии PCI-e.
В общем — как не называй суть одна — всё что лишнее в головном мозге нужно из него выкинуть куда-то ещё. Чипсет собирает большую часть этих излишков. И так же как и со спинным мозгом у чипсета много линий для соединения с внешними устройствами. Называются они High Speed i/o или если по русски “быстрая скорость ввод вывод”. Допустим у чипсета Intel Z590 таких линий 30 штук. 6 из которых строго зарезервированы под определенные функции, а 24 могут использоваться для любых внешних устройств. Ну и в разрезе компьютеров надо всё таки пояснить вообще зачем нужен чипсет и почему бы это всё не встроить в процессор.
Почему на один и тот же процессор существуют разные чипсеты?
Допустим надо к процессору подключить устройство через USB 3.1.
Чтобы это сделать надо чтобы процессор умел понимать протокол данных, который использует USB 3.1. Или надо, например, подключить sata накопитель. Для этого надо научить процессор понимать протокол sata.
Нужно ли это всем? Ну с этими двумя примерами может быть и нужно всем, а вот весь спектр возможных устройств и поддержка их большого количества всем ну нужна.
Собственно поэтому это всё выкинули в отдельный блок чипсета, который приводит все передаваемые к процессору данные в единый протокол. Есть чипсеты, которые поддерживают больше устройств, есть чипсеты, которые поддерживают меньше устройств. Ну и большая часть портов на материнской плате для подключения к устройствам ведут не в процессор, а в чипсет.
А уже чипсет всё что нужно процессору в текущий момент предоставляет процессору. Это позволяет делать материнские платы разных ценовых категорий и с разными возможностями. Грубо говоря — мы можем менять спинной мозг, который отвечает за состав внешних устройств. Допустим если бы нам надо было бы 11 рук и 6 ног по 13 пальцев на каждой конечности, то нам надо было бы иметь другой спинной мозг, который обеспечивал бы эксплуатацию этих конечностей. Медицина пока не позволяет делает подобные метаморфозы с человеком, но в компьютерах если надо что-то экзотическое — присутствует такая штука как чипсет, который разрабатывается под разные потребности. Может быть больше портов и это будет дороже, или меньше портов и это будет дешевле. Кроме того чипсет — это не просто своего рода хаб для подключения внешних устройств. В состав чипсета входят самые распространённые контроллеры. То есть SATA диску не надо уметь переводить данные в протоколы понятные процессору. Этим занимается чипсет. Но чипсет тоже умеет далеко не всё. Вдобавок технологии быстро меняются и чипсет просто мог быть создан уже устаревшим. Например для процессоров на сокете LGA 775, которые выходили с 2004 до 2009 годы никогда не было поддержки USB 3.0 силами чипсета.
Но материнские платы с USB 3.0 в итоге, после выхода этого порта — появились.
И работает это довольно просто. Как я уже сказал — не все линии чипсета зарезервированы на какие-то определённые функции. Большая часть линий свободная и на эти линии можно поставить внешние контроллеры, которые будут управлять внешним устройствам и переводить все протоколы в тот вид, что нужны чипсету для дальнейшей работы с центральным процессором.
Поэтому если у чипсета нет поддержки USB 3.0 — производитель материнской платы может распаять контроллер USB 3.0, который будет использовать одну из линий HS i/o. Точно так же можно работать и с другими специальными задачами. Допустим нужна не одна сетевая карта на плате, а 10 штук.
Один контроллер есть как правило работающий через чипсет и ещё 9 можно распаять на плате, заняв 9 линий HS i/o чипсета.
Ну и, как правило, производители материнских плат не делают строгую специализацию, так как одним нужны много сетевых карт, другим надо куда-то поставить карту видеозахвата, или звуковую карту, третьим надо подключить к одному компьютеру 30 накопителей. На каждую хотелку плату не сделаешь. Поэтому разработан стандарт для универсального подключения. Вначале это был стандарт ISA, в 90-х ему на смену пришёл PCI.
А в нулевых уже PCI поменялся на PCI-e. Ну и, соответственно, для чипсета — одна линия PCI-e занимает одну линия HS i/o.
В общем — чипсет эта та штука, которая имеет определенное количество линий данных, которые производители плат могут использовать по своему усмотрению а также производители могут оставлять эти линии данных свободными выделяя их просто в порты PCI-e, в которые можно вставлять какие-то другие карты расширения, на борту которых будут собственные контроллеры, которые всё что угодно переводят в протоколы, совместимые с PCI-e.
Но как и с нервной системой — есть ряд устройств, доступ к которым нужно обеспечить без посредников.
Напомню, что для мозга это например глаза.
Так же и в компьютерах для видеокарты выделяется отдельных 16 линий напрямую к процессору. И это довольно широкая шина, для сравнения, как я уже ранее говорил — для соединения с чипсетом это всего 4 линии.
Кроме того у AMD и будущих Intel процессоров ещё есть 4 линии PCI-e для подключения m.2 накопителя. В общем-то этим снижается загруженность шины к чипсету.
Кроме того к процессору подключены и некоторые другие внешние контроллеры. Например контроллеры видеовыходов, если процессор имеет встроенную графику.
Кто управляет материнской платой?
Возвращаясь к нервной системе в ней есть такая штука как гипоталамус.
В компьютерах — задачи фонового управления ресурсами имеют разделение на несколько разных, связанных друг с другом систем.
Разделить их можно на три составляющие. BIOS, чип Super i/o и контроллер питания.
BIOS — это по большей степени программная прослойка, она имеет и аппаратные части, но не вычислительные, а вычислительные это сам центральный процессор, а также чип Super I/O до того как не включен процессор.
Собственно с программной прослойкой биоса в момент инициализации взаимодействует Super I/O. Вместе они до штатного запуска занимаются конфигурированием системы. Что касается самого Super I/O — раньше его функции были более значительные. Он содержал контроллеры для мышки и клавиатуры, для аудио устройств, отвечал за питание компьютера в режимах низкого потребления и в целом — управлял питанием, также в состав супер i/o входит контроллер для COM порта и LPT порта, USB контроллер, сетевой контроллер. Сейчас этот чип подключается через чипсет через шину LPC. Из старых функций часть сейчас просто не востребованы, а часть утрачены, например за многи режимы питания сейчас процессоры отвечают сами, но за включение процессора сам процессор отвечать не может, так как он обесточен. Надо понимать, что когда компьютер выключен, если бы был выключен целиком и полностью — то включался бы он зафиксированным переключателем, а не просто кнопкой, и чтобы не держать процессор под питанием под питанием держат super i/o, который по нажатию кнопки включения проводит первичное тестирование системы, получает данные из раздела SPD оперативной памяти, который содержит конфигурации, опрашивает процессор и чипсет, опрашивает память БИОСа, получая конфигурации и из него, определяет оборудование компьютера, и, в конечном счёте разрешает его запуск. Кроме того у Super I/o есть возможность работы с датчиками. Думаю многие знают такую платформу как Arduino.
В ней есть куча цифровых и аналоговых входов и выходов, и к ней можно подключать разные датчики чтобы создавать те или иные устройства. В компьютере, если надо что-то такое подключить, допустим термодатчик, или вольтметр, это делается через чип Super i/o. Кроме того он поддерживает протокол i2C для работы с более сложными контроллерами. Этот чип формирует ШИМ сигнал и для управления вентиляторами, а так же получает импульсный сигнал тахометров вентиляторов. Кроме того именно в этом чипе идут системные часы.
Но, допустим, сетевые контроллеры выделены сейчас в чипсет, основная часть USB, кроме тех что для клавиатуры и мыши — это тоже только чипсетные USB, а есть платы где USB порты клавиатуры и мыши тоже не выведены, а выведены чипсетные. COM порт, порт для джойстиков, MIDI разъём, разъём для Флоппи дисков и LPT на платах как правило просто не распаивают. Да я в общем-то и не нашёл сведений о том — есть ли все эти порты в современных чипах Super I/o, потому что эти анахронизмы уже могли и выпилить за ненадобностью.
И вобщем-то этот чип ещё не включили в состав чипсета просто из-за необходимости его питания при выключенном компьютере, иначе бы приходилось под питанием оставлять весь чипсет.
Тут есть разница и между Intel и AMD. У AMD LPT порт для подключения к Super I/O встроен в процессор, соответственно и контроллер звука тоже выброшенный из Super I/O переместили во внеядерной части процессора. У Intel аналогично, но подключено это всё к чипсету.
Кроме того, так как Super I/O является средством взаимодействия с датчиками и контроллерами — именно этот чип отдаёт команды контроллеру питания процессора. А уже контроллер питания следит за исполнением команд, управляя мосфет транзисторами зоны VRM процессора. Про VRM материнских плат на ютуб канале было отдельное видео, там и про линии питания и про фазы питания и чем они друг от друга отличаются тоже всё было сказано, это тоже интересная тема, рекомендую посмотреть ещё и про VRM.
Ну и сейчас, если какому-то контроллеру нужно напряжение, которого нет от блока питания, то для него распаивается свой личный преобразовать в нужное ему напряжение.
И того подведем краткие итоги того из чего состоит материнская плата.
Состоит она из сокета, в который устанавливается процессор, в который встроен северный мост, то есть контроллер оперативной памяти, из слотов для оперативной памяти, и шины которая соединяет память и процессор, ещё на плате есть разъёмы, которые подключаются к процессору. Это 16 линий PCi-e для видеокарты и 4 линии для m.2 накопителя. Но большая часть разёъмов подключается через чипсет, который соединен с процессором шиной равной 4-м линиям PCi-e. К чипсету подключены как устройства напрямую, так и через внешние контроллеры, а часть линий от чипсета остаются свободными в слотах PCi-e на материнской плате. А за управление всей платой и питанием устройств на ней отвечает чип Super I/o. Кроме того на плате разведено питание компонентов и при необходимости преобразователи питания.
Видео на YouTube канале «Этот компьютер»
https://pc-01.tech/materinskay_plfta/