Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


ќсновы машинных вычислений

Ћабораторна€ работа є1

÷ель: ‘ормирование представлени€ о способе хранени€ и представлени€ информации в компьютере. ѕриобретение навыков перевода чисел в различные системы счислени€ и выполнение арифметических операций в двоичной системе счислени€.

“еоретические сведени€

 

 омпьютер не понимает непосредственно команды на €зыке ассемблера, он понимает только машинные команды. ћашинный €зык состоит из чисел, которые интерпретируютс€ процессором. ѕроцессор обычно имеет встроенный интерпретатор, представл€ющий микропрограмму и преобразовывающий машинные команды непосредственно в управл€ющие сигналы.

ћашинный €зык включает примитивные операторы, которые могут исполнить простые арифметические действи€ или переместить данные. —истема команд процессора состоит из машинных команд, которые он может исполнить. ћашинный €зык дл€ семейства процессоров Intel в своей основе имеет систему команд процессора 8086, которые могут выполн€тьс€ процессорами последующих модификаций. “ака€ концепци€ называетс€ совместимостью сверху вниз.

ѕисать программы на машинном €зыке неудобно и утомительно, т.к. необходимо писать много чисел, сравнивать их коды. √ораздо удобнее использовать ассемблер, который преобразовывает коды, написанные на €зыке ассемблера в машинные коды. ƒл€ нагл€дности рассмотрим пример машинной команды, котора€ помещает число 5 в регистр процессора AL: 1011000000000101 ѕервые 8 битов- код операции, который предписывает поместить операнд в регистр AL. ¬торые 8 битов €вл€ютс€ операндом. Ќа ассемблере данный пример выгл€дит так: mov AL, 5

ѕеред тем, как изучать €зык ассемблера необходимо разобратьс€ с представлением данных в компьютере, с системами счислени€.

 

ƒвоичные числа

¬ компьютере информаци€ представлена в двоичной системе счислени€. ƒвоичные числа так же называют числами с основание 2, так как каждое число может принимать только два значени€: 0 или 1. компьютеры сохран€ют команды или данные как серию двоичных цифр, называемых битами. ƒвоичные цифры организованы группами по восемь цифр, называемых байтами. Ѕайт может содержать простую машинную команду, символ или число. ƒва байта составл€ют слово, хот€ количество байт в слове может быть различным в зависимости от конструкции компьютера. »спользуютс€ так же двойные слова (32 бита) и учетверенные слова (64 бита).

¬ €зыках высокого уровн€ представление команд и данных имеет существенное различие, однако в компьютере они представлены как одинаковые наборы нулей и единиц. “аким образом, программисты, использующие €зык ассемблера, должны раздел€ть данные и команды.

 

—истемы счислени€

ƒл€ человека наиболее привычной системой счислени€ €вл€етс€ дес€тична€. ƒл€ преобразовани€ чисел из двоичной системы к более компактному виду используютс€ восьмерична€ и шестнадцатерична€ системы счислени€. ¬се перечисленные системы счислени€ €вл€ютс€ позиционными т.е. обладающими следующим свойствам Ц количественное значение каждой цифры зависит от ее места (позиции) в числе.

ƒадим краткую характеристику каждой системы счислени€:

Ј ƒвоична€ система Ц цифры 0 и 1.

ѕример числа 100100110(2)

Ј ¬осьмерична€ система Ц цифры 0, 1, 2, 3, 4, 5, 6, 7.

ѕример числа 235(8)

Ј ƒес€тична€ система - цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

ѕример числа 453(10)

Ј Ўестнадцатерична€ система Ц цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

ѕример числа 32A(16)

 

ƒл€ перевода чисел из любой системы счислени€ в дес€тичную можно использовать правило позиционной системы счислени€: (1)

 


P- основание системы счислени€. Ќижние индексы определ€ют местоположение цифры в числе (разр€д): положительные значени€ индексов Ц дл€ целой части числа (m разр€дов), отрицательные значени€ - дл€ дробной части (s разр€дов).

Ќапример, дл€ перевода числа 235 используем правило позиционной системы 235(8)=2*82+3*81+5*80=2*64+3*8+5*1=128+24+5=157(10)

125,16(16)=1*162+2*161+5*160+1*16-1+6*16-2=256+32+80+0,0625+0,0234 = 368,0859(10)

