Что такое архитектура процессора в смартфоне, основные типы

Здравствуй, мир! Сегодня у нас серия статьей для людей со средними знаниями о работе процессора в которой мы будем разбираться с процессорными архитектурами (у меня спелл чекер ругается на слово Архитектурами/Архитектур, надеюсь я пишу слово правильно), создавать собственную архитектуру процессора и многое другое.

Что такое архитектура процессора в смартфоне, основные типы

Принимаются любые замечания!

Немного про архитектуру процессора

Исторически сложилось, что существуют много процессоров и много архитектур. Но многие архитектуры имеют схожести. Специально для этого появились «Группы» архитектур типа RISC, CISC, MISC, OISC (URISC). Кроме того они могут иметь разные архитектуры адресации памяти (фон Неймана, Гарвард). У каждого процессора есть своя архитектура.

Например большинство современных архитектур это RISC (ARM, MIPS, OpenRISC, RISC-V, AVR, PIC** и т.д.), но есть архитектуры которые выиграли просто за счет других факторов (Например удобство/цена/популярность/etc) Среди которых x86, x86-64 (Стоит отметить, что x86-64 и x86 в последних процессорах используют микрокод и внутри них стоит RISC ядро), M68K.

В чем же их отличие?

RISC

Reduced Instruction Set Computer — Архитектура с уменьшенным временем выполнения инструкций (из расшифровка RISC можно подумать, что это уменьшенное количество инструкций, но это не так).

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

В целом RISC является золотой серединой между всеми архитектурами.

Яркие примеры данной архитектуры: ARM, MIPS, OpenRISC, RISC-V

TTA

Что такое TTA? ТТА это Архитектура на основе всего одной инструкции перемещения из одного адреса памяти в другую. Данный вариант усложняет работу компилятора зато дает большую производительность. У данной архитектуры есть единственный недостаток: Сильная зависимость от шины данных. Именно это и стало причиной ее меньшей популярности. Надо отметить что TTA является разновидностью OISC.

Яркие примеры: MOVE Project

OISC (URISC)?

One Instruction Set Computer — Архитектура с единственной инструкцией. Например SUBLEQ. Такие архитектуры часто имеют вид: Сделать действие и в зависимости от результата сделать прыжок или продолжить исполнение. Зачастую ее реализация достаточно простая, производительность маленькая, при этом снова ограничение шиной данных.

Яркие примеры: BitBitJump, ByteByteJump, SUBLEQ тысячи их!

CISC

CISC — Complex Instruction Set Computer — ее особенность в увеличенных количествах действий за инструкцию. Таким образом можно было теоретически увеличить производительность программ за счет увеличения сложности компилятора.

Но по факту у CISC плохо были реализованы некоторые инструкции т.к. они редко использовались, и повышение производительности не было достигнуто. Особенностью этой группы является еще ОГРОМНАЯ Разница между архитектурами.

И несмотря на названия были архитектуры с маленьким количеством инструкций.

Яркие примеры: x86, M68K

Адресация памяти

Что такое архитектура процессора в смартфоне, основные типы

Особенностью таких архитектур была общая шина данных и инструкций. Большинство современных архитектур это программный фон Нейман, однако никто не запрещает делать аппаратный Гарвард. У данной архитектуры большим недостатком является большое зависимости производительности процессора от шины. (Что ограничивает общую производительность процессора).

Архитектура гарварда

Что такое архитектура процессора в смартфоне, основные типы

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

Особенности процессоров

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

Что такое архитектура процессора в смартфоне, основные типы IF — получение инструкции, ID — расшифровка инструкции, EX — выполнение, MEM — доступ к памяти,

WB — запись в регистр.

Вроде все просто? А вот и нет! Проблема в том что например прыжок (jmp/branch/etc) заставляют конвейер начать исполнение (получение след. инструкции) заново таким образом вызывая задержку в 2-4 такта перед исполнение следующей инструкции.

Расширение существующих архитектур

Достаточно популярной техникой является добавление в уже существующую архитектуру больше инструкций через расширения. Ярким примером является SSE под x86. Этим же грешит ARM и MIPS и практически все. Почему? Потому что нельзя создать унивирсальную архитектуру.

Другим вариантом является использование других архитектур для уменьшения размера инструкций. Яркий пример: ARM со своим Thumb, MIPS с MIPS16.

Техники применяемые в GPU

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

Например Masked Execution (Встречается в инструкциях ARM, но не в Thumb-I/II).

Еще есть другие особенность: это уклон в сторону Floating Number (Числа с плавающей запятой), Уменьшение производительности в противовес большего количества ядер и т.д.

Masked Execution

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

Но Зачем?

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

Прочее

Здесь мы будем описывать несколько техник используемых в центральный процессорах и микроконтроллерах.

Прерывания

Что такое архитектура процессора в смартфоне, основные типы

