Рубрика «tms9900»

Мне довелось программировать на ассемблерах разных процессоров. Последний в списке – это Xilinx MicroBlaze. Решил выложить некоторые свои наблюдения за особенностями этих почти волшебных железок, которые как волшебный ключик Буратино открыли нам двери в волшебную страну виртуальной реальности и массовой креативности. Об особенностях современных систем x86, x86-64, ARM, ARM-64 и т.п. писать не буду, может быть в другой раз – тема очень большая и сложная. Поэтому планирую закончить на Intel 80486 и Motorola 68040. Хотелось ещё включить в обзор IBM/370, с которыми имел дело. Эти системы были довольно далеки от широких масс пользователей, но оказали при этом огромное влияние на компьютерные технологии. На них просто не хватило выделенного на тему времени, они не использовали процессоры-чипы и самих их вроде бы почему-то не осталось совсем. Очень надеюсь, что мои материалы привлекут внимание и знатоков, которые смогут добавить что-нибудь из того, о чем не подумал или не знал.

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

Читать полностью »

image

Если вы используете настольный компьютер или ноутбук, вероятно, в нём стоит микропроцессор линейки Intel 808x, неважно, работает ли машина под управлением Windows или Mac. Абсолютное доминирование этих микропроцессоров восходит к 1978 году, когда IBM выбрала 8088 для своего первого персонального компьютера. Но этот выбор был совсем не очевидным. Некоторые считают, что Intel 8088 был худшим выбором из имевшихся в то время 16-битных микропроцессоров.

Нет, это не был худший выбор. Ему была серьёзная, но худшая, альтернатива. Я знаю это потому, что я руководил организацией, работавшей в составе TI, разработавшей его: TMS9900. Хотя это барахло и использовали в первом в мире 16-битном домашнем компьютере, вы наверняка о нём не слышали. Как говорится, историю пишут победители.

Эта глава истории интересна не только чипом от TI, но и другим его конкурентом, Motorola 68000, с технологической точки зрения превосходившим как Intel 8088, так и TMS9900. И всё же 68000 не попал в IBM PC. И вот вам малоизвестная история от хорошо осведомлённых источников о том, как IBM выбрала недоразвитый чип, TI породил неудачника, а явный лидер от Motorola проиграл.
Читать полностью »

Компьютер Texas Instruments TI-99/4a почти неизвестен за пределами США, однако он был там весьма популярен (выпущено более двух миллионов машин). Хотя этот компьютер создавался как домашний, существенной особенностью (во многом определившей его архитектуру, а затем и судьбу) было то, что за основу был взяли уже существовавший серьёзный мини-компьютер TI-990, собранный на обычной ТТЛ логике. Фактически, микропроцессор TMS9900 в компьютере TI99/4A является реализацией TI-990, но в виде чипа. TI-990 был выпущен в 1975 году, а TMS9900 в 1976 году.

Архитектура и программирование компьютера Texas Instruments TI-99-4a - 1

Таким образом, TI99/4a (в 1979 был выпущен чуть более простой TI-99/4, а в 1981 уже TI-99/4a) получил в наследство крайне странную, для домашних компьютеров, архитектуру. Во-первых, микропроцессор TMS9900 в нём 16-разрядный — с честной 16-разрядной шиной данных (это в конце 1970-х!). Во-вторых, на чипе нет регистров (кроме PC, флагов и указателя «регистров» WP). То, что можно назвать регистрами, находится в отдельной микросхеме 16-разрядного статического ОЗУ размером 256 байт и может адресоваться одновременно как память и (первые 16 слов) как регистры R0..R15. Называется это «scratchpad».
Аппаратного стека нет, вместо этого сохранение значений при вызове подпрограмм осуществляется изменением указателя начала регистров WP в этом самом ОЗУ (напоминает регистровые окна в Sparc'ах). В предке (TI-990) это также использовалось для переключения контекста при реализации многозадачности.

Хотя тактовая частота TMS9900 — 3 МГц, инструкции занимают довольно много тактов — не менее 8. При этом реализовано даже умножение и деление (124 такта).
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js