Добавил:
t.me/Plushka666 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
билеты теория информации.docx
Скачиваний:
13
Добавлен:
05.05.2021
Размер:
4.41 Mб
Скачать

Стандартная перфокарта

Холлерит организовал фирму по производству табуляционных машин TMC (Tabulating Machine Company), и стал продавать их железнодорожным управлениям и правительственным учреждениям (партия табуляторов была закуплена и Российской империей). Этому предприятию сопутствовал успех. С годами оно претерпело ряд изменений — слияний и переименований. С 1924 года фирма Холлерита стала называться IBM (International Business Machines).

Но какое отношение Холлерит имеет к EBCDIC? Посмотрите на рисунок. На нем показана стандартная перфокарта. Обратите внимание, что перфокарта имеет двенадцать строк, две из которых перфорируются, но не обозначены (их называют Х и Y), а оставшиеся десять несут цифровые обозначения от 0 до 9. Холлерит изобрел систему, с помощью которой можно закодировать буквы и цифры, не используя более двух отверстий на колонку. Система так и называется — код Холлерита (табл. 6).

Таблица 6

Отметка

0

1

2

3

4

5

6

7

8

9

На оси X

A

B

C

D

E

F

G

H

I

На оси Y

J

K

L

M

N

O

P

Q

R

На нулевой

S

T

U

V

W

X

Y

Z

Цифры

0

1

2

3

4

5

6

7

8

9

Иными словами, чтобы получить А, пробиваются отверстия в колонке на строке X и на строке 1; чтобы получить S — в строке 2 и в строке 0 и т.д. На приведенной в примере перфокарте это можно легко проверить — закодированные слова продублированы на карте вверху обычным печатным способом.

Таким образом, код Холлерита был использован для кодирования перфокарт, то есть как код EBCDIC.

Несмотря на очевидные недостатки, IBM распространила этот код повсюду — было создано 57 национальных версий EBCDIC.

СТРУКТУРА И ПРИНЦИПЫ ОРГАНИЗАЦИИ UNICOD.

Если проанализировать организационные трудности, связанные с созданием единой системы кодирования текстовых данных, то можно прийти к выводу, что они вызваны ограниченным набором кодов (256). В то же время очевидно, что если, например, кодировать символы не восьмиразрядными двоичными числами, а числами с большим количеством разрядов, то и диапазон возможных значений кодов станет намного больше. Такая система, основанная на 16-разрядном кодировании символов, получила название универсальной —

UNICODE. Шестнадцать разрядов позволяют обеспечить уникальные коды для

65 536 различных символов — этого поля достаточно для размещения в одной таблице символов большинства языков планеты.

Несмотря на тривиальную очевидность такого подхода, простой механический переход на данную систему долгое время сдерживался из-за недостаточных ресурсов средств вычислительной техники (в системе кодирования UNICODE все текстовые документы автоматически становятся вдвое длиннее).

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

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

В стандарте Юникода определены четыре формы нормализации текста:

  • форма нормализации D (NFD) — каноническая декомпозиция. В процессе приведения текста в эту форму все составные символы рекурсивно заменяются на несколько составных в соответствии с таблицами декомпозиции;

  • форма нормализации C (NFC) — каноническая декомпозиция с последующей канонической композицией. Сначала текст приводится к форме D, после чего выполняется каноническая композиция — текст обрабатывается от начала к концу в соответствии со следующими правилами:

- символ S является начальным, если он имеет нулевой класс модификации в базе символов Юникода, - в любой последовательности символов, стартующей с начального символа S, символ C блокируется от S, если и только если между S и C есть какой­либо символ B, который или является начальным, или имеет одинаковый либо больший класс модификации, чем C. Это правило распространяется только на строки, прошедшие каноническую декомпозицию, - первичным композитом считается символ, у которого есть каноническая декомпозиция в базе символов Юникода (или каноническая декомпозиция для хангыля и он не входит в список исключений); - символ X может быть первично совмещен с символом Y, если и только если существует первичный композит Z, канонически эквивалентный последовательности <X, Y>, - если очередной символ C не блокируется последним встреченным начальным базовым символом L и может быть успешно первично совмещен с ним, то L заменяется на композит L-C, а C удаляется;

  • форма нормализации KD (NFKD) — совместимая декомпозиция. При приведении в эту форму все составные символы заменяются, используя как канонические карты декомпозиции Юникода, так и совместимые карты декомпозиции, после чего результат ставится в каноническом порядке;

  • форма нормализации KC (NFKC) — совместимая декомпозиция с последующей канонической композицией.

