22972

Системи числення, які застосовуються у мікропроцесорній техніці

Лекция

Коммуникация, связь, радиоэлектроника и цифровые приборы

Так наприклад число 371 може бути розкладено по степенях числа 10 таким чином: 371=3х1027х1011х100 = 300701 Двійкова система числення У електроннообчислювальній техніці зручніше користуватися двійковою системою числення в основі якої лежить число 2. Так наприклад число 1001 є 4 бітовим числом а розглянутий нами вище двійковий еквівалент числа 37110 тобто 101110011 дев’ятибітовим числом. Для цього багаторозрядне двійкове число розбивається на тетради кожна з яких містить по чотири розряди двійкового числа.

Украинкский

2013-08-04

713.5 KB

1 чел.

     

    Лекція N1

Системи числення, які застосовуються

у мікропроцесорній техніці

 У добре знайомій нам позиційній десятковій системі  числення  будь-яке число подається у вигляді послідовності цифр (від 0 до 9), положення котрих у запису числа визначає їх вагу, що є степенями числа 10. Крайня цифра праворуч - наймолодший розряд - вказує кількість одиниць (тобто має вагу 100=1), наступна цифра  ліворуч - кількість десятків (101), далі сотень тисяч, тощо. Так, наприклад, число 371 може бути розкладено по степенях числа 10 таким чином:

  371=(3х102)+(7х101)+(1х100) = 300+70+1

Двійкова система числення

У електронно-обчислювальній техніці зручніше користуватися двійковою системою числення, в основі якої лежить число 2.У цьому випадку вага кожного розряду є степінь числа 2, а значущих цифр може бути тільки дві: 0 або 1.  Те ж чисо 37110 може бути записане у двійковій системі як

37110 = (1х28)+(0х27)+(1х26)+(1х25)+(1х24)+(0х23)+(0х22)+(1х21)+(1х20) =

256+0+64+32+16+0+0+2+1 = 10111100112

Таке зображення числа зручне тим, що воно найкращим чином відображає властивість  електричних кіл бути або увімкненими або розімкненими. У електронно-обчислювальних машинах увімкнений стан, тобто наявність напруги високого рівня звичайно позначається одиницею (“1”), а розімкнений стан - відсутність напруги, або її низький рівень - нулем (“0”).

Створити сукупність сигналів, які б відповідали числу 101110011, можна за допомогою схеми зображеної на рис.1.1. При замиканні  і-тового ключа Кі ми подаємо на відповідний і- товий вихід нульовий рівень сигналу, а при розімкненому ключі на вихід подається  напруга +Е, котра сприймається як високий рівень, що відповідає одиниці. У електронно-обчислювальних машинах ключами є електронні перемикачі ( транзистори, що працюють у ключовому режимі). А вони у свою чергу керуються такими ж двійковим сигналами. Сукупність вихідних провідників (на рис.1.1 їх девять), утворюють девятирозрядну вихідну шину.

Двійковий розряд звичайно називають бітом (від англійського слова BInary digiT). Так наприклад число 1001 є 4 - бітовим числом, а розглянутий нами вище двійковий еквівалент числа 37110, тобто 101110011 - девятибітовим числом. Для багаторозрядних двійкових чисел існують спеціальні назви : сукупність з 4 бітів має назву тетради, сукупність з 8 бітів зветься байтом , а з 16 бітів - словом. 210 = 1024 байтів утворюють кілобайт, а 220 - мегабайт. Біти нумеруються з права наліво, починаючи з наймолодшого - нульового біта; аналогічно нумеруються байти у слові: нульовий байт вважається молодшим, а перший - старшим.

Шістнадцатькова і вісімкова системи числення

Усі дані, адреси і команди усередині ЕОМ існують у вигляді двійкових чисел, котрі є природними для машини, але незручні для сприймання людиною. Дещо зручнішими для людини є ці ж двійкові числа, але подані у шістнадцатьковій системі числення.   Для цього багаторозрядне двійкове число розбивається на тетради, кожна з яких містить по чотири розряди двійкового числа. Значення чисел, що відповідають одній тетраді, можуть бути від 0 до 15 і вони позначаються спеціальними шістнадцатьковими цифросимволами.  Числа від 0 до 9 зображаються звичайними арбськими цифрами, а для позначення чисел більших від девяти використовуються перші великі літери латинської абетки. Так, наприклад, число “десять”, котре у двійковій формі має вигляд 1010, позначається літерою А, число “одинадцять” (1011) -  літерою В, тощо. Позначення чисел у різних системах числення наведені у табл.1.

