Э. Таненбаум - Архитектура компьютера (1127755), страница 40
Текст из файла (страница 40)
Группа компьютерных компаний разрешила эту проблему, создав новую систему кодирования под названием НХ1СОРЕ, и объявила эту систему международным стандартом (18 10646). (Пк11СОРЕ поддерживается некоторыми языками программирования (например, ) ага), некоторыми операционными системами (например, Ъ'1пг(отта й)Т) и многими приложениями. Вероятно, эта система будет распространяться по всему миру. Основная идея (Л~11СОРŠ— приписать каждому символу единственное постоянное 16-разрядное значение, которое называется указателем кода. Много- байтные символы и символы-заменители не используются.
Поскольку каждый символ состоит из 16 бит, писать программное обеспечение гораздо проще. Так как 1)Х!СОРЕ-символы состоят из 16 бит, всего получается 65 536 кодовых указателей. Поскольку во всех языках мира в общей сложности около 200 000 символов, кодовые указатели являются очень скудным ресурсом, который нужно распределять с большой осторожностью. Около половины кодов уже распределено, и консорциум, разработавший ()Х1СОРЕ, постоянно рассматривает предложения по распределению оставшейся части. Чтобы ускорить принятие системы ()й11СОРЕ, консорциум использовал набор Г.аг(п-1 для кодов от 0 до 255, обеспечивающий простое преобразование АЯСП- в 11Х1СОРЕ-символы. Во избежание излишней растраты кодов каждый диакритический знак имеет собственный код, а объединить диакритический знак с той или иной буквой— задача программного обеспечения.
Вся совокупность кодов разделена на блоки, каждый блок содержит 16 кодов. Каждый алфавит в БХ1СОРЕ имеет ряд последовательных зон. Приведем некоторые примеры (в скобках указано число задействованных кодов): латынь (336), греческий (144), русский (256), армянский (96), иврит (112), деванагари (128). гурмуки (128), ория (128), телугу (128) н каннада (128). Отметим, что каждому из этих языков приписано больше кодов, чем в нем есть букв.
Это сделано отчасти потому, что во многих языках у каждой буквы есть несколько вариантов написания. Например, каждая буква в английском языке представлена в двух вариантах: там есть строчные и прописные буквы. В некоторых языках буквы имеют три или более формы написания, вь|бор конкретного варианта зависит от того, где находится буква: в начале, коппс или середине слова.
Краткое содержание главы 1 55 Кроме того, некоторые коды были приписаны диакритическим знакам (112), знакам пунктуации (112), подстрочным и надстрочным знакам (48), знакам валют (48), математическим символам (256), геометрическим фигурам (96), рисункам (192). Нужны также символы для китайского, японского и корейского языков.
Сначала идут 1024 фонетических символа (например, катакана и бопомофо), затем иероглифы, используемые в китайском и японском языках (20 992), потом слоги корейского языка (11 156). Чтобы пользователи могли создавать новые символы для особых целей, существуют еще 6400 кодов. Хотя система ЦН1СОРЕ разрешила многие проблемы, связанные с интернапионализацией, она все же не позволила разрешить абсолютно все проблемы.
Например, латинский алфавит упорядочен, а иероглифы — нет, поэтому программа для английского языка может расположить слова «саб> и «Йой» по алфавиту, сравнив значение кодов первых букв, а программе для японского языка нужны дополнительные таблицьь чтобы можно было вычислять, в каком порядке расположены символы в словаре. Еще одна проблема состоит в том, что постоянно появляются новые слова.
50 лет назад никто не говорил об апплетах, киберпространстве, гигабайтах, лазерах, модемах, смайликах или видеопленках. Появление новых слов в английском языке новых кодов не требует, а вот в японском они нужны. Помимо новых терминов, необходимо также добавить по крайней мере 20 000 новых имен собственных и географических названий (в основном китайских). Шрифт Брайля, которым пользуются слепые, вероятно, тоже должен быть задействован. В наличии тех или иных особых символов заинтересованы и представители различных профессиональных сообществ.
Консорциум 111>11СОРЕ рассматривает все новые предложения и выносит по ним решения. В системе ЦН1СОРЕ используется один и тот же код для символов, которые выглядят почти одинаково, но имеют несколько значений или пишутся немного по-разному в китайском и японском языках (как если бы английские текстовые процессоры всегда писали слово «Ыпе» как «Ыеч >, потому что они произносятся одинаково). Одни считают такой подход оптимальным для зкономии скудного запаса кодов, другие рассматривают его как англосаксонский культурный империализм (а вы думали, что приписывание символам 16-разрядных значений не носит политического характера?).
Дело осложняется тем, что полный японский словарь содержит 50 000 иероглифических знаков (не считая имен собственных), поэтому при наличии 20 992 кодов приходится делать выбор и чем-то жертвовать. Далеко не все японцы считают, что консорциум компьютерных компаний, даже если некоторые из них японские, является идеальным местом для принятия решений о том, чем именно нужно жертвовать. Краткое содержание главы Компьютерные системы состоят из трех компонентов; процессоров, памяти и устройств ввода-вывода. Назначение процессора заключается в том, чтобы последовательно вызывать команды из памяти, декодировать и выполнять их. Цикл 156 Глава 2.
Организация компьютерных систем вызов — декодирование — выполнение всегда можно представить в виде алгоритма. Вызов, декодирование и выполнение команд определенной программы иногда выполняется программой-интерпретатором, работающей на более низком уровне. Для повышения быстродействия во многих компьютерах имеется один или несколько конвейеров или поддерживается суперскалярная архитектура с несколькими функциональными блоками, которые действуют параллельно.
Широко распространены системы с несколькими процессорами. Компьютеры с параллельной обработкой включают матричные процессоры, в которых одна и та же операция выполняется одновременно над разными наборами данных; мультнпроцессоры, в которых несколько процессоров разделяют общую память; и мультикомпьютеры, в которых у кюкдого компьютера есть собственная память, но при этом компьютеры связаны между собой и пересылают друг другу сообщения. Память можно разделить на основную и вспомогательную. Основная память используется для хранения программ, которые выполняются в данный момент. Время доступа невелико (максимум несколько десятков наносекунд) и не зависит от адреса, к которому происходит обращение.
Кэш-память еще больше сокращает время доступа. Память может быть оснащена кодом исправления ошибок для повышения надежности. Время доступа к вспомогательной памяти, напротив, гораздо больше (от нескольких миллисекунд и выше) и зависит от расположения считываемых и записываемых данных. Наиболее распространенные виды вспомогательной памяти — магнитные ленты, магнитные диски, оптические диски. Магнитные диски существуют в нескольких вариантах: дискеты, винчестеры, 1ПЕ-диски, ЯС51- диски и ВА1П-массивы. Среди оптических дисков можно назвать компакт-диски, диски СП-В и ПУП.
Устройства ввода-вывода используются для передачи информации в компьютер и из компьютера. Они связаны с процессором и памятью одной или несколькими шинами. В качестве примеров можно назвать терминалы, мыши, принтеры и модемы. Большинство устройств ввода-вывода используют код АЯСП, хотя (1Х1СОПЕ уже стремительно распространяется по всему миру. Вопросы и задания 1. Рассмотрим машину с трактом данных, который изображен на рис. 2.2. Предположим, что загрузка регистров АЛУ занимает 5 нс, работа АЛУ вЂ” 10 нс, а помещение результата обратно в регистр — 5 нс.
Сколько миллионов команд в секунду максимально способна выполнять эта машина при отсутствии конвейера? 2. Зачем нужен шаг 2 в списке шагов, приведенном в подразделе «Выполнение команд» раздела «Процессоры»? Что произойдет, если этот шаг пропустить? 3.
На компьютере 1 выполнение каждой команды занимает 10 нс, а на компьютере 2 — 5 нс. Можете ли вы с уверенностью сказать, что компьютер 2 работает быстрее? Аргументируйте ответ. Вопросы и задания 157 9. Подсчитайте скорость передачи данных в человеческом глазу, используя еле 10. Подсчитайте скорость передачи данных в человеческом ухе, исходя из еле 11. Генетическая информация у всех живых существ кодируется в молекулах ДНК.
Молекула ДНК представляет собой линейную последовательность четырех 5. 6. 7. 8. Предположим, что вы разрабатываете компьютер на одной микросхеме для использования во встроенных системах. Вся память находится на микросхеме и работает с той же скоростью, что и центральный процессор. Рассмотрите принципы, изложенные в подразделе «Принципы разработки современных компьютеров» раздела Процессоры», и скажите, важны ли они в данном случае (высокая производительность желательна).
В некотором вычислении каждый последующий шаг зависит от предыдущего. Что в данном случае уместнее использовать, матричный процессор или конвейер? Обьясните, почему. Чтобы конкурировать с недавно изобретенным печатным станком, один средневековый монастырь решил наладить массовое производство рукописных книг. Для этого в большом зале собралось огромное количество писцов. Настоятель монастыря называл первое слово книги, и все писцы записывали его.
Затем настоятель называл второе слово, и все писцы записывали его. Этот процесс повторялся до тех пор, пока не была прочитана вслух и переписана вся книга. На какую из систем параллельной обработки информации, перечисленных в подразделе «Параллелизм на уровне процессоров» раздела «Процессоры», эта система больше всего похожа? При продвижении сверху вниз по пятиуровневой иерархической структуре памяти время доступа возрастает.