Авиационно инженерство Административно право Административно право Беларус Алгебра Архитектура Безопасност на живота Въведение в професията „психолог” Въведение в икономиката на културата Висша математика Геология Геоморфология Хидрология и хидрометрия Хидросистеми и хидравлични машини Културология Медицина Психология икономика дескриптивна геометрия Основи на икономически т Oria професионална безопасност Пожарна тактика процеси и структури на мисълта, Професионална психология Психология Психология на управлението на съвременната фундаментални и приложни изследвания в апаратура социалната психология социални и философски проблеми Социология Статистика теоретичните основи на компютъра автоматично управление теория на вероятностите транспорт Закон Turoperator Наказателно право Наказателно-процесуалния управление модерна производствена Физика Физични феномени Философски хладилни инсталации и екология Икономика История на икономиката Основи на икономиката Икономика на предприятията Икономическа история Икономическа теория Икономически анализ Развитие на икономиката на ЕС Спешни ситуации ВКонтакте Однокласници Моят свят Facebook LiveJournal Instagram
border=0

Представяне на елементарни данни в RAM

Както вече споменахме, различните видове елементарни данни са символи, цели числа, реални числа и логически данни. Логическите и физическите нива на тяхното представяне се определят от конструктивните особености на RAM на компютъра. По-специално, тъй като паметта на компютъра има байтова структура, представянето на всички данни е обвързано с него. По-точно е твърдението, че компютърната дума се използва за представяне на стойностите на елементарни данни в компютърната памет ; Този термин в компютърните науки се използва в две значения:

Машинна дума е (1) колекция от двоични елементи, обработени като едно цяло в компютърните устройства и паметта;

(2) данни, съдържащи се в една клетка от паметта на компютъра.

От техническа гледна точка машинната дума комбинира елементи за съхранение, използвани за записване на 1 бит информация в една клетка от паметта. Броят на тези елементи, които трябва да бъдат комбинирани е кратен на 8, т.е. цели числа Например, във вътрешния компютър BESM-6 дължината на машинна дума е 48 бита (6 байта), в CM и IBM машините - 16 бита (2 байта). Достъпът до машинната дума при операции за писане и четене се извършва според броя на клетката на паметта, която се нарича адрес на клетката.

Устройствата за съхранение, в които се осъществява достъп до данните на адреса на клетката, където те се съхраняват, се наричат ​​устройства за произволен достъп. *

* Поради тази причина, терминът RAM - R andom A ccess M emory - "памет с произволен достъп" се използва в английската литература вместо в RAM .

Времето за търсене на желаната клетка, както и продължителността на операциите за четене или запис в паметта за произволен достъп, са еднакви за всички клетки, независимо от техния адрес.

За логическото ниво е важно представянето на стойностите на всякакви елементарни данни да бъде фокусирано върху използването на машинни думи с определена и еднаква дължина за даден компютър, тъй като тяхното представяне на физическо ниво се извършва в RAM клетки (при RAM елементарните данни не са представени като независими данни и достъп за тях липсва).

Разгледайте характеристиките на представянето на всички видове елементарни данни, използвайки 16-битова машинна дума. Редът на стойностите на данните е представен на Фигура 6.1.

За да се представят символи (литерални данни), машинната дума се разделя на групи от 8 бита, в които се пишат двоичните кодове на символите. Ясно е, че два символа могат да бъдат едновременно записани в 16-битова машинна дума (фиг. 6.1, а). Стойностите на единичните литерални данни са символни кодове. Наборът от валидни стойности на данни за този тип за всички кодирания на базата на еднобайтово представяне е 2 8 - 256; Unicode двубайтовото кодиране позволява 65,536 стойности. Наборът от знаци формира азбуката, т.е. за тях се създава лексикографска заповед в съответствие с числената стойност на кода; Това, от своя страна, ни позволява да определим над множеството от символни данни операцията на математическите отношения>, <, =. Директно над единична променлива се дефинира единична операция - промяна на стойността от един код в друг. Всички други действия се изпълняват със сложни символни данни, например, от тип String в езика PASCAL (виж раздел 6.3.).

