Что такое сокет. Основные сокеты процессоров AMD и Intel

Общая информация

Сам по себе термин «сокет» происходит от английского слова «socket» и с технического языка переводится как «разъем» или «гнездо». Т.е. сокет — это обычный разъем/гнездо для подключения электронного устройства. В конструкции материнской платы присутствует множество разъемов, к которым подключается всевозможное съемное оборудование — центральный процессор, видеокарта, внешняя сетевая плата, оперативная память и т.д.

Однако, когда термины «сокет» и «материнская плата» употребляются вместе, то речь, в первую очередь, идет о гнезде для подключения процессора. Именно ему и посвящена данная статья.

Видео

Видео

Передача данных¶

Для передачи данных можно пользоваться стандартными функциями чтения/записи файлов read и write, но есть специальные функции для передачи данных через сокеты:

  • send
  • recv
  • sendto
  • recvfrom
  • sendmsg
  • recvmsg

Нужно обратить внимание, что при использовании протокола TCP (сокеты типа SOCK_STREAM) есть вероятность получить меньше данных, чем было передано, так как ещё не все данные были переданы, поэтому нужно либо дождаться, когда функция recv возвратит 0 байт, либо выставить флаг MSG_WAITALL для функции recv, что заставит её дождаться окончания передачи. Для остальных типов сокетов флаг MSG_WAITALL ничего не меняет (например, в UDP весь пакет = целое сообщение).

Сокеты для аудио

Когда наступает пора подключать динамики и микрофоны к компьютеру, ситуация обычно следующая. Перед нами множество многоцветных коннекторов на обратной стороне компьютера или одно или два отверстия спереди или сбоку в ноутбуках. В любом случае используется стандартный разъём 3,5 мм в формате моно или стерео. Зачем их шесть в одном случае и только один или два в другом?

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

Являются ли эти цвета универсальными? К сожалению нет, поэтому нужно опять смотреть спецификации конкретного устройства, чтобы понять, где есть что.

Сокет S/PDIF над коннектором HDMI

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

Это S/PDIF (Sony/Philips Digital Interface), который отправляет аудиосигналы в цифровой поток через оптоволоконный кабель. Используется коннектор под названием TOSLINK. Без сжатия данных он может обрабатывать в лучшем случае два звуковых каналов, со сжатием вроде Dolby AC-3 может передавать полноценный объёмный поток 7.1.

Виды сокетов AMD

Специалисты из AMD консервативны и редко прибегают к частым обновлениям разъемов, из-за чего сокеты часто совместимы и исключают необходимость приобретать новое оборудование для полноценного апгрейда компьютера.

Список выпущенных сокетов:

  • Super Socket 7. Разработан на основе универсального сокета. Появился модифицированным и специально адаптированным под процессоры повышенной вычислительной мощности.

  • Slot A. Выпускался с 1999 года специально для Athlon – процессора, выступавшего в роли догоняющего конкурента Pentium III.
  • Socket A (462). Новая модификация, нацеленная на поддержку дорогостоящих Athlon, бюджетных Duron и Sempron.

  • 754. Технологическое обновление, выпущенное для 64-битных Athlon, в тоже время появилась поддержка работы с оперативной памятью стандарта DDR.

  • 939. Разъем, применяемый с 2004 года, для серверных процессоров;

  • AM2. Выпускается с 2006 года. Основан 940 контактов, поддерживает память DDR
  • AM2+. Модификация, появившаяся в 2007 году. Полностью совместима с AM2, поддерживает шину HyperTransport.
  • AM3. Технологическая замена сокетов предыдущего поколения, поддерживает оперативную память стандарта DDR
  • AM3+. Модификация для процессоров AMD FX, основанных на архитектуре Bulldozer – 32-нм технология, предназначены для серверов или же дорогостоящих и высокопроизводительных компьютеров.
  • FM1. Гнездо с 905 контактами для установки ЦП с микроархитектурой AMD Fusion – 64-битные гибридные микропроцессоры.
  • FM2. Выпускается с 2012 года для архитектур Piledriver.

  • FM2+. Новая модификация, поддерживающая, кроме Piledriver, еще и Steamroller.
  • AM С 2014 года выпускаемый сокет для архитектуры Jaguar.
  • AM Выпускается с 2016 года, предназначен для процессоров, основанных на архитектуре ZEN, ZEN+ и ZEN2. Заявлена поддержка оперативной памяти стандарта DDR4.

  • TR4 и TRX Появившиеся в 2017 и 2019 году наиболее актуальные разъемы для процессоров, работающих на архитектуре Zen, Zen+ и Zen2. (14, 12 и 7-нм ЦП).

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

