Все цифровые компьютеры обладают одинаковыми возможностями. Они не могут делать ничего, что выходило бы за пределы потенциала примитивной вычислительной машины, разработанной Аланом Тьюрингом. При этом скорость процессора, конечно же, влияет на общую полезность компьютерной системы. Например, любой компьютер, который считает медленнее, чем человеческий мозг, является бесполезным. И мы вряд ли сможем посмотреть фильм на экране современного компьютера, если процессору потребуется целая минута для того, чтобы нарисовать один кадр.
Вернемся в середину 1970-х. Несмотря на свои ограничения, микросхема 4004 стала началом новой эпохи. К апрелю 1972 года компания Intel выпустила микросхему 8008 — 8-разрядный микропроцессор с тактовой частотой 200 килогерц и адресуемой памятью объемом 16 килобайта. (Видите, как легко описать процессор с помощью всего лишь трех параметров?) А в 1974 году в течение пятимесячного периода компании Intel и Motorola выпустили микропроцессоры, превосходящие по своим характеристикам микросхему 8008. Эти два микропроцессора изменили мир.
Глава 19
Два классических микропроцессора
Микропроцессор, представляющий собой совокупность всех компонентов центрального процессорного устройства (ЦПУ), объединенных на одной кремниевой микросхеме, появился в 1971 году. Начало было скромным: первый микропроцессор Intel 4004 содержал около 2300 транзисторов. Сегодня количество транзисторов в микропроцессорах, предназначенных для домашних компьютеров, приблизилось к отметке в десять миллионов.
Тем не менее принцип его работы на фундаментальном уровне остался прежним. Огромное количество дополнительных транзисторов в современных чипах может выполнять интересные функции; на первых этапах изучения оно скорее отвлекает, чем проясняет ситуацию. Для четкого представления работы микропроцессора рассмотрим его первые версии.
Микропроцессоры, о которых пойдет речь, появились в 1974 году. В апреле Intel представила свою микросхему 8080, а в августе Motorola, которая с начала 1950-х годов занималась производством полупроводников и транзисторных устройств, выпустила микросхему 6800. В тот год на рынке появились не только эти микропроцессоры. Тогда же компания Texas Instruments представила свою 4-разрядную микросхему TMS1000, которая устанавливалась во многие калькуляторы, игрушки и другие устройства, а National Semiconductor выпустила первый 16-разрядный микропроцессор PACE. Оглядываясь назад, можно сказать, что микросхемы 8080 и 6800, безусловно, сыграли наиболее значимую роль в истории развития вычислительной техники.
Компания Intel начала продавать микросхему 8080 по цене 360 долларов США, как бы подтрунивая над мейнфреймами System/360 компании IBM, на которые крупные корпорации тратили миллионы долларов. Нельзя сказать, что микросхема 8080 могла тягаться с мейнфреймом System/360, однако в последующие несколько лет IBM не могла обойти вниманием эти миниатюрные компьютеры.
Чип 8080 — это 8-разрядный микропроцессор, который содержит около 6000 транзисторов, работает с тактовой частотой два мегагерца и может адресовать 64 килобайта памяти. Микросхема 6800 содержит около 4000 транзисторов и тоже может адресовать 64 килобайта памяти. Первые чипы 6800 работали на частоте один мегагерц, но к 1977 году Motorola представила их усовершенствованные версии, работавшие с частотой 1,5 и 2 мегагерца.
Микросхемы 8080 и 6800 называются однокристальными микропроцессорами, или однокристальными компьютерами. Процессор — это только один из компонентов компьютера. В дополнение к нему требуются по крайней мере некоторое оперативное запоминающее устройство (ОЗУ), какой-то способ, позволяющий пользователю записать информацию в компьютер (устройство ввода), а также извлечь ее из него (устройство вывода). Кроме того, необходимо еще несколько других микросхем для объединения всех компонентов. Я опишу их подробнее в главе 21.
А сейчас рассмотрим сам микропроцессор. Часто его описание сопровождается блок-схемой, которая иллюстрирует внутренние компоненты микропроцессора и то, как они связаны между собой. Однако на это мы уже насмотрелись в главе 17. Здесь мы постараемся понять, что происходит внутри процессора, наблюдая, как он взаимодействует с внешним миром. Другими словами, мы можем представить микропроцессор в качестве «черного ящика», внутреннюю работу которого нам не обязательно досконально изучать, чтобы разобраться в его функциях. Для этого достаточно ознакомиться с входными и выходными сигналами, в частности набором команд.
Чипы 8080 и 6800 — это интегральные микросхемы с 40 выводами. Чаще всего длина их корпуса составляет пять сантиметров, ширина — около 1,5 сантиметра, а высота — около трех миллиметров.
Разумеется, мы говорим только о корпусе. Размер кремниевой пластины внутри намного меньше: в ранних версиях 8-разрядных микропроцессоров это квадрат со стороной около шести миллиметров. Корпус защищает кремниевый чип и обеспечивает доступ ко всем его входам и выходам. На следующей схеме показаны функции 40 выводов микросхемы 8080.
Каждому из созданных нами электрических или электронных устройств нужен источник питания. Одна из особенностей микросхемы 8080 — ей необходимы три различных напряжения. На контакт 20 должно подаваться напряжение пять вольт, на контакт 11 — минус пять вольт, а на контакт 28 — 12 вольт. Контакт 2 подключается к земле. (В 1976 году Intel выпустила микросхему 8085 с более простой системой электропитания.)
Все остальные контакты изображены в виде стрелок. Стрелка, направленная от микросхемы, обозначает выходной сигнал. Это контролируемый микропроцессором сигнал, на который реагируют другие чипы. Стрелка, направленная к микросхеме, — входной сигнал, поступающий от другого чипа. Некоторые контакты используются в качестве как входов, так и выходов.
Для работы процессора, описанного в главе 17, необходим осциллятор. Микросхеме 8080 требуются два разных сигнала тактовой синхронизации с частотой два мегагерца, обозначенные на схеме символами 01 и 02 рядом с контактами 22 и 15. Эти сигналы удобнее генерировать с помощью другого чипа компании Intel под названием генератор тактовых импульсов 8224. К этому чипу просто подключается кристалл кварца с частотой 18 мегагерц, а все остальное делает генератор.
Микропроцессор всегда предусматривает несколько выходных сигналов для адресации памяти. Количество сигналов, используемых для этой цели, напрямую связано с объемом памяти, к которой может обращаться микропроцессор. Чип 8080 имеет 16 таких сигналов, обозначенных символами от A0 до A15, что позволяет ему адресовать 216, или 65 536 байт.
Микропроцессор 8080 является 8-разрядным, значит, он считывает данные из памяти и записывает их по восемь бит за один раз. Для этого используются контакты с D0 по D7, которые работают как на вход, так и на выход. Когда микропроцессор считывает байт из памяти, эти контакты функционируют как входы; когда микропроцессор записывает байт в память — как выходы.