101110,101(2)=1*25+0*24+1*23+1*22+1*21+0*20+1*2-1+0*2-2+

+1*2-3=46,625(10)

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

Ќапример, двоичное число 0100001(2) равно 65(10).
ƒействительно, 64 * 1 + 1 * 1 = 65.

¬ес                
÷ифра                

 

“аким образом, дл€ перевода числа из позиционной системы счислени€ с любым основанием в дес€тичную систему счислени€ можно воспользоватьс€ выражением (1). ќбратный перевод из дес€тичной системы счислени€ в систему счислени€ с другим основанием непосредственно по формуле (1) дл€ человека весьма затруднителен, поскольку все арифметические действи€, предусмотренные этой формулой, следует выполн€ть в той системе счислени€, в которую число переводитс€. ќбратный перевод выполн€етс€ значительно проще, если предварительно преобразовать отдельно целую и дробную части выражени€ (1) к виду

     
 
 
 

 

 


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

1. ƒл€ перевода целой части числа ее, а затем целые части получающихс€ частных от делени€, следует последовательно делить на основание – до тех пор, пока очередна€ цела€ часть частного не окажетс€ равной 0. ќстатки от делени€, записанные последовательно справа налево, образуют целую часть числа в системе счислени€ с основанием –.

2. ƒл€ перевода дробной части числа ее, а затем дробные части получающихс€ произведений, следует последовательно умножать на основание – до тех пор, пока очередна€ дробна€ часть произведени€ не окажетс€ равной 0 или не будет достигнута нужна€ точность дроби. ÷елые части произведений, записанные после зап€той последовательно слева направо, образуют дробную часть числа в системе счислени€ с основанием –.

ѕример перевода смешанного числа из дес€тичной системы в двоичную систему 46,625(10)

 

       
   
0,625 1,250 0,500 1,000  
 
 

 


 

 

 

 


ќкончательно получаем 46,625(10)=101110,101(2)

 

“аб. 1.1
ƒл€ перевода из двоичной системы счислени€ в восьмеричную и шестнадцатеричную систему счислени€ (и наоборот), удобно использовать таблицу перевода, приведенную ниже:

 

 

IV III II I 8-€ или 16-€
         
         
         
         
         
         
         
         
         
         
        A
        B
        C
        D
        E
        F

 

ƒл€ перевода чисел из 8-й системы в двоичную достаточно использовать 3 двоичных разр€да, а дл€ перевода из 16-й системы достаточно использовать 4 двоичных разр€да.

Ќапример, переведем 1364(8) в двоичную систему счислени€, использу€ таблицу.
1364(8)=001 011 110 100(2)

ѕереведем A15(16) в двоичную систему счислени€.
A15(16)=1010 0001 0101(2)

ѕеревод из двоичной системы в 8-ю и 16-ю выполн€етс€ аналогично по таблице, надо только иметь ввиду, что можно с левой стороны числа добавл€ть нулей столько сколько нужно.
Ќапример, перевести двоичное число 10010100111(2) в 8-ю систему счислени€.
10010100111(2)=010 010 100 111(2)=2247(8)

ѕеревести это же число в 16-ю систему счислени€
10010100111(2)=0100 1010 0111(2)=4A7(16)

 

ѕредставление числовой информации на компьютере

 

¬ вычислительных машинах примен€ютс€ три формы представлени€ двоичных чисел:

Ј естественна€ форма, или форма с фиксированной зап€той (точкой);

Ј нормальна€ форма, или форма с плавающей зап€той (точкой);

Ј двоично Ц дес€тичное представление.

¬ форме представлени€ с фиксированной зап€той все числа изображаютс€ в виде последовательности цифр с посто€нным дл€ всех чисел положением зап€той, отдел€ющей целую часть от дробной.

Ќапример: в дес€тичной системе счислени€ имеетс€ 5 разр€дов в целой части числа (до зап€той) и 5 разр€дов в дробной части числа (после зап€той); числа, записанные в такую разр€дную сетку, имеют вид:

+00721,35500; +00000,000328: -10301,20260.

Ёта форма наиболее проста, естественна, но имеет небольшой диапазон представлени€ чисел и поэтому чаще всего не приемлема при вычислени€х. ƒиапазон значащих чисел N в системе счислени€ с основанием – при наличии m разр€дов в целой части и 5 разр€дов в дробной части числа (без учета знака числа) будет таким:

 
 

 