Прерывания это техника при которой исполняемый в данный момент код приостанавливается для выполнения какой-то другой задачи при каких-то условиях. Например при доступе в несуществующий участок памяти вызывается HardFault или MemoryFault прерывания или исключения. Или например если таймер отсчитал до нуля. Это позволяет не бездействовать пока нужно ждать какое-то событие.

Какие недостатки? Вызов прерывания это несколько тактов простоя и несколько при возврате из прерывания. Так же несколько инструкций в начале кода будет занято инструкциями для Таблицы прерываний.

Exception (исключения)

Но кроме прерываний еще существуют исключений которые возникают например при деления на ноль. Зачастую его совмещают с прерываниями и системными вызовами, как например в MIPS. Исключения не всегда присутствуют в процессоре например как в AVR или младших PIC

Системные вызовы

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

Контроллеры доступа в память и прочие методы сдерживания программ

Здесь описываются методы запрета доступа приложений к аппаратуре напрямую.

Привилегированный режим

Это режим в котором стартует процессор. В таком режиме программа или ОС имеют полный доступ к памяти в обход MMU/MPU. Все программы запускаются в непривилегированном режиме во избежания прямого доступа к аппаратным подсистемам программ для этого не предназначенных.

Например вредоносным программам. В Windows ее часто называют Ring-0, а в *nix — системным.

Не стоит путать Привелигированный пользователь и Привилегированный режим ибо в руте вы все еще не можете иметь прямой доступ к аппаратуре (можно загрузить системный модуль который позволит это сделать, но об этом чуть позже 🙂

MPU и MMU

Что такое архитектура процессора в смартфоне, основные типы

MPU и MMU используется в современных системах чтобы изолировать несколько приложений. НО если MMU позволяет «передвинуть» память то MPU позволяет только блокировать доступ к памяти/запуск кода в памяти.

PIC (PIE)

Что такое PIE? (PIC не использую для избежания путаницы с МК PIC). PIE это техника благодаря которой компилятор генерирует код который будет работать в любом месте в памяти. Эта техника в совмещении с MPU позволяет компилировать высокие языки программирования которые будут работать и с MPU.

SIMD

Популярная техника SIMD используется для того, что бы за один такт выполнять несколько действий над несколькими регистрами. Иногда бывают в качестве дополнений к основной архитектуре, например, как в MIPS, ARM со своими NEON/VFP/etc, x86 со своим SSE2.

Reposition for Optimization

Это техника Используется для оптимизации кода, генерируемого компилятором, с помощью пересортировки инструкций, увеличивая производительность процессора. Это позволяет использовать конвейер на полную.

Status register

Что такое архитектура процессора в смартфоне, основные типы

Что такое регистр статуса? Это регистр который хранит состояние процессора. Например находится ли процессор в привилегированном режиме, чем закончилась операция последнего сравнения.

Используется в связке с Masked Execution. Некоторые разработчики специально исключают регистр статуса ибо он может являться узким местом как поступили в MIPS.

mov vs $0 reg

В MIPS нет отдельной инструкции загрузки константы в память, но есть инструкция addi и ori которая позволяет в связке с нулевым регистром ($0) эмулировать работу загрузки константы в регистр. В других архитектурах она присутствует. Я затронул эту тему, потому что она пригодиться нам в статьях с практикой.

Rd, Rs vs Rd, rs, rt

Идут множество споров насчет того сколько должно быть операндов в арифметических инструкциях. Например в MIPS используется вариант с 3-мя регистрами. 2 операнда, 1 регистр записи.

С другой стороны, использование двух операндов позволяет сократить код за счет уменьшения размера инструкции. Пример совмещения является MIPS16 в MIPS и Thumb-I в ARM.

В плане производительности они практически идентичны (Если исключать размер инструкции как фактор).

Endianness

Что такое архитектура процессора в смартфоне, основные типы

Порядок байт. Возможно вам знакомы Выражения Big-Endian и Little-Endian. Они описывают порядок байт в инструкциях/в регистрах/в памяти/etc. Здесь думаю все просто :). Есть процессоры которые совмещают режимы, как MIPS, или которые используют одну систему команд, но имеют разный порядок байт, например ARM.

Битность процессора

Итак, что такое битность процессора? Многие считают, что это битность шины данных, но это не так.

Почему? В ранние переоды микроконтроллеров и микропроцессоров шина могла быть, например, 4-х битной, но передавала пакетами по 8 бит.

Для программы казалось, что это 8-и битный режим, но это была иллюзия, как и сейчас. Например, в ARM SoC-ах часто применяют 128-и битную шину данных или инструкций.

Что такое архитектура процессора в смартфоне, основные типы

Сопроцессоры

Что такое сопроцессоры? Сопроцессоры являются элементами процессора или внешней микросхемой. Они позволяют исполнять инструкции, которые слишком громоздки для основной части процессора. Как яркий пример, сопроцессоры в MIPS для деления и умножения. Или например 387 для 80386, который добавлял поддержку чисел с плавающей запятой.

