Раздел 2  Представление информации в ЭВМ

              Тема 2.1   Язык ЭВМ. Кодирование информации в ЭВМ
   ┌──┐
   │A.│     В предыдущем разделе  мы выяснили,  что ИНФОРМАЦИЯ существует
   └──┘ только на материальном носителе в закодированном виде. В этом плане
        ЭВМ не является исключением.

   Вопрос :  <<  Что представляет собой ЭВМ как материальный носитель
   -------        информации  ? >>
   ┌──┐
   │B.│    В ЭВМ информация хранится   в  ПАМЯТИ !!!
   └──┘
      На физическом уровне  память современных ЭВМ может быть

              -  ЭЛЕКТРОННОЙ( ОЗУ,ПЗУ )
              -  ДИСКОВАЯ( на магнитных дисках )
              -  ОПТИЧЕСКОЙ
                    . . .
                 и др.

         ЭЛЕКТРОННАЯ память - это набор микроячеек , каждая из которых
         ----------  может находиться в одном из 2  состояний :

           - быть ЗАРЯЖЕННОЙ( содержать электрический заряд )
           - быт  НЕ ЗАРЯЖЕННОЙ(  иметь нулевой потенциал )

           Если ячейка ЗАРЯЖЕНА, то считается , что в ней храниться 1(единица)
                       НЕ ЗАРЯЖЕНА                                - 0 ( ноль )

          МАГНИТНАЯ  память - это набор микроучастков поверхности диска ,
          ---------  каждый из которых может быть :

                  - НАМАГНИЧЕН     и ,таким образом, хранить  1
                  - ПЕРЕМАГНИЧЕН              -               0

      < Что общего у электронной и дисковой памяти ? > 
      
      ┌───────────────────────────────────────────────────────────────────┐
      │ На ЛОГИЧЕСКОМ  уровне (отвлекаясь от физического устройства)      │
      │ ПАМЯТЬ ЭВМ  - это последовательность ячеек , каждая из которых    │
      │ может хранить только одно   значение : 0 или 1.                   │
      │                ┌──┬──┬──┬──┬──┬─   ─┬──┬──┬──┬──┬──┐              │
      │                │ 0│ 0│ 1│ 1│ 1│ ... │ 0│ 0│ 1│ 1│ 1│              │
      │                └──┴──┴──┴──┴──┴─   ─┴──┴──┴──┴──┴──┘              │
      │                                                                   │
      │  БИТ   - общепринятое название ячейки памяти ЭВМ , от             │
      │  ═══     английского binary digit(двоичное целое: 0 или 1 )       │
      │                                                                   │
      └───────────────────────────────────────────────────────────────────┘
      ┌────────────────────────────────────────────────────────┐
      │ В ЭВМ  может храниться   разнотипная ИНФОРМАЦИЯ :      │
      │    -Текстовая(символьная)                              │
      │    -Числовая                                           │
      │    -Видео                                              │
      │    -Звук     и др.                                     │
      └────────────────────────────────────────────────────────┘
   Вопрос :  << Как разместить  столь разнотипную информацию
   -------      на носителе , который представляет собой
                совокупность ячеек , в которые можно записать
                только 0 и 1  ? >>

   ┌──┐ ┌──────────────────────────────────────────────────────────┐
   │С.│ │ Для того чтобы записать информацию  в память компьютера  │
   └──┘ │ ее надо закодировать  с помощью  0 и 1 ,                 │
        │                                                          │
        │ Другими словами ее(информацию) надо записать             │
        └────────┐на МАШИННОМ ЯЗЫКЕ ┌──────────────────────────────┘
                 └──────────────────┘
      Способ записи информации на машинном языке аналогичен любому
      другому языку (например русскому) , так как в основу всех языков
      положен АЛФАВИТНЫЙ принцип представления инфоромации
     ┌─────────────────────────────────────────────────────────────┐
     │ МАШИННЫЙ ЯЗЫК   тоже  построен   по АЛФАВИТНОМУ  принципу.  │
     └─────────────────────────────────────────────────────────────┘

                                   │             Я З Ы К И
                                   ├──────────────────┬──────────────────
                                   │   Русский        │  машинный
      ─────────────────────────────┼──────────────────┼───────────────────
                                   │                  │
         АЛФАВИТ                   │   33 буквы       │    2 буквы
                                   │ {А,Б,В, ... ,Я}  │    {0,1}
      ─────────────────────────────┼──────────────────┼───────────────────
      Из букв составляются         │  Я , ТЫ  ,       │   1 , 00 , 010101,
         СЛОВА                     │ ИНФОРМАТИКА      │  101010101010100
      ─────────────────────────────┴──────────────────┴───────────────────
        Каждое слово - есть знаковый  код  некоторого понятия.
        Машинные СЛОВА   можно записать  в ячейки памяти
      ┌────────────────────────────────────────────────────────────────┐
      │   Информация в ЭВМ  записывается на ВНУТРЕННЕМ ЯЗЫКЕ  ЭВМ      │
      │   который основан на 2-х буквенном АЛФАВИТЕ A := { 0 , 1 }     │
      │                                                                │
      │  Следующие понятия являются синонимами:                        │
      │        БИТ , машинная буква ,  0 , 1 , ячейка памяти           │
      │                                                                │
      │  2-х букв достаточно , чтобы из них составить неограниченное   │
      │  количество машинных слов различной длины                      │
      │  Примеры компьютерных слов: 1 , 0000 , 111 , 01 , 101011101    │
      │                                                                │
      │  Каждое машинное СЛОВО в ЭВМ - это закодированная информация   │
      │                                                                │
      │  Машинные слова могут быть разной длины.                       │
      │  Существует стандартная длина машинного слова  8 бит           │
      │                                                                │
      │  БАЙТ - стандартное  машинное слово , длиной - 8 бит           │
      │                                                                │
      │  БАЙТ -    Единица  измерения информации.                      │
      │            Информация измеряется  в байтах                     │
      │                                                                │
      │  Более крупные единицы   1К (Килобайт) = 1024 байта ( 2^10     │
      │  измерения информации    1М (Мегабайт) = 1024 К       2 в 10   │
      │                                                       степени) │
      └────────────────────────────────────────────────────────────────┘
      ┌──┐
      │D.│
      └──┘  Пример I. Необходимо  записать в память ЭВМ мелодию  песни
                         до , до , до , ля , ля , ля ,  ...
             При этом надо учесть , что мелодия настолько проста ,
             что может быть записана :
               - 7 нотами одной октавы :  до , ре , ми , фа , соль , ля ,  си
               - и длительность звучания каждой ноты ПОСТОЯННА (например 1/4)

              1) Определяем  необходимую длину   машинного слова
                 ┌─────────────────────────────────────────────────────┐
                 │ Информация записывается в память машинными  словами │
                 │ ПОСТОЯННОЙ   длины !!! ┌────────────────────────────┘
                 └────────────────────────┘
         Длина    │   варианты машинных слов   │ Прим.
         машинного│                            │
         кода     │                            │
         ─────────┼────────────────────────────┼────────────────────────────
            1 бит │  0,1                       │Сущестует только 2 слова
                  │                            │длиной 1 бит
                  │                            │  Для кодирования 7 нот этого
                  │                            │недостаточно
         ─────────┼────────────────────────────┼────────────────────────────
           2 бита │ 00 , 01 , 10 , 11          │ Сущестует только 4 машинных
                  │                            │ слова длиной 2 бита
                  │                            │   для кодирования 7 нот 2-х
                  │                            │  битов мало
         ─────────┼────────────────────────────┼────────────────────────────
           3 бита │ 000 , 001 , ... , 111      │ Сущестует 8 машинных
                  │                            │ слова длиной 3 бита каждое
                  │                            │ Достаточно  для кодирования
                  │                            │ 7 нот
          ────────┴────────────────────────────┴─────────────────────────────
          ┌──────────────────────────────────────────────────────────────┐
          │   Максимально число различных машинных слов длиной N битов   │
          │каждое  равно   2^N (2 в степени N)                           │
          │                                                              │
          │   Например , существует  32 различных машинных слова,каждое  │
          │              длиной 5 битов  от  00000 ... до 11111          │
          │                                                              │
          │              так как   2^5 = 32                              │
          └──────────────────────────────────────────────────────────────┘
           2) Составление таблицы Кодов

              N │ Варианты 3-х     │  Информация
                │ битных машинных  │
                │ слов             │
              ──┼──────────────────┼──────────────
              1 │     000          │     До
              2 │     001          │     Ре
              3 │     010          │     ми
              4 │     011          │     фа
              5 │     100          │     соль
              6 │     101          │     ля
              7 │     110          │     си
              8 │     111          │     ---- не задействован

          3) Кодирование мелодии
               Мелодия :
                   в нотах              до , до , до , ля , ля , ля ,  ...
                   в машинных кодах     000 000  000  101  101  101    ...
           4) Соответствующие машинные коды записываются в соседние ячейки
              памяти
                        ... 000000000101101101  ...
          Пример II.  Расшифровать содержимое последовательных ячеек памяти
                       используя кодовую таблицу из примера  I.

                  ...  000110000110000110011  ...
            Для расшифровки записи надо знать
              - ячейку , начиная с которой записана информация , котрую
                нужно прочитать
              - и длину машинного кода
            Далее  считываем 3 бита начиная с 1-й ячейки     это  000 - до
            Переходим в ячеку следующую за последним
            прочитанным битом и начиная с нее читаем
            содержимое 3-х очередных ячеек                   это  110 - си
           и т.д.

                                 000110000110000110011
                                 │  │  │  │  │  │  │
                        000 - до ┘  │  │  │  │  │  │
                        110 - си ───┘  │  │  │  │  │
                        000 - до ──────┘  │  │  │  │
                        110 - си ─────────┘  │  │  │
                        000 - до ────────────┘  │  │
                        110 - си ───────────────┘  │
                        011 - фа ──────────────────┘
       ┌─────────────────────────────────────────────────────────────────────┐
       │  Правила кодирования  информации в ЭВМ                              │
       │  -------------------------------------                              │
       │ 1) Информация записывается в память машинными  словами ПОСТОЯННОЙ   │
       │    длины(чтобы ее потом можно было прочитать).                      │
       │                                                                     │
       │ 2) Перед кодированием определяется необходимая ДЛИНА машинного      │
       │    слова(N)                                                         │
       │    При этом исходят из того что можно составить 2^N (               │
       │    2 в степени N ) РАЗЛИЧНЫХ машинных слов, каждое длиной           │
       │    N битов.                                                         │
       │                                                                     │
       │ 3) Каждому кванту(порции) информации по определенному ПРАВИЛУ       │
       │    присваивается код в виде МАШИННОГО СЛОВО длиной N                │
       │    битов.(комбинация из N битов )                                   │
       │                                                                     │
       │ 4) Закодированная информация записывается в последовательные ячейки │
       │    памяти                                                           │
       │                                                                     │
       │ 5) При чтении информации из памяти осуществляется ее раскодирование │
       │    на основании того же правила                                     │
       │       Следует помнить , что разделители между машинными словами     │
       │   отстутствуют. Граница между машинными словами в памяти            │
       │   определяется по длине машинного слова                             │
       └─────────────────────────────────────────────────────────────────────┘
     
 =====================================================================
      ЗАКЛЮЧЕНИЕ

      1. На ЛОГИЧЕСКОМ  уровне (отвлекаясь от физического устройства)
         ПАМЯТЬ ЭВМ  - это последовательность ячеек , каждая из которых
         может хранить только одно   значение : 0 или 1.
                      ┌──┬──┬──┬──┬──┬─   ─┬──┬──┬──┬──┬──┐
                      │ 0│ 0│ 1│ 1│ 1│ ... │ 0│ 0│ 1│ 1│ 1│
                      └──┴──┴──┴──┴──┴─   ─┴──┴──┴──┴──┴──┘

      2. БИТ   - общепринятое название ячейки памяти ЭВМ , от
         ═══     английского binary digit(двоичное целое: 0 или 1 )

      3. Информация в ЭВМ  записывается на ВНУТРЕННЕМ ЯЗЫКЕ  ЭВМ
         который основан на 2-х буквенном АЛФАВИТЕ A := { 0 , 1 }

      4. Следующие понятия являются синонимами:
              БИТ , машинная буква ,  0 , 1 , ячейка памяти

      5. 2-х букв достаточно , чтобы из них составить неограниченное
         количество машинных слов различной длины
         Примеры компьютерных слов: 1 , 0000 , 111 , 01 , 101011101

      6. Каждое машинное СЛОВО в ЭВМ - это закодированная информация

      7. БАЙТ - стандартное  машинное слово , длиной - 8 бит

      8.  БАЙТ -    Единица  измерения информации.
          Более крупные единицы   1К (Килобайт) = 1024 байта
          измерения информации    1М (Мегабайт) = 1024 К

      9.  Правила кодирования  информации в ЭВМ
          -------------------------------------
         1) Информация записывается в память машинными  словами ПОСТОЯННОЙ
            длины(чтобы ее потом можно было прочитать).

         2) Перед кодированием определяется необходимая ДЛИНА машинного
            слова(N)
            При этом исходят из того что можно составить 2^N (
            2 в степени N ) РАЗЛИЧНЫХ машинных слов, каждое длиной
            N битов.

         3) Каждому кванту(порции) информации по определенному ПРАВИЛУ
            присваивается код в виде МАШИННОГО СЛОВО длиной N
            битов.(комбинация из N битов )

         4) Закодированная информация записывается в последовательные ячейки
            памяти

         5) При чтении информации из памяти осуществляется ее раскодирование
            на основании того же правила.
               Следует помнить, что разделители между машинными словами
           отсутствуют. Граница между машинными словами в памяти
           ОПРЕДЕЛЯЕТСЯ по длине машинного слова