Ќапример, при –= 2, m= 10 и s = 6 числа измен€ютс€ в диапазоне 0,015 < ћ< 1024.

≈сли в результате операции получитс€ число, выход€щее за допустимые пределы, произойдет переполнение разр€дной сетки, и дальнейшие вычислени€ тер€ют смысл. ¬ современных компьютерах естественна€ форма представлени€ используетс€ как вспомогательна€ и только дл€ целых чисел.

¬ форме представлени€ с плавающей зап€той каждое число изображаетс€ в виде двух групп цифр. ѕерва€ группа цифр называетс€ мантиссой, втора€ Ч пор€дком, причем абсолютна€ величина мантиссы должна быть меньше 1, а пор€док должен быть целым числом. ¬ общем виде число в форме с плавающей зап€той может быть представлено так:

 
 

 


где ћ Ч мантисса числа (|ћ| < 1); r Ч пор€док числа (целое число); – Ч основание системы счислени€.

Ќапример, приведенные ранее числа в нормальной форме запишутс€ следующим образом: +0,721355 * 103; +0,328 *10-3; -0,103012026 *105.

Ќормальна€ форма представлени€ имеет огромный диапазон отображени€ чисел и €вл€етс€ основной в современных компьютерах. “ак, диапазон значащих чисел в системе счислени€ с основанием – при наличии m разр€дов у мантиссы и s разр€дов у пор€дка (без учета знаковых разр€дов пор€дка и мантиссы) будет:

 
 

 


Ќапример при – = 2, m=22 и 5=10 диапазон чисел простираетс€ при≠мерно от 10-300 до 10300. ƒл€ сравнени€: количество секунд, которые прошли с мо≠мента образовани€ планеты «емл€, составл€ет всего 1018.

—ледует заметить, что все числа с плавающей зап€той хран€тс€ в машине в так называемом нормализованном виде. Ќормализованным называют такое число, в старшем разр€де мантиссы которого стоит единица. ” нормализованных дво≠ичных чисел, следовательно,.

 
 

 

 


“реть€ форма предоставлени€ двоичных чисел Ц двоично-дес€тична€. ≈е по€вление объ€сн€етс€ следующим. ѕри обработке больших массивов дес€тичных чисел (например, больших экономических документов) приходитс€ тратить существенное врем€ на перевод этих чисел из дес€тичной системы счислени€ в двоичную дл€ последующей обработки и обратно Ц дл€ вывода результатов.  аждый такой перевод требует выполнени€ двух Цчетырех дес€тков машинных команд. — включением в состав отдельных Ё¬ћ специальных функциональных блоков или спецпроцессоров дес€тичной арифметики по€вл€етс€ возможность обрабатывать дес€тичные числа напр€мую, без их преобразовани€, что сокращает врем€ вычислений. ѕри этом кажда€ цифра дес€тичного числа представл€етс€ двоичной тетрадой. Ќапример, ј(10)=3759, ј(2-10) =0011 0111 0101 1001. ѕоложение дес€тичной точки (зап€той), отдел€ющей целую часть от дробной, обычно заранее фиксируетс€. «начение знака числа отмечаетс€ кодом, отличным от кодов цифр. Ќапример, Ђ+ї имеет значение тетрады Ђ1100ї, а Ђ-ї- Ђ1101ї.

 

јлгебраическое представление двоичных чисел

 

«нак числа обычно кодируетс€ двоичной цифрой, при этом код 0 означает знак + (плюс), код 1 Ч знак - (минус). „исла со знаком используют старший разр€д в качестве знакового. “аким образом, если используетс€ число без знака, то дл€ 8-разр€дного числа используютс€ все 8 бит, то максимальное число 255. ƒл€ 8- разр€дного числа со знаком используютс€ 7 бит, а восьмой знаковый, максимальное число будет 127. ƒл€ алгебраического представлени€ чисел, то есть дл€ представлени€ чисел с учетом их знака, в вычислительных машинах используютс€ специальные коды:

пр€мой код числа;

обратный код числа;

дополнительный код числа.

ѕри этом два последних кода позвол€ют заменить неудобную дл€ компьютера операцию вычитани€ на операцию сложени€ с отрицательным числом. ƒополнительный код обеспечивает более быстрое выполнение операций, поэтому в компьютере примен€етс€ чаще именно он.