А в MIPS сопроцессоров было много и они выполняли свои роли: контролировали прерывания, исключения и системные вызовы. Часто сопроцессоры имеют собственные инструкции и на системах, где этих инструкций нет, (пример ARM) эмулируют ее через Trap-ы (ловушки?).

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

Атомарность операций

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

Вариант другого решения атомарность переферии. Например для установки ножки в STM32 в высокое и низкое состояние используется разные регистры, что позволяет иметь атомарность на уровне переферии.

Кеш

Что такое архитектура процессора в смартфоне, основные типы

Вы, навярняка, слышали о L1, L2, L3 и регистрах. Если коротко, процессор анализирует часть кода, чтобы предугадать прыжки и доступ в память и зараннее просит кеш получить эти данные из памяти. Кеш зачастую бывает прозрачным для программы, но бывают и исключения из этого правила. Например, в программных ядрах в ПЛИС используется програмный кеш.

Читайте также:  Как включить интернет на айфоне 4s

И вы кончено слышали о такой вещи, как Cache Miss или промах по кешу. Это операция которая не была предусмотрена процессорам или процессор не успел закешировать эту часть памяти. Что достаточно часто является проблемой замедления доступа к памяти.

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

Shadow Registers

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

Stack

Стек? Я видел Стек в .NET и в Java! Что же, Вы частично правы. Стек существует, но он никогда не был апаратным в большинства процессорах. Например в MIPS его по просту нет. Спросите КАК ТАК ТО?! Ответ прост.

Стек это просто доступ к памяти которую не нужно резервировать (очень грубое определение).

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

Спросите тогда что такое куча (Heap)? Куча это память размером намного больше чем стек (Стек обычно ~1MB). В хипе храниться все глобальное. Например все указатели полученные с помощю Malloc указывают на часть куча. А указатели хранятся в стеке или в регистрах.

С помощью инструкций загрузки данных относительно регистра можно ускорить работу стека и других доступов к памяти по типу стека, поскольку не нужно постоянно использовать операции PUSH/POP, INC/DEC или ADDI, SUBI (добавить константу), чтобы получить данные глубже по стеку, а можно просто использовать доступ относительно стека с отрицательным смещением.

Регистры

Не буду описывать регистры слишком подробно. Это мы затронем в практической статье.

В x86 регистров достаточно мало. В MIPS используется увеличенное количество регистров, а именно 31 ($0 имеет значение всегда равное нулю).

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

Для примера: три 16-битных можно трактовать как шесть восьмибитных, где первые 16ть недоступны при некоторых операциях. Я считаю, что лучший метод был выбран MIPS-ом. Это мое сугубо личное мнение.

Выравнивание

Что такое выравнивание? Оставлю-ка я этот вопрос вам 🙂

Конец

Это конец первой главы нулевой части. Вся серия будет крутиться вокруг темы создания собственного процессора. Собственной операционной системы. Собственного ассемблера. Собственного компилятора и много чего другого.

Нулевые части будут посвящены теории. Я сомневаюсь что доведу всю серию до победного конца, но попытка не пытка! )

Источник: https://habr.com/post/316520/

Что такое архитектура процессора, какая бывает и используется в смартфонах

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

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

С тех пор, на протяжении полувека, меняется в сторону уменьшения только размер транзисторов (техпроцесс), и увеличивается их количество на кристалле.

В условиях использования единой технологии (и отсутствия практически применимых альтернатив, так как до массового внедрения квантовых процессоров еще далеко) единственным способом приспособить вычислительные чипы под те или иные задачи — стало изобретение различных архитектур ЦП.

Что такое архитектура процессора

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

За все время было создано много различных архитектур. Самые популярные из них — CISC, MISC, VLIW и RISC. Различия между ними касаются, главным образом, системы взаимодействия процессора с обрабатываемыми данными. Сейчас активно используются конвейерные архитектуры CISC и RISC.

Как работает архитектура процессора

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

Когда первый этап конвейера освобождается — он может приступить к выполнению следующей инструкции. Этот процесс можно сравнить с работой автозавода: когда работник прикручивает последнюю ступицу колеса — конвейер двигается дальше.

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

Количество стадий конвейера может быть разным. Если программа получает данные исправно, в них не содержится ошибок, то такой подход повышает производительность. Чем длиннее конвейер — тем больше операций выполняется за такт (1 герц частоты процессора).

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

Однако если первый работник что-то сделает не так — получится брак, машину придется собирать заново.

В процессоре все аналогично: если на раннем этапе конвейера происходит ошибка — конвейер нужно перезапускать. Это замедляет производительность и приводит к пустым тратам энергии.

Так как для компактных и мобильных устройств энергоэффективность очень важна — специально для них была создана архитектура RISC. От CISC она отличается упрощенным набором команд, которые принимает процессор, и укороченным конвейером.