Вага кожної наступної тетради являє собою степінь числа 16. Кожна тетрада позначається відповідною цифрою або літерою шістнадцатькової системи. Так, наприклад, число 37110 може бути записано таким чином:

37110 = 1011100112 =0001  0111  0011 = 17316

  А шістнадцатькове число A8DF відповідає двійковому числу 1010  1000 1101  1111  або десятковому  числу 4323110 .

Інколи замість шітснадцатькової системи  застосовується вісімкова, в основі якої лежить число 8. У цьому випедку двійкове число розбивається на групи по три розряди (так звані тріади), кожна з яких позначається відповідним арабським числом від 0 до 7.  У цьому випадку латинські літери не потрібні. Так, наприклад, число 37110 буде записане як 101  110  011 =5638 .

Для того щоб було одразу видно до якої системи числення відноситься те чи інше число, замість використовуваних нами нижніх індексів після числа звичайна пишуть літери:

D - для десяткових чисел;

B - для двійкових (бінарних) чисел;

H-  для шістнадцатькових чисел;

    Q - для вісімкових чисел.

Відсутність літери після числа означає також, що дане число є десятковим.

        

       Табл.1  

Десяткова

Двійкова

Шістнадцатькова

Вісімкова

(D)

(B)

(H)

(Q)

0

0000

00

000

1

0001

01

001

2

0010

02

002

3

0011

03

003

4

0100

04

004

5

0101

05

005

6

0110

06

006

7

0111

07

007

8

1000

08

010

9

1001

09

011

10

1010

0A

012

11

1011

0B

013

12

1100

0C

014

13

1101

0D

015

14

1110

0E

016

15

1111

0F

017

16

10000

10

020

17

10001

11

021

18

10010

12

022

...

...

...

...

46

101110

2E

056

...

...

...

...

248

1111 1000

F8

370

249

1111 1001

F9

371

250

1111 1010

FA

372

251

1111 1011

FB

373

252

1111 1100

FC

374

253

1111 1101

FD

375

254

1111 1110

FE

376

255

1111 1111

FF

377

Переведення чисел з однієї системи числення до іншої

 

Досить часто виникає потреба перевести число з одної системи числення до іншої. Методи здійснення таких операцій можна проілюструвати на прикладі перетворення десяткового числа до шістнадцатькового формату. Цю процедуру можна здійснити принаймі двома способами.

160 = 1

161 = 16

162 = 256

163 =4096

164 = 65536

165=1048576

.......................

 І  спосіб     1) Складається таблиця степенів числа 16;

Десяткове число ділиться  на старше з цих степенів.

Якщо задане число менше від 16 n, то n-тий розряд шістнадцатькового числа залишається нульовим. Якщо ж задане число більше від 16 n , то частка від ділення  є  n-тим розрядом шістнадцатькового числа.

Остача ділиться на 16 n-1 , аж до  нульового степеня  включно.

 Наприклад, треба перетворити число 26798 10 у  Н - формат:

   26798 : 4096 = 6,  остача 2222;

   2222 :  256  =  8,   остача   174;

   174 : 16  = 10,  тобто А,   остача 14;  

      14 : 1 =  14,  тобто  Е.

  Отже одержуємо число  68АЕ Н.

 ІІ спосіб 1) Задане число ділиться на 16. Остача дає значення молодшого розряду шістнадцатькового числа.

Частка ділиться на 16, остача дає наступний розряд Н - числа, тощо. Наприклад,

 26798 : 16 = 1674,  остача 14  =  Е ;

 1674  :  16 = 104,    остача  10 =  А;

 104  :  16  = 6,          остача  8 ;

   6  :   16  =   0;          остача  6 ;

  Тобто одержуємо число   68АЕ Н.

 Аналогічно можна робити перетворення для будь-яких систем з іншими основами (наприклад для двійкових або вісімкових систем).

Перетворення шістнадцатькового числа до десяткової системи здійснюється таким методом:

n - тий розряд шістнадцатькового числа множиться на 16 n ;

(n -1) - тий розряд множиться на 16 n - 1 , тощо, аж до n - 1 =0 ;

одержані добутки додаються.

