Texas Instruments TMS9900

Поделись знанием:
Перейти к: навигация, поиск
TMS9900
Центральный процессор

версия TMS9900JL в керамическом корпусе с позолоченными выводами
Производство: 1976
Производитель: Texas Instruments
Технология производства:
N-MOP, 6 мкм
Разъём: DIP64

Микропроцессор TMS9900, представленный в июне 1976, был одним из первых коммерчески доступных однокристальных 16-битных микропроцессоров. TMS9900 использовался, главным образом, в домашнем компьютере TI-99/4A.





История

TMS9900 был сконструирован как однокристальный вариант мини-компьютера серии TI-990, аналогично тому, как микропроцессор Intersil 6100 являлся однокристальной версией 12-битного мини-компьютера PDP-8, а микропроцессоры Fairchild Semiconductor 9440 и Data General mN601 являлись однокристальными версиями 16-битного мини-компьютера Data General Nova. TMS9900 отличался тем, что все его компоненты находились в одной микросхеме, в то время как существовавшие на тот момент 16-битные микропроцессоры National Semiconductor IMP-16 или DEC LSI-11 представляли собой набор из нескольких микросхем.

Архитектура

Особенность архитектуры TMS9900 — отсутствие встроенных регистров общего назначения и хранение их в оперативной памяти. TMS9900 имеет три встроенных 16-битных регистра — счётчик команд (PC), статусный регистр (ST), и регистр указателя рабочего пространства(WP).[1] Регистр WP указывает на начальный адрес в оперативной памяти, начиная с которого хранятся 16 регистров общего назначения процессора (каждый шириной 16 бит). Такая архитектура позволяет выполнять быстрое переключение контекста. Например, при входе в подпрограмму вместо того, чтобы сохранять текущие значения регистров индивидуально, достаточно изменить содержимое регистра рабочего пространства.

При адресации памяти используется порядок байтов от старшего к младшему. TMS9900 — это классическая 16 битная машина с адресным пространством 216 байт (65536 байт или 32768 слов).

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

Адресация и система команд

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

Режимы адресации включают непосредственную (команда содержит операнд), прямую или «символическую» (команда содержит адрес операнда), регистровую (операнд содержится в регистре рабочего пространства), регистровую косвенную (адрес операнда содержится в регистре рабочего пространства) с автоинкрементом или без него, индексную (к адресу операнда в команде прибавляется содержимое регистра рабочего пространства) и адресацию относительно счётчика команд.

Основные двухадресные команды (сложение, вычитание, сравнение, пересылка и т.д.) содержат 2-битное поле режима адресации и 4-битное поле выбора регистра для операнда источника и операнда получателя. В коде операции «символический» режим адресации представлен как индексный с установленным в 0 полем регистра, поэтому 0-й регистр рабочего пространства (WR0) не может быть использован для индексной адресации. В менее часто используемых двухадресных инструкциях, таких как XOR, операнд получатель должен быть регистром рабочего пространства (или парой регистров в случае команд умножения и деления).

Порядок выполнения команд обеспечивается группой из одной команды безусловного и двенадцати команд условного перехода. Адреса переходов задаются относительно счётчика команд со смещением от -128 до +127 машинных слов.

Для вызова подпрограмм используется команда BLWP (Branch and Load Workspace Pointer, перейти и загрузить регистр указателя рабочего пространства), которая загружает новые значения регистров WP и PC, и сохраняет предыдущие значения регистров WP, PC и ST во вновь назначенные регистры 13, 14 и 15. В конце подпрограммы команда RTWP (Return Workspace Pointer, вернуть регистр указателя рабочего пространства) восстанавливает значения регистров WP, PC и ST из регистров 13, 14 и 15. Используя команды BLWP и RTWP возможно осуществлять вложенные вызовы процедур несмотря на отсутствие стека. При этом, однако, программист должен явно назначать корректные области памяти для регистров рабочего пространства.

Система команд также содержит группу команд BL (Branch and Link, перейти и связать), которые сохраняют только регистр PC в регистр 11 и не изменяют регистр WP. В этом случае другая команда BL, используя регистр 11 как адрес перехода, может использоваться для возврата из подпрограммы. При этом вложенные вызовы подпрограмм типа BL невозможны.