Такая особенность приводит к снижению производительности на фоне CISC (а компьютерные x86-процессоры Intel и AMD построены на ней), но позволяет минимизировать пустую трату энергии.

Архитектура процессоров ARM

Всевозможные MIPS, PowerPC, SPARC и прочие архитектуры типа RISC оставим IT-специалистам.

Когда дело касается смартфонов — стоит детальнее уделить внимание ARM, Это — разновидность RISC архитектуры с коротким конвейером, которая является одной из самых распространенных и удачных.

Именно ARM использует большинство производителей (Qualcomm, MediaTek, Apple, Samsung, Huawei-HiSilicon и другие). Только Intel в своих SoC атом используют x86-совместимые CISC ядра.

Особенностью ARM процессоров является использование короткого конвейера. Его длина составляет 3 и более этапов, что немного на фоне десятков стадий у CISC. За счет этого сбои в работе конвейера минимально сказываются на скорости обработки программ, максимально эффективно нагружая каждый такт. Поэтому именно ARM стала самой популярной архитектурой процессоров для смартфонов и планшетов.

Архитектура и микроархитектура процессора

Довольно часто в СМИ и интернете происходит путаница между понятиями архитектуры и микроархитектуры процессора. Чтобы внести ясность, следует установить отношение между данными терминами.

Так вот, архитектура — это общий принцип устройства и работы процессора, а микроархитектура — всего лишь один из вариантов ее реализации, имеющий свои особенности, но сохранающий совместимость с базовой архитектурой.

Виды микроархитектур ARM для смартфонов

Большинство чипсетов для смартфонов содержат процессоры, созданные на ARM, а именно — микроархитектурах семейства Cortex и других. Список актуальных версий и их отличия приведены ниже.

  • Cortex A7. Устаревающая микроархитектура процессоров для смартфонов. Отличается низким энергопотреблением, имеет конвейер из 8-10 этапов. Не умеет работать с 64-битными инструкциями. Относится к семейству ARMv7.
    Что такое архитектура процессора в смартфоне, основные типыCortex A7
  • Cortex A53. Актуальная микроархитектура, также имеет ковейер, состоящий из 8 стадий. Поддерживает новые инструкции и 64-битность, за счет этого работает быстрее, чем A7. Относится к семейству ARMv8.
    Что такое архитектура процессора в смартфоне, основные типыCortex A53
  • Cortex A35. Модификация предыдущей микроархитектуры, отличающаяся сниженными производительностью и энергопотреблением. Принадлежит к семейству ARMv8.
    Что такое архитектура процессора в смартфоне, основные типыCortex A35
  • Cortex A72. Высокопроизводительная микроархитектура ARM, сочетающая короткий конвейер и расширенный набор инструкций, а также поддерживающая увеличенный кэш. В сравнении с A53 – обеспечивает более высокую производительность, но также расходует больше энергии. Тоже принадлежит к серии ARMv8.
    Что такое архитектура процессора в смартфоне, основные типыCortex A72
  • Cortex A73. Развитие предыдущей версии, сохраняет основные принципы этой архитектуры, но является более продуктивной и энергоэффективной.
    Что такое архитектура процессора в смартфоне, основные типыCortex A73
  • Apple. Apple используют в своих процессорах модификации ARMv8, но усовершенствованные. Точных спецификаций американцы не раскрывают, но известно о поддержке дополнительных инструкций и удлиненном конвейере. Актуальные микроархитектуры — Zephyr и Hurricane, используемые в чипе Apple A10 Fusion.
  • Kryo. Актуальная микроархитектура, основанная на ARMv8, созданная Qualcomm. Отличается расширенным набором инструкций и удлиненным конвейером. Применяется во флагманских чипах Snapdragon, например, 821.Что такое архитектура процессора в смартфоне, основные типы
  • Mongoose. Еще одна микроархитектура, производная от архитектуры ARMv8. Используется Samsung в топовых процессорах семейства Exynos. В сравнении с базовой Cotrex A72 имеет небольшие отличия, касающиеся энергосбережения и производительности.Что такое архитектура процессора в смартфоне, основные типы

Возможно вам будет интересно:

Источник: https://mobcompany.info/interesting/chto-takoe-arxitektura-processora-kakaya-byvaet-i-ispolzuetsya-v-smartfonax.html

Мобильные процессоры: всё об архитектурах

Что общего у микроволновки и суперкомпьютера, у калькулятора и марсохода? Микропроцессор. Эта маленькая, но архиважная деталь – неотъемлемая часть любого электронного устройства, какую бы функцию оно ни выполняло, ведь именно микропроцессор отвечает за «мышление» прибора.

Конечно, процессор не думает в полном смысле этого слова, однако он способен делать то, что не может человек – очень-очень быстро считать. И если дать процессору необходимую информацию и «объяснить», что с ней делать, то есть запрограммировать его, – мы получим очень полезного железного друга.