Юникод имеет несколько форм представления (Unicode transformation format, UTF): UTF-8, UTF-16 (UTF-16BE, UTF-16LE) и UTF-32 (UTF-32BE, UTF-32LE). Была разработана также форма представления UTF-7 для передачи по семибитным каналам, но из-за несовмес-тимости с ASCII она не получила распространения и не включена в стандарт. 1 апреля 2005 года были предложены две шуточные формы представления: UTF-9 и UTF-18 (RFC 4042).

(UTF-8 (Unicode Transformation Format — формат преобразования Юникода) — в настоящее время распространенная кодировка, реализующая представление Юникода, совместимое с 8-битным кодированием текста. Нашла широкое применение в операционных системах и веб­пространстве.)

ISO-10646. СРАВНЕНИЕ С UNICOD.

Консорциум Юникода работает в тесной связи с рабочей группой ISO/IEC/JTC1/SC2/WG2, которая занимается разработкой международного стандарта 10646 (ISO/IEC 10646). Между стандартом Юникода и ISO/IEC 10646 установлена синхронизация, хотя каждый стандарт использует свою терминологию и систему документации.

Сотрудничество консорциума Юникода с Международной организацией по стандартизации (англ. International Organization for Standardization, ISO) началось в 1991 году. В 1993-м ISO выпустила стандарт DIS 10646.1. Для синхронизации с ним консорциум утвердил стандарт Юникода версии 1.1, в который были внесены дополнительные символы из DIS 10646.1. В результате значения закодированных символов в Unicode 1.1 и DIS 10646.1 полностью совпали.

В дальнейшем сотрудничество двух организаций продолжилось. В 2000 году стандарт Unicode 3.0 был синхронизирован с ISO/IEC 10646-1:2000. Предстоящая третья версия, ISO/IEC 10646, будет синхронизирована с Unicode 4.0. Возможно, эти спецификации даже будут опубликованы как единый стандарт.

Аналогично форматам UTF-16 и UTF-32 в стандарте Юникода, стандарт ISO/IEC 10646 также имеет две основные формы кодирования символов: UCS-2 (2 байта на символ, аналогично UTF-16) и UCS-4 (4 байта на символ, аналогично UTF-32). UCS — значит универсальный многооктетный (многобайтовый) кодированный набор символов (universal multiple-octet coded character set). UCS-2 можно считать подмножеством UTF-16 (UTF-16 без суррогатных пар), а UCS-4 является синонимом для UTF-32.

(Не желая останавливаться на достигнутом, ISO разработала новый, 32-битовый стандарт кодирования ISO 10646. Он совместим с Unicode, а также имеет несколько своих производных фоматов, одна из которых - формат UTF-8 внедрен в Windows.)

КОДИРОВАНИЕ СИМВОЛОВ В TRON PROJECT.

Это может кого-то удивить, но Япония, которую часто (и совершенно несправедливо-прим. перев.) критикуют за закрытость и ретроградные настроения в обществе, также предложила собственную многоязычную таблицусимволов и метод для кодирования этих символов ещё в первой половине 1980-х. Это было сделано в рамках проекта TRON, который был начат в 1984-м. Задачей проекта TRON является создание тотальной, открытой компьютерной архитектуры, базированной на используемой в настоящее время архитектуре фон Неймана*, для компьютеризации человеческого сообщества в XXI-м веке. Безусловно, компьютеризация человеческого сообщества влечёт за собой преобразование огромной

