Apple T1: iOS-пристрій проникає в Mac

Строго кажучи, Apple T1 працювала під управлінням brid^ OS, заснованої на watchOS - але чи пам'ятаєте ви на чому заснована watchOS? Ще цікавіше джерело інформації. Головний з них - сама Apple. Несподівано? Про Apple T1 відомо набагато краще, ніж про інші чіпи розроблених Apple. Хоча, по ідеї, саме цей чіп, безпосередньо пов'язаний із забезпеченням безпеки, повинен був стати найстрашнішою «яблучною» таємницею. Парадокс?

Інші системи-на-чіпі (SoC) і системи-в-корпусі (SiP), за винятком Apple A *, були невідомими в невідомому. Ареалом їхнього проживання були недосліджені розробниками пристрою. Ні для однієї з платформ компанії, крім Mac'a і iPhone/iPad, або взагалі не було незалежних інструментів, що дозволяють заглянути всередину, або про них мало хто зміг дізнатися (зачистили?) - і достовірної інформації дуже мало.


Перший чіп власної розробки призначений для використання в Mac'ax, Apple T1, відрізнявся від них. Його можна було «побачити» з macOS, і дізнатися багато цікавих подробиць - не здираючи з нього шкуру, шар за шаром, не використовуючи для досліджень потужний електронний мікроскоп (ціною в мільйони доларів). До чиподерів я повернуся, трохи пізніше. Є до них питання, на деякі з яких я можу відповісти.

У бета-версії macOS Sierra, яка була зобов'язана працювати з цим чіпом, як тільки про нього стало відомо (зі слів Філа Шиллера), знайшли «відображення» Apple T1, достатнім щоб зрозуміти або припустити як він влаштований, як з ним взаємодіє macOS. В основному припустити.

І, з конкретними питаннями, звернулися до Apple. Написали листа Філу Шиллеру. І, всупереч усім уявленням про звичаї компанії, їм відповіли. Відповідав фахівець, не сам Філ, який залишився невідомим - але відповідь був підписаний Філом Шиллером.

Відомості про чіпів Apple, як виявилося, не приховує - вона їх просто не робить надбанням громадськості. Це не одне і те ж, погодьтеся.

Це продовження серії про чіпи розроблені Apple. Попередні частини:

Перша частина: У тіні Apple А4,
друга частина: Народження «яблучного» процесора,
третя частина: Повертаючись до початку почав: Apple A6/A6X (Swift
); четверта частина: Cyclone приходить на зміну Swift (в Apple А
7), П'ята частина: Ще один «NeXT», або співпроцесор для фітнесу (Apple
М7), Шоста частина: Cyclone перетворюється на Typhoon (Apple
А8), Сьома частина: Apple S1: загадка, укрита таємницею,
восьма частина: Apple A8X: Графіка в зоні особливої уваги
; Apple A9 - обманщик, негідник і
чіпгейт, десята частина: Apple A9X: Ядерна
фізика?; одинадцята частина: Apple A10 Fusion.


При чому тут Touch Bar?

Touch Bar, крім іншого, повинен був працювати з Touch ID і Apple Pay. І, зі зрозумілих причин, з цими технологіями пов'язані виняткові заходи безпеки. А без них ця смужка з Touch інтерфейсом була б на порядок менш привабливою.

В iOS для них був розроблений цілий комплекс нетривіальних рішень, як на рівні «заліза» (секретний анклав доступний тільки всередині системи-на-чіпі, для зовнішнього світу його нібито і немає), так і на рівні програмного забезпечення. Все це розроблялося і налагоджувалося протягом декількох років, педантично і ґрунтовно. У стилі Apple, тобто, з маніакальною увагою до всіх дрібниць. З урахуванням особливостей техніки де їх передбачалося використовувати.

Підтримку Touch ID і Apple Pay в Mac'ax можна було реалізувати по різному. Наприклад, перенести гігантський масив коду для iOS, а потім, з тими ж ретельністю і педантизмом, домогтися тієї ж скритності та ефективності численних тонких місць. Гарну справу «портингом» не назвуть (porting - це перенесення програмного забезпечення з платформи на платформу).

Це потребувало б дуже багато часу, результат при цьому ніхто гарантувати не міг, тому що в будь-якому новому коді обов'язково є помилки, які не будуть виявлені і виправлені при його тестуванні і проявляться тільки коли він вирветься на свободу. В iOS проблеми з Touch ID (які не призвели до витоку інформації, але могло бути й інакше) були, і не раз.

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