Можно без преувеличения сказать, что микропроцессоры изменили наш мир.

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

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

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

Другое отличие многих современных ЦП в том, что они представляют собой микроконтроллеры – более универсальные схемы, в которых процессор соединен с дополнительными элементами. Это может быть память, различные порты, таймеры, контроллеры внешних устройств, модули управления интерфейсами и т.д.

Что такое архитектура процессора в смартфоне, основные типы

SoC-процессоры

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

Одна из главных на сегодняшний день процессорных архитектур называется SoC, или система на чипе (англ. system on a chip). Это тоже микроконтроллерная архитектура, но еще более плотная. Здесь целый ряд компонентов помещаются на одном полупроводниковом кристалле. Это как бы не процессор, а целый компьютер.

Такой подход позволяет упростить и удешевить сборку и процессоров, и целых устройств.

Что такое архитектура процессора в смартфоне, основные типы

Именно SoC-процессоры используются в подавляющем большинстве современных смартфонов и планшетов. Например, SoC-процессорами являются чипы британской фирмы ARM, на которой работает большинство Android-устройств, а также смартфоны iPhone и планшеты iPad. ARM-процессоры используются и в чипсетах MediaTek, где их число доходит до десяти.

RISC-процессоры

Технология RISC означает упрощенный набор команд (англ. reduced instruction set computer), ее впервые предложили в компании IBM.

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

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

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

Читайте также:  Twrp recovery: как использовать

Это, во-первых, уже упоминавшиеся процессоры ARM, а также PowerPC, SPARC и многие другие. Популярнейшие процессоры Intel уже много лет основаны на RISC-ядре, начиная с 1990-х годов.

Можно сказать, что технология RISC сегодня является доминирующей, хотя у нее существует множество вариантов реализации. 

CISC-процессоры

Это более традиционный вид микропроцессоров, которые отличаются от предыдущих полным набором команд, отсюда и название: компьютер с полным набором команд (англ. complex instruction set computer).

Такие процессоры не имеют фиксированной длины команды, а самих команд больше.

CISC-процессорами были все процессоры архитектуры x86, которая доминирует в компьютерной индустрии уже не одно десятилетие, до появления Intel Pentium Pro, который впервые отошел от CISC-концепции и сегодня представляет собой гибрид – CISC-чипсет на базе RISC-ядра.

Что такое архитектура процессора в смартфоне, основные типы

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

ARM и x86

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

Отчего такое разделение? Когда-то ARM-процессоры считались сугубо «телефонными» – это были очень маломощные чипы с невысокими возможностями, идеально «заточенные» под мобильную технику.

Они не грелись, не требовали много энергии и умели делать то немногое, что нужно делать на телефоне или смартфоне.

С другой стороны, семейство x86, разработанное Intel, начиная с легендарного процессора Intel 8086 (откуда и пошло название) образца 1978 года, всегда было уделом компьютеров мощных, «настоящих».

Куда уж до них ARM, говорили многие эксперты.

Но времена меняются, и сегодня архитектуры ARM и x86 яростно конкурируют друг с другом во всей компьютерной индустрии, которая все больше зависит от мобильных технологий.

Сама компания ARM, в отличие от Intel, не производит процессоры, но лицензирует их сторонним производителям, среди которых практически все гранды: Apple, Samsung, IBM, NVIDIA, Nintendo, Qualcomm и даже, вот так ирония, Intel (и ее вечный конкурент AMD). Такой подход привел к тому, что ARM-процессоры буквально завалили рынок – сегодня их выпускается не один миллиард каждый год.

Что такое архитектура процессора в смартфоне, основные типы

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

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

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

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

Затем еще одна, мобильная революция породила новую реальность: массовый пользователь вообще отложил компьютеры и перешел на мобильные устройства, где работают в основном в мобильных приложениях. А мобильные приложения – это опять-таки ARM, с которой Intel пока не может совладать.

big.LITTLE

Одной из перспективных технологий ARM является big.LITTLE – технология оптимизации потребления энергии за счет объединения более высокопроизводительных ядер с менее производительными, но более энергоэффективными. Например, это может быть Cortex-A15 и Cortex-A7.

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

LITTLE позволяет снизить потребление энергии чипом на 75% и одновременно поднять производительность на 40%.

У big.LITTLE есть свои разновидности. Например, в 2013 году компания MediaTek представила платформу CorePilot на базе big.LITTLE, в которой впервые был реализован принцип разнородной (гетерогенной) множественной обработки данных (HMP).

Специальное ПО автоматически распределяет рабочие потоки между разными ядрами исходя из их требований.

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

Что такое архитектура процессора в смартфоне, основные типы

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

Назначение ядер происходит в полностью автоматическом режиме. Технология, фактически, следит за тем, чтобы каждое ядро использовалось эффективно и не простаивало.

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

Почему кластерные архитектуры эффективнее?

Но тайваньская компания MediaTek – это не только CorePilot. Производитель произвел настоящий фурор со своей трехкластерной технологией Tri-Cluster. Чтобы понять, что это такое и как работает, вспомним, как работает процессор смартфона или планшета в самом общем случае.

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

Но как происходит это распределение? Иногда – по решению разработчика ПО, иногда –полностью автоматически, и тут все зависит от алгоритмов, которые могут быть более или менее эффективны. В технологии big.LITTLE эту задачу выполняет специальный модуль – планировщик. Например, он может перенести выполнение какого-то процесса с одно ядра на другое, если первому не хватает производительности.

Технология big.LITTLE сделала большой шаг в сторону эффективности за счет двух процессорных кластеров – групп ядер (англ. cluster – скопление).

Если нужно поиграть в трехмерную игру, включаем мощный кластер; если нужно, скажем, почитать книгу или вообще убрать телефон в карман, включается слабый кластер, направленный на максимальную экономию энергии. Вот почему кластерная архитектура столь перспективна.

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

Три кластера против двух

Но и здесь возникла проблема: задачи средней сложности, наиболее распространенные на телефонах, часто направляются на кластер с мощными ядрами. Например, мы работаем с электронной почтой.

Задача не ахти какая ресурсоемкая, но двухкластерная платформа может включить для нее мощный кластер. У нее просто нет выбора – кластера всего два, а никакой «золотой середины» нет.

Результат – ускоренный расход энергии и нагрев устройства при отсутствии очевидных преимуществ для пользователя от быстрого кластера.

Именно эту задачу решает архитектура Tri-Cluster в сочетании с CorePilot 3.0. Она работает не с двумя, а с тремя кластерами, которые в ней получили названия минимум (Min), медиум (Med) и максимум (Max).

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

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

Такой подход наиболее сбалансирован с точки зрения производительности и экономии. Мобильное устройство как бы получает третью передачу. В MediaTek даже говорят, что позаимствовали эту идею у автомобильной индустрии. В компании отмечают, что он позволяет сократить энергопотребление на треть и одновременно поднять производительность на 12–15% в зависимости от ресурсоемкости задачи.

Helio X20

Типичный образец технологий Tri-Cluster и CorePilot – новейший 20-нанометровый десятиядерный чип MediaTek Helio X20 на базе ARM Cortex.

Кластер Max в нем представлен группой из двух ядер Cortex-A72 с тактовой частотой 2,5 ГГц, в Med работают четыре ядра Cortex-A53 с частотой 2 ГГц, ну а Mini выполнен в виде опять-таки четырех ядер Cortex-A53 на 1,4 ГГц.

Helio X20 стал первым в мире мобильным процессором с технологией Tri-Cluster и десятью ядрами (Deca-core).

Источник: https://www.kv.by/content/339070-mobilnye-protsessory-vse-ob-arkhitekturakh

Чем архитектура ARM отличается от x86

В наше время существует две самые популярные архитектуры процессоров. Это x86, которая была разработана еще 80х годах и используется в персональных компьютерах и ARM — более современная, которая позволяет сделать процессоры меньше и экономнее. Она используется в большинстве мобильных устройств или планшетов.

Обе архитектуры имеют свои плюсы и минусы, а также сферы применения, но есть и общие черты. Многие специалисты говорят, что за ARM будущее, но у нее остаются некоторые недостатки, которых нет в x86. В нашей сегодняшней статье мы рассмотрим чем архитектура arm отличается от x86. Рассмотрим принципиальные отличия ARM или x86, а также попытаемся определить что лучше.

Что такое архитектура?

Процессор — это основной компонент любого вычислительного устройства, будь то смартфон или компьютер. От его производительности зависит то, насколько быстро будет работать устройство и сколько оно сможет работать от батареи.

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

Именно они позволяют программам взаимодействовать с аппаратным обеспечением и определяют каким образом будут передаваться данные в память и считываться оттуда.

На данный момент существуют два типа архитектур: CISC (Complex Instruction Set Computing) и RISC (Reduced Instruction Set Computing).

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

Что такое архитектура процессора в смартфоне, основные типы

Архитектура x86

Архитектура процессора x86 была разработана в 1978 году и впервые появилась в процессорах компании Intel и относится к типу CISC. Ее название взято от модели первого процессора с этой архитектурой — Intel 8086.

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

Но также иногда процессоры x86 применяются в планшетах, это довольно привычная практика.

Первый процессор Intel 8086 имел разрядность 16 бит, далее в 2000 годах вышел процессор 32 битной архитектуры, и еще позже появилась архитектура 64 бит.

Мы подробно рассматривали разрядность процессоров в отдельной статье.

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

В x86 есть несколько существенных недостатков. Во-первых — это сложность команд, их запутанность, которая возникла из-за длинной истории развития.

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

Перед тем, как рассмотреть отличия arm x86, поговорим об архитектуре ARM.

Архитектура ARM

Эта архитектура была представлена чуть позже за x86 — в 1985 году. Она была разработана известной в Британии компанией Acorn, тогда эта архитектура называлась Arcon Risk Machine и принадлежала к типу RISC, но затем была выпущена ее улучшенная версия Advanted RISC Machine, которая сейчас и известна как ARM.

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

Читайте также:  Текстовый редактор akelpad: функциональные особенности

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

Отличия ARM и x86

А теперь, когда мы рассмотрели историю развития этих архитектур и их принципиальные отличия, давайте сделаем подробное сравнение ARM и x86, по различным их характеристикам, чтобы определить что лучше и более точно понять в чем их разница.

Производство

Производство x86 vs arm отличается. Процессоры x86 производят только две компании Intel и AMD. Изначально эта была одна компания, но это совсем другая история. Право на выпуск таких процессоров есть только у этих компаний, а это значит, что и направлением развития инфраструктуры будут управлять только они.

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

Количество инструкций

Это главные различия архитектуры arm и x86. Процессоры x86 развивались стремительно, как более мощные и производительные.

Разработчики добавили большое количество инструкций процессора, причем здесь есть не просто базовый набор, а достаточно много команд, без которых можно было бы обойтись. Изначально это делалось чтобы уменьшить объем памяти занимаемый программами на диске.

Также было разработано много вариантов защит и виртуализаций, оптимизаций и многое другое. Все это требует дополнительных транзисторов и энергии.

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

Потребление энергии

Из предыдущего пункта выплывает еще один вывод. Чем больше транзисторов на плате, тем больше ее площадь и потребление энергии, правильно и обратное.

Процессоры x86 потребляют намного больше энергии, чем ARM. Но на потребление энергии также влияет размер самого транзистора. Например, процессор Intel i7 потребляет 47 Ватт, а любой процессор ARM для смартфонов — не более 3 Ватт.

Раньше выпускались платы с размером одного элемента 80 нм, затем Intel добилась уменьшения до 22 нм, а в этом году ученые получили возможность создать плату с размером элемента 1 нанометр.

Это очень сильно уменьшит энергопотребление без потерь производительности.

Что такое архитектура процессора в смартфоне, основные типы

За последние годы потребление энергии процессорами x86 очень сильно уменьшилось, например, новые процессоры Intel Haswell могут работать дольше от батареи. Сейчас разница arm vs x86 постепенно стирается.

Тепловыделение

Количество транзисторов влияет еще на один параметр — это выделение тепла. Современные устройства не могут преобразовывать всю энергию в эффективное действие, часть ее рассеивается в виде тепла. КПД плат одинаковый, а значит чем меньше транзисторов и чем меньше их размер — тем меньше тепла будет выделять процессор. Тут уже не возникает вопрос ARM или x86 будет выделять меньше теплоты.

Производительность процессоров

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

Выводы

В этой статье мы рассмотрели чем отличается ARM от x86. Отличия довольно серьезные. Но в последнее время грань между обоими архитектурами стирается.

ARM процессоры становятся более производительными и быстрыми, а x86 благодаря уменьшению размера структурного элемента платы начинают потреблять меньше энергии и выделять меньше тепла.

Уже можно встретить ARM процессор на серверах и в ноутбуках, а x86 на планшетах и в смартфонах.

А как вы относитесь к этим x86 и ARM? За какой технологией будущее по вашему мнению? Напишите в комментариях! Кстати, Линус Торвальдс предпочитает x86.

На завершение видео о развитии арихтектуры ARM:

Источник: https://losst.ru/chem-arhitektura-arm-otlichaetsya-ot-x86

Как устроен смартфон?

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

Благодаря миниатюрности, надежности, малому энергопотреблению и невысокой стоимости компьютеры проникли во все сферы быта – от телефонов до стиральных машин. Но развитие на этом не остановилось.

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

Высокоинтегрированные системы

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

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

Среди них – планшетные компьютеры, смартфоны, ультракомпактные нетбуки и всевозможные специализированные гаджеты (навигаторы, MP3- и MP4-плееры и т.д.).

В основе – сверхмобильная платформа, которая чаще всего представляет собой так называемую систему на кристалле (System-on-a-Chip, SoC). Это в буквальном смысле самодостаточная система, объединяющая разнообразные устройства (процессоры, память, контроллеры интерфейсов и многое другое) и выполненная в виде единой микросхемы (кристалла).

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

Краеугольным камнем SoC является особый центральный процессор со сверхнизким энергопотреблением. В отличие от процессоров для ПК, в которых применяется разработанная Intel архитектура х86, процессоры мобильных платформ в подавляющем большинстве случаев используют архитектуру ARM, позволяющую создавать пусть менее производительные, зато более экономичные и компактные устройства.