1.ѕр€мой код числа N,обозначим [N]пр.

ѕусть N=a1, a2, a3,... am, тогда:

ѕри N>0, [N]пр.=0, a1, a2, a3,... am;

ѕри N<0, [N]пр.=1, a1, a2, a3,... am;

ѕри N=0 имеет место неоднозначность [0]пр.=0, 0 Е= 1, 0 Е

≈сли при сложении оба слагаемых имеют одинаковый знак, то операци€ сложени€ выполн€етс€ обычным путем. ≈сли при сложении слагаемые имеют разные знаки, то сначала необходимо вы€вить большее по абсолютной величине число, произвести из него вычитание меньшего по абсолютной величине числа и разности присвоить знак большего числа. ¬ыполнение операций умножени€ и делени€ в пр€мом коде выполн€етс€ обычным образом, но знак результата определ€етс€ по совпадению или несовпадению знаков участвовавших в операции чисел. ќперацию вычитани€ в этом коде нельз€ заменить операцией сложени€ с отрицательным числом, поэтому возникают сложности, св€занные с заемом значений из старших разр€дов уменьшаемого числа. ¬ св€зи с этим пр€мой код в компьютере почти не примен€етс€.

2. ќбратный код числа N, обозначим [N]обр.

ѕусть N= a1, a2, a3,... am и ā обозначает инверсию a, т.е. если a=1, то ā=0, и наоборот. “огда:

ѕри N>0, [N]обр =0, a1, a2, a3,... am;

ѕри N<0, [N]обр =1, ā 1, ā 2, ā 3,... ā m;

ѕри N=0 имеет место неоднозначность [0]обр.=0,00 Е0 = 1,11Е1

ƒл€ того чтобы получить обратный код отрицательного числа, необходимо все цифры этого числа инвертировать, то есть в знаковом разр€де поставить 1, во всех значащих разр€дах нули заменить единицами, а единицы нул€ми.

Ќапример,

ƒл€ N=1011 [N]обр=0,1011;

ƒл€ N=-1011 [N]обр=1,0100.

3. ƒополнительный код числа N,обозначим [N]доп.

ѕусть так же N= a1, a2, a3,... am и ā обозначает инверсию a, т.е. если a=1, то ā=0, и наоборот. “огда:

ѕри N 0, [N]доп =0, a1, a2, a3,... am;

ѕри N 0, [N]доп =1, ā 1, ā 2, ā 3,... ā m + 0,00 Е1

ƒл€ того чтобы получить дополнительный код отрицательного числа, необходи≠мо все его цифры инвертировать (в знаковом разр€де поставить единицу, во всех значащих разр€дах нули заменить единицами, а единицы нул€ми) и затем к млад≠шему разр€ду прибавить единицу. ¬ случае возникновени€ переноса из первого после зап€той разр€да в знаковый разр€д, эта единица отбрасываетс€ т.к. знаковый разр€д только один.

Ќапример,

ƒл€ N=1011 [N]доп=0,1011;

ƒл€ N=-1011 [N]доп=1,0101;

ƒл€ N=-0000, [N]доп=10,0000=0,0000 (1 исчезает)

 

Ёлементы двоичной арифметики

–ассмотрим, как выполн€ютс€ арифметические действи€ в двоичной системе. ƒл€ этого проведем анализ таблиц сложени€ и умножени€ в двоичной системе:

0+0=0, 0*0=0, 0+1=1, 0*1=0, 1+1=10

—ледует обратить внимание на аналогию в правилах выполне≠ни€ арифметических действий в двоичной и дес€тичных системах счислени€: если при сложении двух двоичных чисел (точнее, пред≠ставленных в двоичной системе счислени€) сумма цифр окажетс€ больше единицы, то возникает перенос в старший разр€д; если уменьшаема€ цифра меньше вычитаемой, то нужно сделать Ђзаемї единицы в старшем разр€де.