А можна було включити до складу Mac'a невеликий iOS-пристрій, використовувати загальний вихідний код, перевірений і свідомо здатний вирішувати завдання, що стоять перед ним, і використовувати при розробці чіпа накопичений досвід. Цей шлях теж був нетривіальний, але він майже гарантував бездоганний результат, а витрати кваліфікованої праці при цьому були б набагато меншими. Прийнятними для Apple.

У підсумку, була розроблена система-на-чіпі, яку назвали Apple T1. Найменший iOS-пристрій у світі.


Портрет Apple T1, в інтер'єрі MacBook Pro:

Фотографій Apple T1 зі здертою шкірою я не знайшов. Шукав, але без фанатизму. Про цю систему-на-чіпі нам відомі куди більш важливі подробиці.

Подробиці

Внутрішнім життям Apple T1 і його взаємодією із зовнішнім світом (з MacBook Pro в даному випадку) управляє операційна система brid^ OS. Спеціально розроблене для цього завдання, детальний опис якого у 2016 році був закритою інформацією.

Систему не стали розробляти з нуля, технічно кажучи це підмножина iOS, як і інші публічні iOS-подібні операційний системи. В якості початкової точки для її розробки була використана watchOS, з неї щось видалили, в неї щось додали, але багато в ній вже було.

У системі-на-чіпі використовувався 32-бітний процесор з архітектурою ARMv7, від Apple, швидше за все 1-ядерний, швидше за все дуже схожий на процесор в Apple S1P або в Apple S2. Питання про конкретну природу процесора залишилося без відповіді, але здоровий глузд підказує найбільш вірогідний варіант.


На кристалі системи-на-чіпі розташовувався той самий секретний анклав. Про те що він є розповіли всім. Його можна було, після неприємних і вбивчих для мікросхеми процедур, сфотографувати за допомогою електронного мікроскопа, навіть в рентгенівських променях або в ультрафіолеті, але до чутливі дані користувача не будуть розкриті. Перше що відбувається на самому початку розтину - система-на-чіпі помирає. Візуальне вивчення звивин головного мозку не може розповісти що і про що думав їхній володар.

І, оскільки для Touch Bar довелося виготовити iOS-пристрій, генетично пов'язаний з Apple Watch, а завдання Touch Bar не дуже сильно відрізнялися від типових завдань інших iOS-пристроїв, Apple T1 доручили і його. Графічний процесор MacBook Pro не бере участі у відображенні «картинок» на цій різнокольоровій смужці. Це робить Apple T1.

Тобто, якийсь графічний процесор на цьому кристалі є - але відомостей про нього немає.

Результати розтину могли б дати відповідь на багато з питань, що залишилися без відповіді.

Про чиподери

Компанія Chipworks, відома знімками з поверхні дальніх космічних світів кристалів Apple Ax різних модифікацій, яку я так нешанобливо (шкодую) відніс до чиподерів, розкривала і досліджувала й інші чіпи від Apple.


Але робила вона це зовсім не з цікавості. Вона зовсім не «безприбуткова організація», і існує не на пожертви. Вона розкриває і аналізує чіпи не тільки від Apple, в тому числі і абсолютно секретні - на замовлення, за пристойні компенсації. Чіпи, які не можуть не викликати інтерес, розкриваються і вивчаються заздалегідь - але щоб отримати доступ до цієї інформації, потрібно платити.

Розтин і аналіз Apple Ax - це дуже успішна рекламна кампанія.

Кожен наступний Apple Ax демонстрував цікавим від природи їх можливості.

Chipworks заробляє цим на життя. А також на оплату праці експертів найвищої кваліфікації, дороге прецизійне обладнання (для чиподерських потреб), і, думаю, на врегулювання неминуче виникаючих конфліктів з деякими з виробників чіпів. За умовами договору з клієнтами, публікація результатів розтину у відкритих джерелах інформації забороняється.

Якщо у відкритих джерелах виявляється знімок, який заборонено публікувати, його видаляють (як мінімум), і напевно роблять все щоб подібне не повторилося.


Apple не приховує інформацію про своїх чіпів. Вона її просто не публікує, вважаючи що ці подробиці 99,999% їхніх клієнтів абсолютно нецікаві. Тільки і всього.

Продовження слід

Обговорити історію Apple ви можете в нашому Telegram-чаті.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND