2_Машина Фон Неймана (975799), страница 4
Текст из файла (страница 4)
Заметим, что эта память не совсемотвечала принципу однородности памяти фон Неймана, так как одинаковое время доступа к каждой ячейке было только в среднем за большое число обращений.7кунду. Заметим, что именно от этой машины принято отсчитывать первое поколение ЭВМ (всепредшествующие "не совсем настоящие" компьютеры можно условно отнести к нулевому поколению).И в заключение этого раздела мы совсем немного рассмотрим архитектуру ЭВМ на уровне инженера-конструктора. Это будет сделано исключительно для того, чтобы снять тот покров таинственности сработы центрального процессора, который есть сейчас у некоторых читателей: как же машина может автоматически выполнять различные операции над данными, неужели она такая умная? Такое чувство непонимания является для профессионалов совершенно неприемлемым.Аппаратура современных ЭВМ конструируется из некоторых относительно простых элементов,называемых в русскоязычной литературе вентилями (по-английски – circuits).
Каждый вентиль является достаточно простой (электронной) схемой и реализует одну из логических операций, у негоесть один или два входа (аргументы операции) и один выход (результат). На входах и выходе могутбыть электрические сигналы двух видов: низкое напряжение (трактуется как ноль или логическоезначение false) и высокое (ему соответствует единица или логическое значение true)1. Основные вентили у нас будут следующие.1. Отрицание, этот вентиль имеет один вход и один выход, он реализует хорошо известнуюВам операцию отрицания not (НЕ) языка Паскаль.
Другими словами, если на вход такоговентиля подаётся импульс высокого напряжения (значение true), то на выходе получитсянизкое напряжение (значение false) и наоборот. Будем в наших схемах изображать этот вентиль так:not2. Дизъюнкция или логическое сложение, этот вентиль реализует хорошо известную Вам операцию Паскаля or (ИЛИ), мы будем изображать его какor3. И, наконец, вентиль, реализующий конъюнкцию или логическое умножение, в Паскале этооперация and (И), мы будем изображать его какandЗаметим, что чисто с технической точки зрения инженерам легче создавать вентили, задающиелогические функции not and и not or (для их реализации в электронных схемах требуется наодин транзистор меньше, чем для вентилей and и or ), но здесь это нас интересовать не будет.Далее, можно считать, что каждый вентиль срабатывает (т.е.
преобразует входные сигналы в выходные) не непрерывно, а только тогда, когда на этот вентиль по специальному управляющему проводу приходит так называемый тактовый импульс. Заметим, что по этому принципу работаютЭВМ, которые называются дискретными, в отличие от аналоговых компьютеров, схемы в которыхработают непрерывно (всё время).
Подавляющее число современных ЭВМ являются дискретными,только их мы и будем изучать. О принципах работы аналоговых ЭВМ немного рассказывается в последней главе этой книги. Более подробно об этом можно прочесть в книгах [1,3].Из вентилей строятся так называемые интегральные схемы (по-английски chips) – это наборвентилей, соединённых проводами и такими радиотехническими элементами, как сопротивления,конденсаторы и индуктивности, знакомые Вам из курса физики. Каждая интегральная схема тожеимеет свои входы и выходы (их называют внешними контактами схемы) и реализует какую-нибудьфункцию узла компьютера. В специальной литературе интегральные схемы, которые содержат порядка 1000 вентилей, называются малыми интегральными схемами (МИС), порядка 10000 вентилей –средними (СИС), порядка 100000 – большими (БИС), а число вентилей в сверхбольших интегральныхсхемах (СБИС) исчисляется уже миллионами.Большинство современных интегральных схем собираются на одной небольшой (прямоугольной)пластинке полупроводника (обычно очень чистого кремния) с размерами порядка сантиметра.
Подмикроскопом такая пластинка СБИС похожа на рельефный план большого города, со своими кварталами, домами, широкими проспектами и более узкими улицами. Интегральная схема может иметь отнескольких десятков до нескольких сотен внешних контактов.Дадим представление о количестве вентилей в различных электронных устройствах. Например,для того, чтобы реализовать схему простых электронных часов, необходимо порядка 1000 вентилей,из 10000 вентилей уже можно собрать простейший центральный процессор, а, например, центральные процессоры современных персональных ЭВМ реализуются на интегральной схеме, состоящейуже из десятков миллионов вентилей.
В последнее время на одной пластинке кремния иногда созда1В принципе вентили могут быть не только электрическими, но и, например, световыми, тогда на их входпо так называемым световодам подаются импульсы света различной интенсивности или поляризации.8ют не один, а несколько почти независимых друг от друга центральных процессоров, собранные набазе таких интегральных схем компьютеры называются многоядерными.В качестве примера рассмотрим очень простую интегральную схему, которая реализует функциюсложение двух одноразрядных двоичных целых чисел. Входными данными этой схемы являются значения одноразрядных переменных x и y, а результатом – их сумма, которая, в общем случае, являетсядвухразрядным числом (обозначим разряды этого числа как a и b), формирующаяся как результатсложения x+y.1 Если трактовать значения входных переменных x и y как логические значения (0 какfalse и 1 как true), то можно считать, что наша схема реализует некоторую логическую функцию сдвумя аргументами и двумя логическими результатами.
Запишем таблицу истинности для этой логической функции:xyba0000010110011110Легко вычислить, что выходные величины a и b будут определяться такими логическими формулами:а = x<>y = (x or y) and not(x and y)b = x and yРеализуем нашу схему двоичного сумматора как набор вентилей, связанных проводниками (см.рис. 2.2. а).
Здесь мы воспользовались тем обстоятельством, что входной электрический сигнал (например, приходящий на вход x) с помощью проводов можно "продублировать" и одновременно подать на вход сразу двух вентилей.2x↓↓oranda↓↓yandnotbРис. 2.2. а) Сборка двоичного сумматора из вентилей, ↓ – тактовые импульсы.Теперь, если реализовать этот двоичный сумматор в виде интегральной схемы (ИС), то она будет иметь не менее 7-ми внешних контактов (см. рис. 2.2 б). Это входные контакты x и y, выходныеа и b, один контакт для подачи тактовых импульсов (о них мы уже говорили, когда объясняли работувентилей), два контакта для подачи электрического питания (ясно, что без энергии ничего работатьне будет) и, возможно, другие контакты.
Суммирование чисел x и y в приведенной выше схеме осу1Более строго, в научной литературе рассматриваемая нами схема называется полусумматором, но дляпростоты изложения мы не будем принимать это во внимание.2Замечание для продвинутых читателей. Построение этой схемы легче понять, если преобразовать логические формулы, выражающие зависимость результата (b и a) от аргументов (x и y) в так называемую постфиксную форму записи. В постфиксной форме записи знаки бинарных операций записываются не между операндами, а после них.
Например, операция x and y будет теперь записываться как x y and , аналогичновместо одноместной операции not x записывается x not . Эта форма записи называется ещё обратной польской записью в честь предложившего её польского математика и логика Лукашевича, у него есть ещё и так называемая прямая (префиксная) запись выражения. В префиксной и постфиксной форме записи можно не использовать круглые скобки, так как приоритет операций задаётся самой записью выражения. Например, дляпостфиксной записи операция выполняется, как только перед ней образуется необходимое число операндов. Втакой записи величины a и b будут определяться такими логическими формулами:а = x y or x y and not andb = x y and9ществляется после последовательного прихода трёх тактовых импульсов (как говорят, за три такта).Современные компьютеры обычно реализуют более сложные схемы, которые выполняют суммирование многоразрядных целых чисел за один или два такта.+xy– тактИнтегральнаясхема двоичногосумматораabРис.
2.2. б). Пример ИС двоичного сумматора.Заметим, что основная память современных компьютеров также реализуется в виде набора нескольких сверхбольших интегральных схем. Пользователи, заглядывавшие внутрь персональногокомпьютера, должны представлять себе вид маленьких вытянутых плат такой памяти, на каждой изкоторых расположено несколько (обычно восемь) интегральных схем основной памяти.Ясно, что скорость работы интегральной схемы напрямую зависит от частоты прихода тактовыхимпульсов, называемой тактовой частотой схемы. У современных ЭВМ не очень высокой производительности тактовые импульсы приходят на схемы основной памяти с частотой несколько сотен миллионов раз в секунду, а на схемы центрального процессора – ещё примерно в 10 раз чаще.Это должно дать Вам представление о скорости работы электронных компонент современных ЭВМ.Теперь Вы должны почувствовать разницу в видении, например, центрального процессора, системным программистом (на внутреннем уровне по нашей классификации), от видения того же процессора инженером-конструктором ЭВМ.