Наприклад, для числа А981 Н, маємо

  10 х 4096  =40960

   9 х 256     = 2304

   8 х  16      =   128

   1  х  1       =       1  

           43393 D

Аналогічно можна перетворювати у десяткові числа  з інших систем, наприклад, з двійкової

 11011 В      =   1  х  24 = 16

    1  х   23  = 8

    0  х   22  = 0

    1  х  21  =  2

               1  х   20 = 1     

         27 D

Арифметичні дії з двійковими числами   

      Табл.2.

  a

  b            

s=a + b  

  0

  0

  0

  0

  1

  1

  1

  0

  1

  1

  1

 10

 Арифметичні дії з двійковими числами вельми прості, і це ще одна перевага двійкової системи числення. Усі можливі варіанти додавання однорозрядних двійкових чисел a та b, котрі ми надалі будемо називати операндами, подані у табл. 2.

Якщо обидва операнди дорівнюють нулеві, то і їх сума також нульова. Якщо один з операндів одиниця, то і сума їх також одиниця.  Якщо ж обидва операнди є одиницями то їх сума є числом “два”, яке у двійковій системі

має вигляд 10 (читається як “один - нуль”). При підсумовуванні багаторозрядних чисел ці числа підсумовуються порозрядно, а одиниця переносу. яка може виникнути,  враховується у наступному за старшинством розряді.

Так, наприклад  

    1 0 1 1 0 1 1

            + 1 1 1 1 0 0 1

             1 1 0 1 0 1 0 0

  Табл.3.

  a n

  b n

  c n

  c n+1

  s

  0

  0

  0

  0

  0

  0

  1

  0

  0

  1

  1

  0

  0

  0

  1

  1

  1

  0

  1

  0

  0

  0

  1

  0

  1

  0

  1

  1

  1

  0

  1

  0

  1

  1

  0

  1

  1

  1

  1

  1

Як видно, у даному випадку відбулося переповнення старшого розряду і утворився перенос у наступний “надстарший” розряд. Сума виявилась на один

розряд більшою, аніж доданки .

 Таким чином, при підсумовані  чисел n - того розряду в дійсності підсумовуються не два числа a n  i  b n , що відповідають цьoму розряду, a три числа a n, b n i  c n ,  де с n - перенос із попереднього  n - 1  розряду. Таблиця істинності для такої операції  зображена у таблиці 3.

Тут c n+1  є перенос до наступного n + 1 розряду.

Операція віднімання здійснюється також побітно і при необхідності робиться позика з старшого розряду.  Наприклад

   1 0 1 1 0 0

            -1 0 0 0 1 1

              0 0 1 0 0 1

Доповняльний код    

Складності починаються, коли у результаті віднімання отримується відємне число. Так, наприклад

  1 0 0 1 = 9

-1 1 1 0 = 14

*1 0 1 1 = -5

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

Цей результат повинний дорівнювати відємному  числу  “пять”, хоча його можна прочитати і як двійкове число “одинадцять”. Суть справи полягає в тому, що одержане відємне число подано у так званому доповняльному коді, у якому і слід зображати відємні двійкові числа.

Для запису відємного двійкового числа у доповняльному коді слід виконати такі операції:

замість знака “мінус” поставити перед числом одиницю:

усі значущі розряди числа проінвертувати, тобто замінити нулі одиницями, а одиниці нулями:

додати одиницю у наймолодший розряд.

Так наприклад, відємне число “шість” перетворюється у доповняльний код так:

- 6 10 = -110 = 1.001  + 1 =1010

При цьому до числа виявляється доданий ще один старший  так званий знаковий розряд і воно з три-розрядного стає чотирьох-розрядним. Якщо  ж число додатне, то воно має у знаковому розряді нуль, а усі інші розряди залишаються таким ж як у звичайному прямому коді. Так наприклад, 0111 означає число + 7 10 .

Таким чином  чотирьох-розрядні  числа у доповняльному коді можуть позначати 15 чисел від - 7 до + 7 (разом з нулем).  Для того щоб виключити можливі непорозуміння треба одразу домовитися  чи ми працюємо лише з додатними числами у прямому коді, або з  будь-якими числами (як додатними, так і відємними) у доповняльному коді.

Записане у доповняльному коді відємне число (тобто те що має одиницю у надстаршому розряді) можна перетворити у прямий код за допомогою такого алгоритму:

