Вперше технологія Thumb була вбудована в ядро ​​ARM7 ще в 1995 році. Адаптоване під технологію Thumb (Thumb-орієнтоване) ядро ​​отримало типове позначення ARM7TDMI і за досить короткий час було ліцензоване великою кількістю фірм-виготовлювачів всілякого обладнання, оскільки технологія Thumb, з'явилася відгуком фірми ARM на прагнення розробників критичних до вартості застосувань, типу стільникових телефонів, дисководів CD, модемів і пейджерів, отримати прилади з 32-розрядної продуктивністю і 32-розрядним адресним простором, але без збільшення вартості, пов'язаного з переходом до 32-розрядним системам. Чудова щільність коду, що досягається використанням технології Thumb, дозволяє зменшити необхідний обсяг пам'яті - забезпечує 32-розрядну продуктивність системи при використанні пам'яті 16-розрядного формату, що веде до зниження вартості системи.
Необхідно відзначити, що ядро ​​ARM7TDMI використовується при створенні не тільки спеціалізованих ІС, але і при створенні мікроконтролерів загального призначення. Так фірма Atmel у вересні 1998 року почала поставки мікроконтролерів сімейства AT91, в основу яких покладено ядро ​​ARM7TDMI. Інформацію по приладах серії AT91 можна отримати на сайті .gaw.ru/html.cgi/doc/atmel/at91.htm.
Архітектура ARM є RISC архітектурою, і система команд і пов'язаний з нею механізм декодування набагато простіше, ніж у мікропрограмміруемих CISC комп'ютерів, що призводить до високої швидкості обробки команд, вражаючій швидкості відгуку на переривання (в реальному масштабі часу), реалізації приладу на кристалі малих розмірів і, отже, малої вартості приладу.
Конвеєрна обробка реалізована таким чином, що всі компоненти систем пам'яті та обробки працюють безперервно. Зазвичай, в той час як одна команда вико
нується, наступна команда декодується і третя команда вибирається з пам'яті.
Можливості системи команд ARM7TDMI можуть бути розширені за рахунок додавання до 16 зовнішніх співпроцесорів.
При розробці інтерфейсу пам'яті розробники орієнтувалися на забезпечення реалізації потенційно можливої вЂ‹вЂ‹продуктивності без підвищення вартості самої пам'яті. Критичні до швидкодії сигнали управління також конвейерізовани з тим, щоб реалізувати функції управління системою пам'яті в стандартної логіки з малим споживанням, і ці сигнали управління спрощують використання швидких локальних режимів звернення, необхідних для стандартних динамічних RAM. Крім того, інтерфейс пам'яті ідеально підходить для організації взаємодії як з вбудованою на кристал пам'яттю, так і з зовнішньою пам'яттю, з блоками Flash пам'яті, що дозволяє реалізувати внутрішньосистемні програмування, захист пам'яті, знизити час виходу на ринок, скоротити загальну вартість системи.
Інтерфейс з пам'яттю у процесора ARM7TDMI організується наступними основними елементами:
32-розрядної шиною адреси, визначальною адресу комірки пам'яті, яку необхідно використовувати.
32-розрядної двонаправленої шиною передачі даних D [31:0], плюс двома окремими односпрямованими шинами даних DIN [31:0] і DOUT [31:0], через які переміщаються команди і дані. Дані можуть мати формат слова, півслова або байта.
Сигналами управління, визначальними, наприклад, формат переміщуваних даних і напрямок їх передачі і, крім того, рівень пріоритету.
Рис. 1. Блок-схема процесора ядра ARM7TDMI
Цей набір сигналів дозволяє ARM7TDMI досить просто організовувати інтерфейс з DRAM, SRAM і ROM. Для повного використання сторінкового режиму доступу до DRAM, забезпечується інформація про те, є доступ до пам'яті послідовним чи ні. Взагалі кажучи, інтерфейс зі статичною пам'яттю набагато простіше ніж інтерфейс з динамічною пам'яттю.
Оскільки ядро ARM7TDMI в основі своїй має ядро ​​ARM7, то обмежимося коротким нагадуванням про його архітектуру і більше уваги приділимо особливостям, внесеним технологією Thumb.
Процесор ARM7TDMI - 32-розрядний RISC процесор з 3-рівневим конвеєром, сформований навколо банку з 37 32-розрядних регістрів, в який входять 6 регістрів стану. Процесор оснащений вбудованим помножувачем 32x8 і 32-розрядним многорегістровим циклічним пристроєм зсуву. П'ять незалежних вбудованих шин (PC шина, шина інкремента, шина ALU і A-і B-шини) забезпечують, при виконанні команд високий ступінь паралелізму.
Як видно з порівняння блок-схем процесорів ARM7 і ARM7TDMI (Див. Рис. 1) у блоці конвеєра процесора додався декомпрессор команд Thumb.
Однак розробники фірми ARM цим не обмежилися і, маючи на увазі вбудовування ядра в прилади з більшим рівнем інтеграції, розширили ядро ​​ARM7TDMI (див. Рис. 2) додатковими апаратними блоками, які забезпечують можливість налагодження глибоко вбудованого ядра.
Рис. 2. Блок-схема ядра ARM7TDMI
Як видно з Рис. 2, ядро ​​ARM7TDMI складається з ядра власне процесора, показаного на Рис.1, і розширень налагодження: контролера сканування TAP (boundary scan) і внутрішньосхемного емулятора (ICEBreaker).
Апаратні розширення налагодження ARM7TDMI, забезпечують розгорнуті можливості налагодження, що полегшують розробку користувальницького прикладного програмного забезпечення, операційних систем, і самих апаратних засобів. Апаратні розширення налагодження дозволяють зупиняти ядро ​​або при вибірці заданої команди (в контрольній точці) або при зверненні до даних (в точці перегляду), або асинхронно - за запитом налагодження.
В цих точках, через JTAG послідовний інтерфейс, може бути досліджене внутрішній стан ядра ARM7TDMI, що знаходиться в стані налагодження, і зовнішні стану системи. По завершенні дослідження стану ядра і системи можуть бути відновлені і продовжено виконання програми.
Режим налагодження ARM7TDMI встановлюється або запитом по одному з сигналів зовнішнього інтерфейсу налагодження, або внутрішнім функціональним блоком ICEBreaker, що складається з двох модулів контрольних точок (watchpoint), що працюють в реальному масштабі часу з регістрами стану і управління ядра, і забезпечує підтримку вбудованої налагодження ядра ARM7TDMI. ICEBreaker програмується в послідовному режимі з використанням контролера TAP - засоби керування роботою ланцюжків сканування (Scan Chain 0, 1 і 2) через послідовний інтерфейс JTAG.
Інтерфейс налагодження ARM7TDMI заснований на архітектурі, описаної в стандарті IEEE Std. 1149.1-1990 "Standard Test Access Port (TAP) and Boundary-Scan Architecture ".
Як уже зазначалося вище високопродуктивне 32-розрядне статичну RISC ядро ARM7TDMI займає на кристалі дуже малу площу, мале споживання енергії ядром дозволяє використовувати його в критичних до споживання застосуваннях, технологія Thumb дозволяє використовувати пам'ять 16-розрядного формату меншої ємності і, відповідно, меншої вартості. Не дивно, що тільки протягом року, по закінченні розробки ядра ARM7TDMI, ядро ​​було ліцензоване такими фірмами, як NEC, TI, Symbios Logic, Oki, Atmel, Samsung і VLSI. Надалі ліцензії на використання ядра ARM7TDMI отримали такі гранди напівпровідникової та електронної галузей як IBM, HP, Epson, Matsushita і багато інших.
Йдучи назустріч запитам фірм-розробників ASIC і ASSP, розробників електронної апаратури фірма ARM розширила номенклатуру функціональних макроядер на основі ядра ARM7TDMI (будемо називати макроядром деякий ядро, в даному випадку ARM7TDMI, зі Схемотехнічних інтегрованими разом ним додатковими, расширяющими його можливості функціональними модулями) і в даний час в сімейство ARM7 Thumb входять: ядро ​​ARM7TDMI, макроядра ARM710T, ARM720T і ARM740T, і синтезується (із змінною конфігурацією) ядро ​​ARM7TDMI-S.
Основні характеристики чотирьох перших процесорів наведені в таблиці.
Ядро CPU
Площа кристала
...