Самыми известными производителями процессоров данной архитектуры являются фирмы Qualcomm, Marvell, Apple и Samsung. Их разработки используются не только в мобильных устройствах собственного производства, например Apple iPhone, но и в изделиях сторонних производителей, таких как HTC или Nokia.

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

Объем установленной flash-памяти, как правило, зависит от позиционирования продукта в линейке: 8-16 Гб для бюджетных моделей и десятки гигабайт — для более дорогих имиджевых модификаций.

Во многих мобильных устройствах присутствует дополнительный разъем для установки стандартных карт SD или microSD, что позволяет значительно увеличить доступное пользователю «дисковое» пространство.

Несмотря на жесткие технические ограничения, задаваемые «ультракомпактными» условиями эксплуатации, частоты современных одночиповых систем уже смогли превысить знаковый рубеж 1 ГГц. Такая производительность вовсе не является избыточной – она нужна прежде всего для плавного воспроизведения насыщенного технологией flash-контента – в частности, многих интернет-сайтов.

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

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

В связке с процессором работает графическое ядро, также разработанное с учетом максимальной экономичности. Впрочем, современные мобильные графические ядра способны не только выводить элементы интерфейса на экран, но и воспроизводить видео стандартов высокой четкости (HD-видео), а также брать на себя расчеты сложной трехмерной графики, использующейся в разнообразных популярных 3D-играх.

Хотя новейшие решения класса ARM Mali 400, NVIDIA GeForce ULP (Tegra 2) или Imagination PowerVR SGX540 по своим графическим и иным возможностям уступают настольным аналогам, однако вполне сопоставимы с видеопроцессорами, применяющимися в таких популярных игровых приставках, как Microsoft Xbox 360 и Sony PlayStation 3. Недаром в последнее время появилось множество динамичных трехмерных игр с впечатляющей графикой и сложными спецэффектами.

Фактически обязательным элементом сверхмобильных платформ стали сетевые интерфейсы, проводные и (или) беспроводные – в частности, 100 Мбит/1 Гбит Ethernet, Wi-Fi стандартов 802.11b/g/n и Bluetooth. За них отвечает отдельный сетевой контроллер, как правило, разработки Broadcom или Atheros.

Поддержка беспроводной сети Wi-Fi позволяет, при наличии точки доступа, легко интегрировать мобильный гаджет в домашнюю сеть и обмениваться данными между ним и основными устройствами (настольный ПК, ноутбук, домашний файловый сервер или NAS). А в некоторых заведениях – например, гостиницах, залах ожидания в аэропортах, интернет-кафе и закусочных McDonald’s, – есть бесплатная услуга выхода в Интернет.

В отличие от медиаплееров, смартфоны и некоторые планшеты дополнительно оснащаются модулями GSM/GPRS, позволяющими совершать звонки, используя сотовую связь, или самостоятельно выходить в Сеть.

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

ОПЕРАТИВНАЯ ПАМЯТЬ

Как в любой компьютерной системе, одним из обязательных элементов SoC является оперативная память.

Преимущественное распространение получил тип памяти LPDDR (Low Power Double Data Rate – память с низким энергопотреблением и удвоенной скоростью передачи данных).

Несмотря на сходство с названиями DDR2 и DDR3, новый тип памяти несовместим с этими стандартами напрямую из-за примененных в LPDDR многочисленных микроархитектурных решений, призванных существенно снизить энергопотребление.

Типичный объем оперативной памяти в современных мобильных устройствах за последнее время существенно возрос (с 128 до 512 Мб–1 Гб) и фактически соответствует объему ОЗУ настольных ПК трех-четырехлетней давности, позволяя использовать новейшие мобильные операционные системы и приложения, которые по своей функциональности мало в чем уступают настольным аналогам.

ДИСПЛЕИ

В современных гаджетах применяются сенсорные дисплеи двух типов: емкостные и резистивные.

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

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

Впрочем, в 2008 году компания HTC разработала и запатентовала электронное перо для работы с емкостными экранами, специально предназначенное пользователям, привыкшим к управлению с помощью стилуса и не желающим переходить на «пальцевый» метод.

Дополнительным преимуществом емкостных экранов является возможность определения нескольких нажатий сразу (технология Multitouch).

Типичный размер экрана для планшета составляет 7–10 дюймов (18–25 см) по диагонали, с разрешающей способностью от 800х480 до 1280×800 точек.

У смартфонов и медиаплееров диагональ равна, как правило, 3–4 дюймам (7–10 см), а разрешение экрана варьируется от скромных 320х200 до впечатляющих 960х640 точек (Retina display в новых iPhone и iPod touch).

ОC ДЛЯ СВЕРХМОБИЛЬНЫХ ПЛАТФОРМ

Источник: https://hi-tech.mail.ru/review/kak_ustroen_smartfon_computerbild/

Ссылка на основную публикацию