При представянето на подписани цели числа (например тип Integer в езика PASCAL) битът от висок порядък (15-ти), както вече бе споменато, е запазен за писане на знака на числото (0 съответства на “+”, 1 - “-”), а останалите 15 двоични цифри - за записване на директни (за положителни) или обратни (за отрицателни) двоични числа (фиг. 6.1.6). В същото време възможните стойности на числата са ограничени от интервала [-32768 + 32767 ] . Заедно с описаното се използва и друг формат на представяне на цели числа - неподписан; очевидно, той е приложим само за запис на положителни числа. В този случай всичките 16 двоични цифри се присвояват на вписването на номера, а интервалът на позволените стойности е [0 * 65535] (в PASCAL този цифров тип се нарича Word). В допълнение към математическите отношения над числата, дефинират се операциите по събиране, изваждане и умножение (в случаите, когато те не водят до препълване на разрядна мрежа), както и целочислено разделяне и намиране на остатъка от целочисленото деление.

Представянето на реалните числа с плаваща запетая се разглежда и по-рано. Когато пишете число, то се превръща в нормализирана форма с подбора и отделното съхранение на знака на мантисата, знака на реда, реда и мантисата. Дадени са няколко машинни думи, за да се представи числото. Ситуацията, съответстваща на числовия тип Единична в езика PASCAL, когато са дадени две машинни думи за представяне на число, е илюстрирана на фиг. 6.1, c. Тази форма обхваща обхвата на модулите на мантисата [1.5 10 -45 3.4, 4 10 38 ] със 7 десетични цифри на мантисата. Записът на мантисата започва с 23-тата цифра. Тъй като мантисата е избрана така, че нейният модул да отговаря на условието 0.1 2 ≤ | M 2 | <1, винаги стойността на най-значимата цифра на числото 0 (цяло число) - тя не се показва при запис, а стойността на следващата цифра е винаги 1. По време на изпълнението на операциите, препълване на разтоварващата мрежа (с 1 цифра) или, обратно, неговото освобождаване (т.е. в първата показана цифра ще бъде 0) - поради тази причина, след всяка операция с числа в такава форма, резултатът се нормализира, което се състои в промяна на реда на числото и преместване на мантисата така, че първата значима цифра да е 1 отново (виж 4.3.3) ) .. Промяната на реда в представянето на числото е еквивалентна на преместването на разделителя на целочислените и частичните части на числото - както вече споменахме, тази форма се нарича " плаваща точка". Благодарение на използването на плаваща запетая, числата се мащабират автоматично по време на изчисленията, което намалява грешката при тяхната обработка. Всичките четири аритметични операции са дефинирани над реални числа. Освен това има операции за преобразуване на реалния тип в цяло число (например, кръг и trunc в PASCAL'e).

Логическите данни могат да приемат една от двете стойности - 0 или 1 (0 съответства на логическото False, 1 - True, и False <True). За да ги напиша, би било достатъчно само една бинарна цифра. Обаче, няма достъп до отделен бит в RAM на компютъра, затова се разпределя цял байт за представяне на логическите данни, а ниският бит от който съдържа стойността. Така в машинната дума логическите данни се намират в 0-ия и 8-мия битове (виж Фиг. 6.1, г ). Следните операции се дефинират над логическите данни: логическо умножение (конюнкция, ^), логическо допълнение (дизюнкция, v), логическо отрицание (Ø). Пример за логически данни е типа Boolean в PASCAL.

Стойностите на елементарните данни се формират по време на изпълнението на програмата и имат физическо представяне в RAM. Обратно, идентификаторите на данни съществуват само на ниво логическо представяне - те се използват за обозначаване на данни в текста на програмата, но когато дадена програма се превежда от програмен език на машинен код, имената се заменят с номерата на клетките, в които се поставят данните. Когато се изпълнява такава програма, данните се получават от адреса на клетката, а не от идентификатора. Адресите могат да бъдат абсолютни - в този случай те не се променят, когато програмата се зарежда в RAM - това е точно този вид адресиране, използвано в изпълними програмни файлове с разширение на клетки. Въпреки това, поради някои особености на разпределението на паметта на компютъра, размерът на тези програми не може да надвишава 64 Kb. В изпълними файлове с разширение .exe , на етап излъчване се определят относителни адреси за данни, които се задават, когато програмата се поставя в RAM - това до известна степен забавя началото на изпълнението, но премахва горната граница на размера на програмата.

В заключение следва да се отбележи, че в някои приложни програми други видове данни се използват също като елементарни, например типовете „Data“ или „Money“ в MS Excel и MS Access. Въпреки това, те са независими само за потребителя на програмата; от самата програма те се свеждат до някаква комбинация от горните елементарни данни.





Вижте също:

Пример 9.2.

Формална граматика

Пример 7.7

Общи подходи към описанието на устройствата за обработка на дискретна информация

Естествени и изкуствени системи

Връщане към съдържанието: Теоретични основи на компютърните науки

2019 @ ailback.ru