јнализиру€ примеры умножени€ в двоичной системе счисле≠ни€, необходимо обратить внимание на одну важную особенность выполнени€ этой операции в данной системе. “ак как очередна€ цифра множител€ может быть только 1 или 0, то промежуточное произведение равно либо множимому, либо 0. “аким образом, опе≠раци€ умножени€ в двоичной системе фактически не производитс€: в качестве промежуточного произведени€ записываетс€ либо мно≠жимое, либо 0, а затем промежуточные произведени€ суммируютс€. »наче говор€, операци€ умножени€ замен€етс€ последовательным сложением.

 ак уже известно, дополнительный код используетс€ дл€ вычи≠тани€ чисел в компьютерах и позвол€ет эту операцию свести к сло≠жению чисел. ѕравила выполнени€ вычитани€ с дополнительным кодом сле≠дующие: чтобы вычесть число ј из числа ¬, достаточно сложить ¬ с дополнительным кодом числа ј и отбросить перенос в соседний стар≠ший разр€д.

–ассмотрим пример: 10110110(2) Ц 01000111(2)

Ќайдем дополнительный код числа 01000111(2) он будет равен 10111001(2)

10110110(2)+ 10111001(2)=01101111(2)

1 0 1 1 0 1 1 0

+

1 0 1 1 1 0 0 1

_____________

1 0 1 1 0 1 1 1 1

 

“аким образом, важнейшее преимущество двоичной арифмети≠ки заключаетс€ в том, что она позвол€ет все арифметические действи€ свести к одному Ц сложению, а это значительно упрощает устройство Ё¬ћ.

ѕрактические задани€

 

«адание 1. ¬ восьмеричной системе счислени€ дано число. ѕеревести его в дес€тичную систему счислени€.

є „исло є „исло
       
       
       
       
       
       
       
       

 

 

«адание 2. ƒано дес€тичное число. ѕеревести его в восьмеричную и в шестнадцатеричную системы счислени€.

є „исло є „исло
       
       
       
       
       
       
       
       

 

«адание 3. ѕеревести числа в двоичную систему счислени€. ¬ыполнить вычитание с использованием дополнительного кода.

є “ри числа в различных системах счислени€. є “ри числа в различных системах счислени€.
  101111(2)+87(16)-53(10)=   85(10)+10001(2)-27(8)=
  1100100(2)-57(8)+3ј(16)=   60(8)+10000111(2)-83(10)=
  46(8)+7¬(16)-1000111(2)=   1100010(2)-66(8)+76(16)=
  10111100(2)-162(8)+28(10)=   57(8)+7—(16)- 1001101(2)=
  77(8)+73(16)-1001001(2)=   1011110(2)+5≈(16)-111(10)=
  125(10)+100101(2)-42(16)=   224(8)-110100(2)+23(16)=
  1101111(2)-39(10)+121(8)=   71(16)+101101(2)-85(10)=
  9≈(16)-1100101(2)+54(8)=   1110110(2)-4F(16)+164(8)=

 

«адание 4. ѕеревести оба действительных числа в двоичную систему счислени€. “очность перевода чисел до 5 знаков после зап€той. «аписать числа в формате с плавающей зап€той в нормализованной форме и выполнить сложение чисел.

 

є „исла в дес€тичной системе счислени€ є „исла в дес€тичной системе счислени€
  12,4 + 6,15 =   5,3 +7,15 =
  4,6 + 3,8 =   6,3 + 7,18 =
  7,3 +9,14 =   11,6 + 9,5 =
  14,5 +7,3 =   7,14 +2,6 =
  4,6 +7,8 =   5,13 + 13,5 =
  11,1 +4,6 =   8,4 +7,14 =
  13,11 +7,5 =   11,6 + 15,3 =
  3,6 +8,12 =   6,16 + 9,6 =

 

 онтрольные вопросы

 

1. „то такое двоичные числа?

2.  акие системы счислени€ вы знаете?

3. „ем отличаютс€ пр€мой, обратный и дополнительный коды числа?

4.  ак производитс€ вычитание двоичных чисел?

5.  ак хран€тс€ в компьютере числа с плавающей точкой?

 

Ћитература



<== предыдуща€ лекци€ | следующа€ лекци€ ==>
ѕрограммирование логических схем, заданных полной таблицей истинности | Ѕилет 12
ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2015-01-25; ћы поможем в написании ваших работ!; просмотров: 709 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

ƒва самых важных дн€ в твоей жизни: день, когда ты по€вилс€ на свет, и день, когда пон€л, зачем. © ћарк “вен
==> читать все изречени€...

1366 - | 1244 -


© 2015-2024 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.082 с.