замість одиниці у старшому розряді поставити перед числом знак “мінус”;

проінвертувати усі інші біти числа;

у наймолодший розряд додати одиницю.

Так наприклад, подане у доповняльному коді число 1011 буде означати

   1011 = - 100 + 1 = -101 = -5 .

Основна  зручність доповняльного коду полягає у тому що операція віднімання може бути тепер заміненою на операцію додавання, у котрій   операнд що віднімається  поданий як відємне число записане у доповняльному коді . Це означає що для здійснення операцій додавання  і віднімання  у ЕОМ достатньо мати лише один суматор.

З першого погляду може здатися що переходячи до доповняльного коду ми втрачаємо  у  кількості чисел що можуть бути зображенні при заданій кількості розрядів. Але це не так. Так наприклад, чотирьох-розрядне число  може, як і у прямому коді, зображати 16 різних чисел: від + 7 до - 7    (вважається що нуль може бути як додатним, так в відємним). І у цьому сенсі інформативність доповняльного коду не гірша від прямого.

Операції математичної логіки

Окрім цифрових значень одиниці і нулі двійкового числа можуть мати зміст логічних змінних, що застосовуються у операціях математичної логіки.  Математична логіка використовується для розвязання задач формальної логіки  і оперує з двома поняттями: “так” і “ні” .  Операції математичної логіки широко використовується  у ЕОМ для якісної обробки даних.

Логічна одиниця  (“1”) звичайно відповідає поняттю “так” , а логічний нуль (“0”)  означає “ні”. Ці величини звуться логічними операндами  або логічним змінними. Вони входять до логічних виразів та логічних рівнянь, котрі будуються та розвязуються методами так званої булевої алгебри.  У цій алгебрі аргументи і функції можуть мати лише два дискретні значення: “1” або “0”.

Розглянемо деякі основні функції булевої алгебри.

А) Функції з одним операндом. Їх може бути тільки дві:

- операція повторення, при якій функція у  дорівнює своєму аргументу х

   

- операція заперечення, при якій функція набуває значення протилежне до аргументу ( у = 0  при х = 1, або у = 1 при х = 0). Ця операція має також назву операції інверсії або операції “НЕ” і позначається рискою зверху:

  

Табл.4

   х 1

   х 2

   у

   0

   0

   0

   0

   1

   1

   1

   0

   1

   1

   1

   1

Б) Більш різноманітними є логічні операції від кількох змінних.  У випадку двох змінних таких функцій може бути шістнадцять. Розглянемо деякі з них.

Б1. Функція логічного додавання  (дизюнкція, операція “АБО”)

Цю операцію зручно зобразити у вигляді таблиці істинності (табл.4), в котрій вказується значення функції у, яке відповідає кожній комбінації з двох аргументів х 1 та х 2 . Як видно, достатньо щоб хоча б один з аргументів був одиницею, як і функція у буде також одиницею. Операція “АБО” умовно позначається  значком  “  “.

  

Б2. Логічне множення (конюнкція, операція “І”)

Як і слід при множенні, результат цієї операції дорівнює нулю, як що хоча б один з операндів є нульовим.

І лише у випадку, коли х 1= х2 = 1 результат  виявляється рівним одиниці. Умовне зображення  цієї операції має вигляд

  

Табл.5

   х 1

    х 2

    у

    0

    0

    0

    0

    1

    0

    1

    0

    0

    1

    1

    1

Операції “І” та “АБО” можуть  здійснюватися з будь-якою кількістю операндів. При операції “АБО”  у = 1 , якщо хоча б один з операндів дорівнює одиниці, а при операції “І”  у = 0 , якщо хоча б один з операндів є нулем.

Одною з основних теорем бульової алгебр є твердження, що будь-яку логічну операцію з будь-якою кількістю операндів можна здійснити , використовуючи лише три розглянуті вище базові операції: “НЕ”,”АБО” та “І”. Тому інші бульові функції можна було і б не розглядати. Але розглянемо ще одну функцію, яка часто застосовується у логічних виразах.

Б3. Нерівнозначність (додавання за модулем 2,

виключаюче “АБО”)

Табл.6

     х 1

    х 2

    у

    0

    0

   0

    0

    1

   1

    1

    0

   1

    1

    1

    0