массы человеческих знаний таким образом, чтобы они сталидоступны каждому в режиме реального времени (например, через Internet), а это требует создания хорошо спланированной таблицы символов естественных языков и эффективной системы для работы с многоязычными данными на ПК и рабочих станциях.

На данный момент разработаны открытая для расширения таблица символов TRON и многоязычное окружение TRON, являющиеся частью соответствующей спецификации операционной системы BTRON/

таблица символов TRON расширяема практически до бесконечности, что позволяет включить в нес символы всех без исключения языков, когда-либо использовавшихся (и используемых сейчас) человечеством, и даже символы тех языков, которые ещё не изобретены. Это реализовано с помощью escape-последовательностей, которые используются для переключения между очень большим количеством ("внутренних") таблиц, которые содержат символы, кодируемые с помощью 8-ми и 16-ти бит.

Кроме того, в TRON имеются коды для идентификации языка, которые необходимы, например, для возможности реализации программ для правильной сортировки текстовых данных, содержащих символы разных языков.

Среди других преимуществ -то, что в TRON нет места для символов, определяемых пользователями, которые (символы) могут вызывать проблемы при обмене данными.

Кроме того, в TRON проводится чёткое разделение между текстовыми данными, предназначенными для хранения на носителе информации, и данными, предназначенными для отображения, поэтому, например, два символа данных, хранимых на носителе информации, при выводе на дисплей могут быть объединены в один, так чтобы образовывать лигатуру.

Среди особенностей также: существование специальной базы данных по таблице символов, которая особенно необходима для правильного использования огромного количества символов GT Mincho, и система для многоязычного письма, которая позволяет передавать многоязычные данные через WWW и изображать их с приемлемым качеством, при этом без необходимости в применении сложных алгоритмов для вёрстки.

АРХИТЕКТУРА КОМПЬЮТЕРА.

Компьютер (computer – вычислитель) представляет собой программируемое электронное устройство, способное обрабатывать данные и производить вычисления, а также выполнять другие задачи манипулирования символами.

Структура всех компьютеров основаны на общих логических принципах, позволяющих выделить в любом компьютере следующие главные устройства:

  • память (запоминающее устройство, ЗУ), состоящую из перенумерованных ячеек;

  • процессор, включающий в себя устройство управления (УУ) и арифметико-логическое устройство (АЛУ);

  • устройство ввода;

  • устройство вывода.

Эти устройства соединены каналами связи, по которым передается информация. Основные устройства компьютера и связи между ними представлены на схеме. Жирными стрелками показаны пути и направления движения информации, а простыми стрелками – пути и направления передачи управляющих сигналов.

Функции памяти: 1) приём информации из других устройств; 2) запоминание информации; 3) выдача информации по запросу в другие устройства машины.

Функции процессора: 1) обработка данных по заданной программе путем выполнения арифметических и логических операций; 2) программное управление работой устройств компьютера.

Та часть процессора, которая выполняет команды, называется арифметико-логическим устройством (АЛУ), а другая его часть, выполняющая функции управления устройствами, называется устройством управления (УУ). Обычно эти два устройства выделяются чисто условно, конструктивно они не разделены.

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

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

Наиболее распространены следующие архитектурные решения:

