Войди и оставь комментарий

Или войди с помощью

Это невозможно остановить. Почему именно в 2038 году навсегда сломаются все старые iPhone, компьютеры и банкоматы

Павел avatar | 26
FavoriteLoading В закладки
Это невозможно остановить. Почему именно в 2038 году навсегда сломаются все старые iPhone, компьютеры и банкоматы

Запущенный в 2013 году iPhone 5S стал первым в мире смартфоном на базе 64-битного процессора, когда даже многие настольные компьютеры были 32-битными.

Обычно такая перемена нужна компьютерам, которые требуют больше 4 ГБ оперативной памяти. Но в iPhone 5s стоял всего 1 ГБ, и, судя по количеству оперативной памяти в следующих моделях, Apple могла ещё пять лет выпускать 32-битные смартфоны.

Оказывается, переводить iPhone на архитектуру настолько уровня так рано пришлось совсем по другой причине. Дело в том, что в 2038 году любой гаджет на базе 32-битной системы навсегда сломается.

Если кажется, что эта дата далеко, напоминаю: до неё осталось ровно столько же, сколько прошло с анонса первого iPhone.

Ниже разберёмся, что такое процессоры на базе 64 бит и 32 бит, зачем на них нужно было переходить, в чём настоящая проблема старых CPU и как гениальный маркетинг Apple в очередной раз замаскировал необходимый и стрессовый для индустрии технический скачок, а мы и не заметили.