socket()¶

См.также

Создаёт конечную точку соединения и возвращает файловый дескриптор. Принимает три аргумента:

  1. domain указывающий семейство протоколов создаваемого сокета

    • AF_INET для сетевого протокола IPv4
    • AF_INET6 для IPv6
    • AF_UNIX для локальных сокетов (используя файл)
  2. type

    • SOCK_STREAM (надёжная потокоориентированная служба (сервис) или потоковый сокет)
    • SOCK_DGRAM (служба датаграмм или датаграммный сокет)
    • SOCK_RAW (Сырой сокет — сырой протокол поверх сетевого уровня).
  3. protocol

    Протоколы обозначаются символьными константами с префиксом IPPROTO_* (например, IPPROTO_TCP или IPPROTO_UDP). Допускается значение protocol=0 (протокол не указан), в этом случае используется значение по умолчанию для данного вида соединений.

Примечание

Функция возвращает −1 в случае ошибки. Иначе, она возвращает целое число, представляющее присвоенный дескриптор.

Пример на Си

#include <sys/types.h> #include <sys/socket.h> int socket ( int domain , int type , int protocol );

#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> void error ( const char * msg ) { perror ( msg ); exit ( ); } int main ( int argc , char * argv []) { int sockfd , portno , n ; struct sockaddr_in serv_addr ; struct hostent * server ; char buffer [ 256 ]; if ( argc < 3 ) { fprintf ( stderr , "usage %s hostname port \n " , argv [ ]); exit ( ); } // Задаем номер порта portno = atoi ( argv [ 2 ]); // Создаем сокет sockfd = socket ( AF_INET , SOCK_STREAM , ); if ( sockfd < ) error ( "ERROR opening socket" ); // Конвертирует имя хоста в IP адрес server = gethostbyname ( argv [ 1 ]); if ( server == NULL ) { fprintf ( stderr , "ERROR, no such host \n " ); exit ( ); } // Указываем тип сокета Интернет bzero (( char * ) & serv_addr , sizeof ( serv_addr )); serv_addr . sin_family = AF_INET ; // Указаваем адрес IP сокета bcopy (( char * ) server -> h_addr , ( char * ) & serv_addr . sin_addr . s_addr , server -> h_length ); // Указываем порт сокета serv_addr . sin_port = htons ( portno ); // Устанавливаем соединение if ( connect ( sockfd , ( struct sockaddr * ) & serv_addr , sizeof ( serv_addr )) < ) error ( "ERROR connecting" ); // Вводим сообщение из консоли printf ( "Please enter the message: " ); bzero ( buffer , 256 ); fgets ( buffer , 255 , stdin ); // Отправляем данные n = write ( sockfd , buffer , strlen ( buffer )); if ( n < ) error ( "ERROR writing to socket" ); // Сбрасываем буфер bzero ( buffer , 256 ); // Читаем ответ n = read ( sockfd , buffer , 255 ); if ( n < ) error ( "ERROR reading from socket" ); printf ( "%s \n " , buffer ); close ( sockfd ); return ; }

Пример на Python

import socket # Создание объекта сокета. sock_obj = socket . socket ( socket . AF_INET , socket . SOCK_STREAM , ) # AF_INET, SOCK_STREAM и 0 используются по умолчанию при создании сокета. # Поэтому можно просто писать: sock_obj = socket . socket ()

Как узнать Сокет у вас в компьютере