Як показано у таблиці 6, у = 1 лише у випадку, якщо х 1 не дорівняє х 2 . Якщо ж х 1 = х 2 , то у = 0 . Ця операція  подібна до арифметичного додавання (табл.2),  при якому, однак, перенос  одиниці у старший розряд опускається (звідсі і  назва “додавання за модулем 2”). Умовно операція нерівнозначності позначається як

   

Кожна з розглянутих вище операцій може бути інвертована.

Логічні операції можна здійснювати і з багаторозрядними двійковими числами. При цьому операції з кожним розрядом провадяться індивідуально, без залежності від інших розрядів. Наприклад, операція “І” з числами 1101 та 1011  дасть результат 1001, а операція нерівнозначності дасть 0110.

 

  

      


 

А также другие работы, которые могут Вас заинтересовать

47978. ЕКОЛОГІЯ. БІОСФЕРА – СЕРЕДОВИЩЕ ЖИТТЯ ЛЮДИНИ 331 KB
  Короткий нарис історії екології. Українська екологічна школа Історія розвитку екології як синтетичної наукової дисципліни порівняно нетривала. Протягом XIX та початку XX століття розвиток спеціальних аналітичних наук сприяв накопиченню фактичних даних без яких було б неможливим формування екології як сучасної синтетичної науки. У становленні екології помітну роль зіграли праці К.
47979. Економічна діагностика 263.5 KB
  Економічна діагностика підприємства оцінка економічних показників роботи підприємства на основі вивчення окремих результатів неповної інформації з метою виявлення можливих перспектив його розитку і наслідків ухвалення поточних управлінських рішень. На основі аналізу і дослідження складається прогноз щодо змін і оптимізації існуючої організаційноекономічної підсистеми підприємства. Системний аналіз поділяється на: аналіз організаційної підсистеми який містить: аналіз політики підприємства його завдань; Аналіз концепції тобто...
47981. ОСНОВИ ФІНАНСІВ ПІДПРИЄМСТВ 590 KB
  У процесі розвязування практичних завдань необхідно засвоїти що фінанси підприємств – це сукупність економічних відносин які пов’язані з рухом грошових коштів формуванням розподілом і використання доходів та грошових фондів суб’єктів підприємництва в процесі відтворення. Відповідаючи на контрольні питання і тести необхідно виходити з того що безготівкові розрахунки – це перерахування певної суми коштів з рахунків платників на рахунки одержувачів коштів а також перерахування банками за дорученням підприємств і фізичних осіб коштів...
47982. ФІТОМЕЛІОРАЦІЯ ЯК ЗАСІБ ОПТИМІЗАЦІЇ ЕКОСИСТЕМИ 2.26 MB
  Фітомеліорація екотопу та слабозмінених місцезростань. Фітомеліорація лісових ландшафтів. Фітомеліорація сильнозмінених місцезростань.
47983. Рівноприскорений прямолінійний рух. Прискорення. Рівномірний рух тіла по колу 167 KB
  Рівномірний рух тіла по колу. Прискорення Швидкість і пройдений шлях тіла під час рівноприскореного прямолінійного руху.Рівномірний рух тіла по колу. Прямолінійним рівноприскореним рухом називають рух у разі якого швидкість тіла за будьякі однакові проміжки часу змінюється на одну ту саму величину.
47984. Сонячні елементи 970 KB
  Після протилежно заряджені вільні носії заряду просторово розділяються переміщуючись в протилежних напрямках за рахунок дифузії або дрейфу в силововому полі. Щоб прорекомбінувати вони повинні пройти по зовнішньому колу де їх надлишкова потенціальна енергія яка отримана внаслідок поглинання світла перетворюється в кінетичну енергію рухомого заряду електричний струм. У приповерхневому шарі напівпровідника товщиною dn залишається нерухомий обємний заряд додатньо іонізованих донорів і цей шар буде збіднений на основні носії заряду тобто...
47985. Господарське право 4.01 MB
  Єдина транспортна система України. Поняття іноземних інвестицій і їх роль в економіці України. Інтеграція України до світової економічної системи стимулює розвиток міжнародних господарських звязків зовнішньоекономічної діяльності субєктів господарювання. Указ Президента України від 22 січня 2000 р.
47986. Сутність і функції грошей 460.5 KB
  Сутність і функції грошей. Раціоналістична та еволюційна концепції походження грошей. Розвиток форм грошей. Сутність грошей.