КРАТКО

  • О чём говорят, когда называют систему 64‑битной
    Почему переход на 64 бит нужен не только для увеличения RAM
    Как часто в прошлом компьютеры переходили на новую битность
    Почему Apple перевела чипы на 64 бит так рано
    Как громкий редизайн iOS 7 оказался маскировкой для перехода на 64 бит
    Какие компьютеры скоро начнут работать с ошибками
  • О чём говорят, когда называют систему 64‑битной


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

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

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

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


    Битность процессора диктует ширину шины, по которой данные попадают из RAM в CPU. От этого зависит скорость передачи данных


    Современная RAM доставляет данные в мультипотоке, который в два раза шире того, что был на 32-битных системах

    Обычно процессор за один такт (1 Гц) получает инструкцию, которая включает код операции и адрес данных в памяти RAM.

    ‣ Поскольку адреса тоже хранятся как числа, то, чем шире адрес, тем больше объём оперативной памяти сможет охватить процессор.

    Например.

    В 32-битных процессорах адреса состоят из 32 бит, и это ограничивает максимальный объём доступной памяти до 4 ГБ (2 в 32 степени байт).

    В 64-битных системах адрес состоит из 64 бит, и теоретически можно обратиться к 16 миллионам ТБ оперативной памяти (2 в 64 степени байт).

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

    Однако это не значит, что для ускорения системы нужно использовать сразу такой объём RAM в 64-битной архитектуре.

    ◦ Назад к содержанию ◬

    Почему переход на 64 бит нужен не только для увеличения RAM

    Как выяснили, 64-битные процессоры поддерживают огромный объём оперативной памяти: они физически способны работать с адресами, охватывающими до 16 миллионов ТБ RAM.

    Но переход на новую разрядность нужен не только для увеличения RAM.

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

    Даже при прежнем объёме памяти инженеры могут разработать на железном уровне новые наборы инструкций в CPU.

    Это оптимизирует регистры и вычислительные блоки-калькуляторы (ALU) внутри CPU под новые переменные, тем самым ускоряя доступ к данным и их обработку.

    ◦ Назад к содержанию ◬

    Как часто в прошлом компьютеры переходили на новую битность

    wp-image-1313520wp-image-1313525wp-image-1313521wp-image-1313513wp-image-1313515

    Первый настоящий процессор Intel 4004 имел разрядность 4 бита. Он максимально поддерживал 16 бит или 2 байта.

    Его вычислительной ёмкости стало мало уже через год, и с тех пор CPU активно переводили на новую архитектуру.

    Так выгляди хронология первых процессоров с новой разрядностью:

    ▪︎ 4-битный: Intel 4004 (1971 год) — первый коммерческий процессор, использовался в калькуляторах
    ▪︎ 8-битные: Intel 8008 (1972 год) — основа первых домашних компьютеров Apple II, Commodore 64
    ▪︎ 16-битные: Intel 8086 (1978 год) — платформа IBM PC и MS-DOS
    ▪︎ 32-битные: Intel 80386 (1985 год) — первая массовая архитектура с поддержкой многозадачности и виртуальной памяти свопа
    ▪︎ 64-битные: AMD Athlon 64 (2003 год) и Intel EMT64 (2004 год).

    В мире смартфонов массовый переход начался с Apple A7 в 2013 году с запуском iPhone 5S. Тогда у многих был вопрос: зачем, если там всего 1 ГБ оперативной памяти.

    Хотя Apple объяснила своё решение на презентации, реальная причина могла быть другой.

    ◦ Назад к содержанию ◬

    Почему Apple перевела чипы на 64 бит так рано


    Фото из нашего обзора iPhone 5S

    Первым iPhone с 6 ГБ оперативной памяти был iPhone 12 Pro, вышедший в 2020 году. Теоретически, до этого момента компания могла спокойно выпускать модели на архитектуре 32 бит.

    Несмотря на то, что Apple разрабатывает дизайн своих чипов самостоятельно, она опирается на набор инструкций, которые создаёт компания-лицензиатор ARM. Часть логики разных модулей CPU продумывают и продают в пользование Apple, Qualcomm и другим именно там.

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

    Вероятно, в Apple увидели, насколько эти инструкции и регистры эффективнее тех, что были созданы для 32-битных систем, в, например декодировании видеопотока и компиляции, и поняли что за ним будущее. Как упоминал выше, эффективность эта повышается за счёт более гибкого доступа к данным.

    На презентации iPhone 5S Фил Шиллер упомянул, что в A7 производительность CPU и GPU увеличили до двух раз как раз благодаря этим современным наборам инструкций.

    Поэтому компания перевела свои процессоры на 64-битную архитектуру до того, как смартфонам понадобилось больше 4 ГБ памяти.

    ◦ Назад к содержанию ◬

    Как громкий редизайн iOS 7 оказался маскировкой для перехода на CPU 64 бит

    С большой вероятностью, Apple запустила полностью новую iOS 7 в том же году по той же причине.

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

    Поскольку iOS 7 выглядела и работала абсолютно иначе по сравнению с iOS 6, скорее всего, она изначально была написана как 64-битная для задела обновлений на будущее. А затем была адаптирована под старые 32-битные устройства.

    Вероятно, по той же причине некоторые устройства не обновились до iOS 7 (iPod Touch 4), а другие работали плохо (iPad 4).

    Также Apple могла перейти на 64 бит как можно раньше, поскольку любой компьютер и телефон на базе 32-битной системы является бомбой отложенного действия.

    ◦ Назад к содержанию ◬

    Какие компьютеры начнут работать с ошибками в 2038 году


    Пострадают любые iPhone старше iPhone 5S

    Из-за особенностей подсчёта времени все компьютеры на базе 32-битных CPU в реальной опасности.

    Эти устройства считают время как количество секунд с 1970 года. Они хранят это число в формате, который ограничен до 2 147 483 647 секунд (2,15 млрд) или 68 лет.

    19 января 2038 года секунды кончатся, поэтому счётчик достигнет максимума и перепрыгнет назад в 1900 год. Они обнулятся до формата «00» с того века, в котором начали отсчёт.

    ❗️ Начнутся масштабные сбои: гаджеты будут показывать неправильную дату или в принципе перестанут работать.

    Это сломает абсолютно всю вычислительную технику, которая работает на 32-битной системе. Сюда включаются не только ваши старые домашние компьютеры и iPhone 5, iPhone 4S и старше.

    Проблема коснётся любой кассы, банкомата, старенького сервера в больнице, компьютеров в боулинг-машинах и аттракционах, и первых автомобилей с операционными системами, которые используют 32-битные CPU.

    wp-image-1313516wp-image-1313518

    То есть пострадает весь корпоративный и госсектор, который не обновит своё железо в течение следующих 18 лет. Учитывая, что в России до сих пор есть терминалы на базе Windows XP, риски реальнее, чем кажутся.

    ‣ Похожая проблема назрела в конце 1990-ых, когда дни компьютеры рассчитывали дату в шестизначном виде (ЧЧ.ММ.ГГ), а другие в более ёмкой, восьмизначной (ЧЧ.ММ.ГГГГ).

    По этой причине 1 января 2000 года некоторые системы могли начали отсчёт с 1900-ых, что вызвало много проблем в банках, больницах и инфраструктуре.

    О том, как мир потратил сумасшедшие суммы на подготовку к этому дню, я пять лет назад рассказывал в статье о десяти самых крупных (на тот момент) ошибках программистов.

    ◦ Назад к содержанию ◬

    1 Звезд2 Звезды3 Звезды4 Звезды5 Звезд (38 голосов, общий рейтинг: 4.34 из 5)
    undefined
    iPhones.ru
    Запущенный в 2013 году iPhone 5S стал первым в мире смартфоном на базе 64-битного процессора, когда даже многие настольные компьютеры были 32-битными. Обычно такая перемена нужна компьютерам, которые требуют больше 4 ГБ оперативной памяти. Но в iPhone 5s стоял всего 1 ГБ, и, судя по количеству оперативной памяти в следующих моделях, Apple могла ещё пять...

    Войди и оставь комментарий

    Или войди с помощью

    <- Назад Забыли пароль? Войти

    26 комментариев

    Форум →
    1. Dmitry Pal avatar
      Dmitry Pal 30 апреля в 13:58
      14

      как показала “проблема 2000-го года” – если заранее приложить голову и усилия, то всё лечится даже софтверными патчами …. не говоря уже о том, сколько же устройств 32-бит останется к 2038 году с учетом среднего срока службы гаджетов в 5-7 лет и части “рекордов” в 12-15, всё успеют обновить на новую платформу и не раз

      Войди на сайт, чтобы ответить
      Ответить
    2. В
      Вячеслав Умнов
      30 апреля в 13:59
      9

      Где то я уже это слышал ) в 1999 – усе пропасть должно было тоже

      Dmitry Pal avatar
      Dmitry Pal30 апреля в 21:14
      2

      эх, сколько тогда бабла попилили на ажиотаже ))) жаль что не мы

      Войди на сайт, чтобы ответить
      Ответить
    3. И
      Илья
      30 апреля в 14:05
      18

      Очень грубая ошибка в статье. Не все 32 битные устройства, а лишь часть; не все используют POSIX время, плюс гораздо многие машины обновлены на альтернативное исчисление времени; если я правильно помню в модах на Windows XP это пофикшено давно

      Вообщем, ради громкого заголовка можно и приврать немного, как я погляжу

      olbilyk avatar
      olbilyk30 апреля в 14:14
      4

      не просто можно а нужно ))) клик бейтные заголовки сами себя не напишут.

      R3doN avatar
      R3doN30 апреля в 14:35
      0

      Линукс тоже начиная с  5.1 все поправили, а вышел он в 2019

      Dmitry Pal avatar
      Dmitry Pal30 апреля в 21:15
      0

      5.1 – это видимо всё же ядро, а не сам Линукс, который гораздо старше

      seaman77 avatar
      seaman7730 апреля в 16:57
      0

      не приврешь, не проживешь )

      Lazarus avatar
      Lazarus30 апреля в 17:44
      3

      этот писака постоянно врёт

      plodozhor avatar
      plodozhor30 апреля в 21:01
      0

      зато фоткает божественно!

      Войди на сайт, чтобы ответить
      Ответить
    4. 🅰
      🅰🅻🅴🆇 (“”);
      30 апреля в 14:06
      7

      Да да да. Про 2000 тоже писали. Что вся банковская система рухнет …

      Войди на сайт, чтобы ответить
      Ответить
    5. Y
      Yury Golubinsky
      30 апреля в 14:06
      5

      Если у кого есть айфон старый – поставьте там просто в настройках 2039-ый год и проверьте!

      Войди на сайт, чтобы ответить
      Ответить
    6. A
      Airy Fizz
      30 апреля в 14:10
      1

      Проблему 2000 решили, и тут решат! AGI не загорами, он подумает)

      Войди на сайт, чтобы ответить
      Ответить
    7. fedorez avatar
      fedorez 30 апреля в 14:21
      1

      Спасибо за статью, хотя восьмибитные Apple II и Commodore 64 не имеют отношения к процессорам intel 8008 – первый был на Мотороле, второй на MOS.

      Войди на сайт, чтобы ответить
      Ответить
    8. Йода avatar
      Йода 30 апреля в 15:07
      0

      Кстати, apple watch 1,2,3 тоже 32-битные ;)

      Войди на сайт, чтобы ответить
      Ответить
    9. N
      Nikolai Sinyov
      30 апреля в 15:14
      2

      Тут проблема в исчислении posix систем. Если брать другую метрику – ничего не упадает.
      It издание называется

      Войди на сайт, чтобы ответить
      Ответить
    10. R
      RoadVeller
      30 апреля в 15:38
      7

      Павел, ну нельзя такие грубые ошибки делать, нельзя.
      С момента релиза первого iPhone прошло 18 лет (2007 – 2025). До 2038 года осталось 13 лет (2025 – 2038).
      Почему Вы пишете, что осталось столько же, сколько прошло?

      Sviatoslav_Dmitrievsky avatar
      Sviatoslav_Dmitrievsky30 апреля в 20:14
      0

      Туда-сюда, тама-сяма…

      Wormhole Traveler avatar
      Wormhole Traveler30 апреля в 22:13
      1

      Всмысле нельзя? Он их специально делает. Гора каментов сама себя не напишет.

      Войди на сайт, чтобы ответить
      Ответить
    11. chirkov avatar
      chirkov 30 апреля в 16:54
      3

      Судя по тенденции все страны к 2038 расхерачат друг друга ракетами

      Войди на сайт, чтобы ответить
      Ответить
    12. 1
      1
      30 апреля в 19:18
      2

      Алё, через 13 лет, кому будут нужны старые айфоны?

      Войди на сайт, чтобы ответить
      Ответить
    13. bigscrap avatar
      bigscrap 30 апреля в 19:20
      2

      Скорее всего ответ будет заблокирован, но все же.В мире слишком много устройств не то, чтобы с 32-битной архитектурой, но даже с 16-битной. И многие из них имеют дело  датой и временем в формате “количество секунд с 1970 года”Это не мешает им работать сейчас, потому что существуют способы работать с переменными, имеющими большую разрядность, чем разрядность процессора. Так было и в 1970, так есть и сейчас.Защита от этой проблемы не аппаратная, она находится на программном уровне и легко может быть исправлена при желании производителя.

      Войди на сайт, чтобы ответить
      Ответить
    14. CoordinatoR avatar
      CoordinatoR 30 апреля в 19:24
      0

      все вылечат софтверно, уже проходили с переходом с 99 на 00. К слову, программно же можно и проблему адресации решить. В теории даже 8-битный проц при шине адреса 16 бит может работать с большими адресами, но нужно будет прикрутить контроллер памяти, будет потеря производительности и увеличение объема кода.

      Войди на сайт, чтобы ответить
      Ответить
    15. Goreff avatar
      Goreff 30 апреля в 19:40
      2

      “Обычно процессор за один такт (1 Гц) получает инструкцию, которая включает код операции и адрес данных в памяти RAM.”

      Чёт не торопится процессор

      Войди на сайт, чтобы ответить
      Ответить
    16. Xx_noobslayer_xX avatar
      Xx_noobslayer_xX 30 апреля в 22:04
      3

      а че мешает прямо сейчас дату поставить 2038 г? проверить

      Йода avatar
      Йода1 мая в 0:09
      2

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

      Войди на сайт, чтобы ответить
      Ответить
    Помни о правилах — если начал оффтопить, то не удивляйся потом.

    Нашли орфографическую ошибку в новости?

    Выделите ее мышью и нажмите Ctrl+Enter.