Классическая архитектура (архитектура фон Неймана) – одно арифметико-логическое устройство (АЛУ), через которое проходит поток данных, и одно устройство управления (УУ), через которое проходит поток команд – программа. Это однопроцессорный компьютер. Все функциональные блоки здесь связаны между собой общей шиной, называемой также системной магистралью. Физически магистраль представляет собой многопроводную линию с гнездами для подключения электронных схем. Совокупность проводов магистрали разделяется на отдельные группы: шину адреса, шину данных и шину управления. Периферийные устройства (принтер и др.) подключаются к аппаратуре компьютера через специальные контроллеры – устройства управления периферийными устройствами. Контроллер – устройство, которое связывает периферийное оборудование или каналы связи с центральным процессором, освобождая процессор от непосредственного управления функционированием данного оборудования.

  • Многопроцессорная архитектура. Наличие в компьютере нескольких процессоров означает, что параллельно может быть организовано много потоков данных и много потоков команд. Таким образом, параллельно могут выполняться несколько фрагментов одной задачи. Структура такой машины, имеющей общую оперативную память и несколько процессоров, представлена.

 

  • Многомашинная вычислительная система. Здесь несколько процессоров, входящих в вычислительную систему, не имеют общей оперативной памяти, а имеют каждый свою (локальную). Каждый компьютер в многомашинной системе имеет классическую архитектуру, и такая система применяется достаточно широко. Однако эффект от применения такой вычислительной системы может быть получен только при решении задач, имеющих очень специальную структуру: она должна разбиваться на столько слабо связанных подзадач, сколько компьютеров в системе. Преимущество в быстродействии многопроцессорных и многомашинных вычислительных систем перед однопроцессорными очевидно.

  • Архитектура с параллельными процессорами. Здесь несколько АЛУ работают под управлением одного УУ. Это означает, что множество данных может обрабатываться по одной программе – то есть по одному потоку команд. Высокое быстродействие такой архитектуры можно получить только на задачах, в которых одинаковые вычислительные операции выполняются одновременно на различных однотипных наборах данных. Структура таких компьютеров представлена.

    

АРХИТЕКТУРА ФОН НЕЙМАНА.

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

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

Классическая архитектура (архитектура фон Неймана) – одно арифметико-логическое устройство (АЛУ), через которое проходит поток данных, и одно устройство управления (УУ), через которое проходит поток команд – программа. Это однопроцессорный компьютер.   К этому типу архитектуры относится и архитектура персонального компьютера с общей шиной. Все функциональные блоки здесь связаны между собой общей шиной, называемой также системной магистралью. Физически магистраль представляет собой многопроводную линию с гнездами для подключения электронных схем. Совокупность проводов магистрали разделяется на отдельные группы: шину адреса, шину данных и шину управления. Периферийные устройства (принтер и др.) подключаются к аппаратуре компьютера через специальные контроллеры — устройства управления периферийными устройствами. Контроллер – устройство, которое связывает периферийное оборудование или каналы связи с центральным процессором, освобождая процессор от непосредственного управления функционированием данного оборудования.

В основу построения подавляющего большинства компьютеров положены следующие общие принципы, сформулированные в 1945 г. американским ученым Джоном фон Нейманом.

  1.  Принцип программного управления. Из него следует, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности. Выборка программы из памяти осуществляется с помощью счетчика команд. Этот регистр процессора последовательно увеличивает хранимый в нем адрес очередной команды на длину команды. А так как команды программы расположены в памяти друг за другом, то тем самым организуется выборка цепочки команд из последовательно расположенных ячеек памяти. Если же нужно после выполнения команды перейти не к следующей, а к какой-то другой, используются команды условного или безусловного переходов, которые заносят в счетчик команд номер ячейки памяти, содержащей следующую команду. Выборка команд из памяти прекращается после достижения и выполнения команды "стоп". Таким образом, процессор исполняет программу автоматически, без вмешательства человека.

  2. Принцип однородности памяти. Программы и данные хранятся в одной и той же памяти. Поэтому компьютер не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными. Это открывает целый ряд возможностей. Например, программа в процессе своего выполнения также может подвергаться переработке, что позволяет задавать в самой программе правила получения некоторых ее частей (так в программе организуется выполнение циклов и подпрограмм). Более того, команды одной программы могут быть получены как результаты исполнения другой программы. На этом принципе основаны методы трансляции— перевода текста программы с языка программирования высокого уровня на язык конкретной машины.

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

  4. Возможность условного перехода в процессе выполнения программы. Несмотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода.

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

Компьютеры, построенные на этих принципах, относятся к типу фон-неймановских. Но существуют компьютеры, принципиально отличающиеся от фон-неймановских. Для них, например, может не выполняться принцип программного управления, т.е. они могут работать без "счетчика команд", указывающего текущую выполняемую команду программы. Для обращения к какой-либо переменной, хранящейся в памяти, этим компьютерам не обязательно давать ей имя. Такие компьютеры называются не-фон-неймановскими.