Как же узнать, какой сокет у вас используется? Для этого есть несколько возможных путей:

  • Документация к материнской плате вашего ПК. Там обычно содержится детальная информация об использующемся на МП типе сокета. Также можно обследовать материнку ПК на предмет данных о её модели, затем вбить эти данные на сайте производителя, и получить всю сопутствующую информацию, в том числе и о специфике использованного сокета;
  • Различные тестирующие программы снабдят вас информацией о внутренних компонентах ПК («AIDA64», «CPU-Z» и аналоги);
  • На пластмассовом или металлическом участке материнской платы рядом с процессором, на разъёме сокета и т.д. (для получения подобной информации может понадобиться снятие с процессора системы охлаждения, чего я делать не рекомендую, особенно в случае, когда вы не уверены в своей компетенции).

Нюансы выбора

Перед тем как ответить, какой сокет лучше установить в систему, необходимо определиться с важными для компьютера комплектующими: процессором и . Флагманские позиции по производству процессоров занимают две фирмы, конкурирующие между собой: AMD и Intel. Каждый из изготовителей поставляет на рынок компьютерной продукции сокеты, специально разработанные под процессоры своей марки. Модели разъёмов от этих производителей различаются как по техническим параметрам, так и визуально:

  1. Детали от AMD имеют отверстия на плате, предназначенные для контактов, которые в форме штырей имеются на процессорах. Сокеты от Intel отличаются наличием контактов, к которым подсоединяется процессор с контактами.
  2. Подсоединение процессора к сокету от компании Intel происходит за счёт наличия на плате защёлки-фиксатора, а разъём AMD крепится путём сдвижения верхней пластины относительно находящейся снизу.
  3. Вентилятор в моделях компании Intel фиксируются в отверстиях, а кулер от AMD устанавливается на специальную рамку.

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

  1. Разъёмы под маркировкой AM2 и AM2+ от AMD.
  2. Детали LGA с порядковыми номерами 2011, 1366, 1156 и 775 для Intel.

Зачем знать сокет материнской платы?

Информация о типе сокета материнской платы обычно требуется при покупке процессора или вентилятора для его охлаждения. Может быть и наоборот, когда у пользователя есть ЦП, под который необходимо приобрести материнскую плату. Отсюда можно сделать вывод — разные поколения сокетов несовместимы друг с другом. Процессор, выполненный под определенный разъем, нельзя подключить к разъему с отличающейся конструкцией. Однако про кулеры такого сказать нельзя. Крепления для вентиляторов могут быть одинаковыми и у разных поколений сокетов.

Сокеты Intel

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

Всё это одновременно и хорошо, и плохо. Хорошо тем, что с частым обновлением сокетов и выпуском под каждую (даже) часть линейки процессоров, мы можем наблюдать увеличение производительности и более специфическую заточку под конкретную модель. А вот жирный минус в том, что довольно тяжело делать апгрейд, когда каждая новая серия процессоров идет под новый сокет, приходится менять не только процессор, но и материнскую плату.

Теперь давайте рассмотрим несколько конкретных сокетов от Интел:

Socket (сокет LGA 2011) – один из новых сокетов для некоторых процессоров Ivy Bridge (Corei7, i5, i3 – 3xxx) Можно отметить, что данный сокет был скорее маркетинговым ходом для встряски рынка и набивки цен (первое время) на процессоры, которые позиционировались под этот сокет. Но все-таки подвижки в производительности можно было заметить. Сейчас же, процессоры под данный сокет упали в цене, чего не скажешь про материнские платы с LGA 2011, они остаются в разы дороже подобных материнских плат, под тот же LGA 1155, который мы рассмотрим чуть ниже.

Socket (сокет LGA 1155, 1156, 1366)данные сокеты можно условно поместить в одну «пачку», но повторюсь еще раз: они не совместимы, хоть и позиционируются под одну микроархитектуру Sandy Bridge II, просто для разных версий.

Наиболее ходовым оказался сокет 1155, на нем сейчас и построены большинство систем. Для мощных систем и серверных решений на борту с Сorei7 и Xeon, был разработан Socket 1366.

Socket (сокет LGA 775) – эти сокеты уже морально устарели, хотя еще живут во множестве систем, они позиционировались под несколько линеек сразу, таких как Core 2 Duo, Core 2 Quad, Celeron и другие.

Теги

Adblock
detector