TMS9900 имеет необычную и редко используемую команду X (eXecute, выполнить). Эта команда позволяет выполнить другую команду по указанному адресу, не прерывая выполнения программы, то есть, после выполнения команды управление передается на следующий после команды X адрес. Эта команда может использоваться для отладки (в качестве точки останова) и для создания интерпретаторов байт-кода.

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

Реализация

TMS9900 был реализован по N-канальному МОП процессу с кремниевыми затворами,[2] использовал три источника питания напряжением +5, -5 и +12 В и синхронизировался четырёхфазным тактовым сигналом максимальной частотой 3 МГц (длительность цикла 333 нс),[3] обычно формировавшимся генератором тактовых сигналов TIM9904 (также известным, как 74LS362) из опорной частоты 48 МГц.

Самые короткие команды выполнялись восемь тактов или 2,7 мкс (при условии отсутствия внешних циклов ожидания), большинство других требовали от 10 до 14 тактов (3,3—4,7 мкс). Дольше всего выполняющаяся инструкция (DIV) могла требовать до 124 тактов (41,3 мкс).[4]

Процессор был упакован в необычный для того времени 64-выводный корпус типа DIP. Сравнительно большое число выводов позволило раздельно вывести 15 линий шины адреса (так как доступ к памяти осуществляется словами, младший разряд не используется) и 16 линий шины данных без использования мультиплексирования (как сделано, например, в процессоре Intel 8086), сохранив простоту подключения внешней памяти. Вопреки используемому многими производителями соглашению, TI обозначила старшие разряды шин адреса и данных как «A0» и «D0». Все внутренние шины и АЛУ являются 16 битными.

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

Система аппаратных прерываний поддерживает 4-разрядный вход приоритета прерывания. Чтобы прерывание было выполнено, значение на этом входе должно быть больше, чем уровень приоритета, установленный в статусном регистре (биты 12-15). Дополнительно, вход /LOAD обеспечивает возможность немаскируемого прерывания с выделенным вектором.[5]

Процессор TMS9900 также содержит 16-битный сдвиговый регистр (CRU) созданный для взаимодействия с устройствами ввода-вывода. Специальные команды процессора позволяют адресовать до 4096 однобитных портов ввода-вывода, а также выполнять операции ввода-вывода над группами от 1 до 16 портов.

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

Использование

TMS9900 применялся в домашних компьютерах TI-99/4 и TI-99/4A. К сожалению, для сокращения стоимости производства, компания Texas Instruments сделала напрямую доступной процессору TMS9900 быструю оперативную память объёмом всего 128 16-битных слов. Остальная память, объёмом 16 Кб, была 8-битной и доступна процессору только косвенно, через контроллер дисплея, что значительно снизило производительность TI-99/4.

Позже Texas Instruments разработала более мощный и совершенный процессор TMS99000, использовавшийся в мини-компьютере 990/10A для снижения стоимости. К сожалению, ко времени выхода 990/10A на рынок стал очевиден закат эры мини-компьютеров.

Варианты

Модель Описание
TI990/9 Ранняя многокристальная версия процессора для мини-компьютеров, 1974
TI990/10 Многокристальная версия для мини-компьютеров, 1975
TI990/12 Многокристальная версия, более быстрая чем 990/10.
TMS9900 Однокристальная версия, 1976. Использовалась в компьютере TI-99/4(A).
TMS9940 Микроконтроллер с 2 Кб ПЗУ, 128 байт ОЗУ, декрементатором, шиной CRU, 1979
TMS9980, TMS9981 8-битные версии TMS9900
TMS9985 TMS9940 с 8 Кб ПЗУ, 256 байт ОЗУ, и 8-битной внешней шиной, около 1978 (не был выпущен)
TMS9989 Улучшенный вариант 9980, использовался в военной технике.
TMS9995 Улучшенный вариант TMS9985, без ПЗУ. Использовался в прототипе TI-99/8 и компьютере Geneve.
TMS99000 Улучшенный однокристальный вариант 9900, предназначенный для замены 990/10, 1981
TMS99105 Возможность эмуляции дополнительных инструкций
TMS99110 Улучшенный 99105

Напишите отзыв о статье "Texas Instruments TMS9900"

Ссылки

  1. [www.bitsavers.org/pdf/ti/_dataBooks/TMS9900_DataManual.pdf TMS9900 Microprocessor Data Manual]. — Texas Instruments Inc., 1976.
  2. [www.bitsavers.org/pdf/ti/_dataBooks/TMS9900_DataManual.pdf TMS9900 Microprocessor Data Manual]. — Texas Instruments Inc., 1976.
  3. [www.bitsavers.org/pdf/ti/_dataBooks/TMS9900_DataManual.pdf TMS9900 Microprocessor Data Manual]. — Texas Instruments Inc., 1976.
  4. [www.bitsavers.org/pdf/ti/_dataBooks/TMS9900_DataManual.pdf TMS9900 Microprocessor Data Manual]. — Texas Instruments Inc., 1976.
  5. [www.bitsavers.org/pdf/ti/_dataBooks/TMS9900_DataManual.pdf TMS9900 Microprocessor Data Manual]. — Texas Instruments Inc., 1976.

Внешние ссылки

  • [www.bitsavers.org/pdf/ti/_dataBooks/ TMS9900 manuals and references]

Отрывок, характеризующий Texas Instruments TMS9900

Дело было в том, что Илагин, с которым Ростовы были в ссоре и процессе, охотился в местах, по обычаю принадлежавших Ростовым, и теперь как будто нарочно велел подъехать к острову, где охотились Ростовы, и позволил травить своему охотнику из под чужих гончих.
Николай никогда не видал Илагина, но как и всегда в своих суждениях и чувствах не зная середины, по слухам о буйстве и своевольстве этого помещика, всей душой ненавидел его и считал своим злейшим врагом. Он озлобленно взволнованный ехал теперь к нему, крепко сжимая арапник в руке, в полной готовности на самые решительные и опасные действия против своего врага.
Едва он выехал за уступ леса, как он увидал подвигающегося ему навстречу толстого барина в бобровом картузе на прекрасной вороной лошади, сопутствуемого двумя стремянными.
Вместо врага Николай нашел в Илагине представительного, учтивого барина, особенно желавшего познакомиться с молодым графом. Подъехав к Ростову, Илагин приподнял бобровый картуз и сказал, что очень жалеет о том, что случилось; что велит наказать охотника, позволившего себе травить из под чужих собак, просит графа быть знакомым и предлагает ему свои места для охоты.
Наташа, боявшаяся, что брат ее наделает что нибудь ужасное, в волнении ехала недалеко за ним. Увидав, что враги дружелюбно раскланиваются, она подъехала к ним. Илагин еще выше приподнял свой бобровый картуз перед Наташей и приятно улыбнувшись, сказал, что графиня представляет Диану и по страсти к охоте и по красоте своей, про которую он много слышал.
Илагин, чтобы загладить вину своего охотника, настоятельно просил Ростова пройти в его угорь, который был в версте, который он берег для себя и в котором было, по его словам, насыпано зайцев. Николай согласился, и охота, еще вдвое увеличившаяся, тронулась дальше.
Итти до Илагинского угоря надо было полями. Охотники разровнялись. Господа ехали вместе. Дядюшка, Ростов, Илагин поглядывали тайком на чужих собак, стараясь, чтобы другие этого не замечали, и с беспокойством отыскивали между этими собаками соперниц своим собакам.
Ростова особенно поразила своей красотой небольшая чистопсовая, узенькая, но с стальными мышцами, тоненьким щипцом (мордой) и на выкате черными глазами, краснопегая сучка в своре Илагина. Он слыхал про резвость Илагинских собак, и в этой красавице сучке видел соперницу своей Милке.
В середине степенного разговора об урожае нынешнего года, который завел Илагин, Николай указал ему на его краснопегую суку.
– Хороша у вас эта сучка! – сказал он небрежным тоном. – Резва?
– Эта? Да, эта – добрая собака, ловит, – равнодушным голосом сказал Илагин про свою краснопегую Ерзу, за которую он год тому назад отдал соседу три семьи дворовых. – Так и у вас, граф, умолотом не хвалятся? – продолжал он начатый разговор. И считая учтивым отплатить молодому графу тем же, Илагин осмотрел его собак и выбрал Милку, бросившуюся ему в глаза своей шириной.
– Хороша у вас эта чернопегая – ладна! – сказал он.
– Да, ничего, скачет, – отвечал Николай. «Вот только бы побежал в поле матёрый русак, я бы тебе показал, какая эта собака!» подумал он, и обернувшись к стремянному сказал, что он дает рубль тому, кто подозрит, т. е. найдет лежачего зайца.
– Я не понимаю, – продолжал Илагин, – как другие охотники завистливы на зверя и на собак. Я вам скажу про себя, граф. Меня веселит, знаете, проехаться; вот съедешься с такой компанией… уже чего же лучше (он снял опять свой бобровый картуз перед Наташей); а это, чтобы шкуры считать, сколько привез – мне всё равно!
– Ну да.
– Или чтоб мне обидно было, что чужая собака поймает, а не моя – мне только бы полюбоваться на травлю, не так ли, граф? Потом я сужу…
– Ату – его, – послышался в это время протяжный крик одного из остановившихся борзятников. Он стоял на полубугре жнивья, подняв арапник, и еще раз повторил протяжно: – А – ту – его! (Звук этот и поднятый арапник означали то, что он видит перед собой лежащего зайца.)
– А, подозрил, кажется, – сказал небрежно Илагин. – Что же, потравим, граф!
– Да, подъехать надо… да – что ж, вместе? – отвечал Николай, вглядываясь в Ерзу и в красного Ругая дядюшки, в двух своих соперников, с которыми еще ни разу ему не удалось поровнять своих собак. «Ну что как с ушей оборвут мою Милку!» думал он, рядом с дядюшкой и Илагиным подвигаясь к зайцу.
– Матёрый? – спрашивал Илагин, подвигаясь к подозрившему охотнику, и не без волнения оглядываясь и подсвистывая Ерзу…
– А вы, Михаил Никанорыч? – обратился он к дядюшке.
Дядюшка ехал насупившись.
– Что мне соваться, ведь ваши – чистое дело марш! – по деревне за собаку плачены, ваши тысячные. Вы померяйте своих, а я посмотрю!
– Ругай! На, на, – крикнул он. – Ругаюшка! – прибавил он, невольно этим уменьшительным выражая свою нежность и надежду, возлагаемую на этого красного кобеля. Наташа видела и чувствовала скрываемое этими двумя стариками и ее братом волнение и сама волновалась.
Охотник на полугорке стоял с поднятым арапником, господа шагом подъезжали к нему; гончие, шедшие на самом горизонте, заворачивали прочь от зайца; охотники, не господа, тоже отъезжали. Всё двигалось медленно и степенно.
– Куда головой лежит? – спросил Николай, подъезжая шагов на сто к подозрившему охотнику. Но не успел еще охотник отвечать, как русак, чуя мороз к завтрашнему утру, не вылежал и вскочил. Стая гончих на смычках, с ревом, понеслась под гору за зайцем; со всех сторон борзые, не бывшие на сворах, бросились на гончих и к зайцу. Все эти медленно двигавшиеся охотники выжлятники с криком: стой! сбивая собак, борзятники с криком: ату! направляя собак – поскакали по полю. Спокойный Илагин, Николай, Наташа и дядюшка летели, сами не зная как и куда, видя только собак и зайца, и боясь только потерять хоть на мгновение из вида ход травли. Заяц попался матёрый и резвый. Вскочив, он не тотчас же поскакал, а повел ушами, прислушиваясь к крику и топоту, раздавшемуся вдруг со всех сторон. Он прыгнул раз десять не быстро, подпуская к себе собак, и наконец, выбрав направление и поняв опасность, приложил уши и понесся во все ноги. Он лежал на жнивьях, но впереди были зеленя, по которым было топко. Две собаки подозрившего охотника, бывшие ближе всех, первые воззрились и заложились за зайцем; но еще далеко не подвинулись к нему, как из за них вылетела Илагинская краснопегая Ерза, приблизилась на собаку расстояния, с страшной быстротой наддала, нацелившись на хвост зайца и думая, что она схватила его, покатилась кубарем. Заяц выгнул спину и наддал еще шибче. Из за Ерзы вынеслась широкозадая, чернопегая Милка и быстро стала спеть к зайцу.
– Милушка! матушка! – послышался торжествующий крик Николая. Казалось, сейчас ударит Милка и подхватит зайца, но она догнала и пронеслась. Русак отсел. Опять насела красавица Ерза и над самым хвостом русака повисла, как будто примеряясь как бы не ошибиться теперь, схватить за заднюю ляжку.
– Ерзанька! сестрица! – послышался плачущий, не свой голос Илагина. Ерза не вняла его мольбам. В тот самый момент, как надо было ждать, что она схватит русака, он вихнул и выкатил на рубеж между зеленями и жнивьем. Опять Ерза и Милка, как дышловая пара, выровнялись и стали спеть к зайцу; на рубеже русаку было легче, собаки не так быстро приближались к нему.
– Ругай! Ругаюшка! Чистое дело марш! – закричал в это время еще новый голос, и Ругай, красный, горбатый кобель дядюшки, вытягиваясь и выгибая спину, сравнялся с первыми двумя собаками, выдвинулся из за них, наддал с страшным самоотвержением уже над самым зайцем, сбил его с рубежа на зеленя, еще злей наддал другой раз по грязным зеленям, утопая по колена, и только видно было, как он кубарем, пачкая спину в грязь, покатился с зайцем. Звезда собак окружила его. Через минуту все стояли около столпившихся собак. Один счастливый дядюшка слез и отпазанчил. Потряхивая зайца, чтобы стекала кровь, он тревожно оглядывался, бегая глазами, не находя положения рукам и ногам, и говорил, сам не зная с кем и что.
«Вот это дело марш… вот собака… вот вытянул всех, и тысячных и рублевых – чистое дело марш!» говорил он, задыхаясь и злобно оглядываясь, как будто ругая кого то, как будто все были его враги, все его обижали, и только теперь наконец ему удалось оправдаться. «Вот вам и тысячные – чистое дело марш!»
– Ругай, на пазанку! – говорил он, кидая отрезанную лапку с налипшей землей; – заслужил – чистое дело марш!
– Она вымахалась, три угонки дала одна, – говорил Николай, тоже не слушая никого, и не заботясь о том, слушают ли его, или нет.
– Да это что же в поперечь! – говорил Илагинский стремянный.
– Да, как осеклась, так с угонки всякая дворняшка поймает, – говорил в то же время Илагин, красный, насилу переводивший дух от скачки и волнения. В то же время Наташа, не переводя духа, радостно и восторженно визжала так пронзительно, что в ушах звенело. Она этим визгом выражала всё то, что выражали и другие охотники своим единовременным разговором. И визг этот был так странен, что она сама должна бы была стыдиться этого дикого визга и все бы должны были удивиться ему, ежели бы это было в другое время.
Дядюшка сам второчил русака, ловко и бойко перекинул его через зад лошади, как бы упрекая всех этим перекидыванием, и с таким видом, что он и говорить ни с кем не хочет, сел на своего каураго и поехал прочь. Все, кроме его, грустные и оскорбленные, разъехались и только долго после могли притти в прежнее притворство равнодушия. Долго еще они поглядывали на красного Ругая, который с испачканной грязью, горбатой спиной, побрякивая железкой, с спокойным видом победителя шел за ногами лошади дядюшки.
«Что ж я такой же, как и все, когда дело не коснется до травли. Ну, а уж тут держись!» казалось Николаю, что говорил вид этой собаки.
Когда, долго после, дядюшка подъехал к Николаю и заговорил с ним, Николай был польщен тем, что дядюшка после всего, что было, еще удостоивает говорить с ним.


Когда ввечеру Илагин распростился с Николаем, Николай оказался на таком далеком расстоянии от дома, что он принял предложение дядюшки оставить охоту ночевать у него (у дядюшки), в его деревеньке Михайловке.
– И если бы заехали ко мне – чистое дело марш! – сказал дядюшка, еще бы того лучше; видите, погода мокрая, говорил дядюшка, отдохнули бы, графинечку бы отвезли в дрожках. – Предложение дядюшки было принято, за дрожками послали охотника в Отрадное; а Николай с Наташей и Петей поехали к дядюшке.