Форум Херсона. Форум Херсонской молодежи, флейм, фотографии Херсона, политика в Херсоне, сетевой форум, сети Херсона


Приветствуем на Форум Херсона. Форум Херсонской молодежи..

На данный момент Вы находитесь на форуме как Гость и имеете очень ограниченные возможности и права. Что бы писать или отвечать в темах, загружать картинки, файлы на форуме Вам нужно зарегистрироваться, что совершенно бесплатно. Регистрация очень быстрая, не откладывайте эту процедуру!

Если возникнут проблемы с регистрацией напишите нам.

Галерея форума Блоги пользователей Список банов
Вернуться   Форум Херсона. Форум Херсонской молодежи. > >
Регистрация СправкаСтатистика Пользователи Календарь Сообщения за день

Ответ
 
Опции темы
Старый 08.10.2011, 12:31   #1 (Ссылка на пост)
Свой В Доску
 
Аватар для intel64
Пол:
 
Активность Longevity
0/20 13/20
Today Сообщения
0/5 ssssss809
Благодарил(а): 3,972
Благодарили 618 раз в 279 постах
Галерея: 0
Вес репутации: 19 intel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имя
Процессор, память и ОС.

Так как никто на этом форуме, как мне кажется, не понимает о чем идет речь, когда говорят о цифрах 2 3 4 и т.д. связанных с памятью и дабы избавить себя и форум от стопитсот разового повторения одного и того же, создаю сей топ, в котором постараюсь объяснить о чем же все-таки речь на самом деле.
Я отдаю себе отчет в том что, объяснение сложными техническими терминами только осложнит понимание на первом этапе, поэтому я постраюсь максимально упростить изложение.

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

Вот. Тетрадка в клеточку.

Название:  Untitled1.png
Просмотров: 2345

Размер:  19.9 Кбайт

Каждая из клеточек это ячейка размером один байт. Один байт это группа из 8 бит. Каждый из бит может быть в одном из двух состояний либо логический 0 это когда заряд конденсатора около 0 вольт, либо в состоянии логической единицы, когда заряд конденсатора около 5 вольт.

Почему один байт?
Процессор и память соеденины между собой устройствами именуемые шинами. Шины это паралельные проводники по которым передается информация.

Название:  Untitled.png
Просмотров: 1275

Размер:  8.6 Кбайт

По своему назначению шины существую трех типов – шина данных, шина адреса, управляющая шина.
У шины адреса и шины данных есть такая характеристика как разрядность. Как было сказано выше шина это группа параллельных проводников, так вот разрядность это количество этих самых проводников. Тоесть, 16-ти разрядная шина это шина с 16-ю параллельными проводниками, 32-х разрядная шина это шина с 32-мя проводниками. По каждому из проводников передается один бит(один электрический разряд), таким образом, например, по 32-разрядной шине передается за один раз 32 бита информации или 4 байта, так как напомню в байте 8 бит.

Шина адреса.
По этой шине процессор передает число, которое определяет к какому байту(клеточке на тетрадке) он хочет обратиться с операцией чтения или записи, тоесть память побайтово адресуема. Если давать байту определение то оно будет выглядеть так, БАЙТ – это минимально адресуемая единица информации. Если шина адреса имеет разрядность 16 бит (16 параллельных проводников), то обратиться он сможет максимум к 65536 ячейкам(байтам) или 64-м килобайтам. Если шина адреса 32 разряда, то обратиться процессор сможет к 4294967295 ячейкам(байтам) или 4 гигабайтам.

Для первого поста думаю хватит. Для более лучшего запоминания, после прочтения, еще раз пробежитесь по ключевым словам, выделенные жирным шрифтом.
__________________
memorybook.org.ua

Последний раз редактировалось intel64, 30.10.2011 в 08:37.
intel64 вне форума  
Ответить с цитированием
Эти 8 пользователей сказали Спасибо intel64 за хороший пост:
andr (17.10.2011), Andreyev (08.10.2011), Joey[CJ] (27.10.2011), mr_Arm (08.10.2011), PhoeniXX (09.10.2011), SooM (10.10.2011), sun-ks (17.10.2011), электрик (16.12.2011)
Старый 09.10.2011, 12:54   #2 (Ссылка на пост)
Свой В Доску
 
Аватар для intel64
Пол:
 
Активность Longevity
0/20 13/20
Today Сообщения
0/5 ssssss809
Благодарил(а): 3,972
Благодарили 618 раз в 279 постах
Галерея: 0
Вес репутации: 19 intel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имя
Шина адреса. Продолжение.

Итак выяснили, что разрядность шины адреса определяет количество адресов, которые процессор может выставить на нее(шину) для обращения к памяти. То есть повторимся, на 32-х разрядную шину можно подать 4294967295 различных комбинаций чисел (электрических разрядов). Вот это количество адресов называется адресным пространством.

В терминологии производителей процессоров это адресное пространство, которое определяется разрядностью шины адреса, называется физическим, тобишь физическое адресное пространство.


ВАЖНО!

Установленный объем оперативной памяти (ОЗУ) может быть меньше чем размер физического адресного пространства. См. рис.

Название:  Безымянный.PNG
Просмотров: 1403

Размер:  16.6 Кбайт

Рассмотренное нами физическое адресное пространство как видно используется для обращения к памяти, поэтому в контексте дальнейшего разговора, слово физическое опускаем и я буду говорить адресное пространство памяти.

Помимо адресного пространства памяти существуют еще 2. До одного из них нам еще очень далеко, а вот второе называется адресное пространство ввода\вывода.

Адресное пространство ввода\вывода, в дальнейшем в\в, используется для доступа и управления периферийным оборудованием, - клавиатура, флопик, видеокарта и т.д. Про адресное пространство в\в чуть дальше.

Управляющая шина.

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

Сейчас рассмотрим такую важную функцию(проводник) управляющей шины как переключатель адресных пространств.

Ниже распиновка процессора 386SX, прародитель 32-х разрядных процессоров семейства х86, можно было взять любой но на него я наткнулся первым.

Название:  Безымянный1.PNG
Просмотров: 962

Размер:  51.0 Кбайт

красным выделена одна из линий управляющей шины. Как видно у каждой есть свое наименование. Линия, которую рассматриваем мы, переключатель адресных пространств, называется M\IO, тоесть Memory\InputOutput. Когда процессор хочет указать к какому из двух адресных пространств он хочет обратиться, то есть обращается сейчас либо к памяти либо к оборудованию, он «переключает» эту линию. Под словом «переключает» подразумевается установка уровня сигнала, если уровень сигнала низкий, логический ноль, то обращение происходит к адресному пространству памяти, если же уровень сигнала высокий, логическая единица, то обращение происходит к адресному пространству в\в.


Ниже скрин таблицы из спецификации на процессор, где показаны проводники по группам.

Название:  Безымянный2.PNG
Просмотров: 937

Размер:  56.9 Кбайт

где Address– контакты адресной шины,
Data – шина данных, Control – управляющая шина, Vcc, Vss– контакты связанные с питанием узлов процессора.

Возвращаемся к адресному пространству ввода\вывода.

Как и размер адресного пространства памяти зависит от шины адреса, пространство в\в зависит также от разрядности шины. Для доступа к пространству в\в, так же как и для адресного пространства памяти, используется адресная шина, только не все 32 линии, а только 16, таким образом пространство в\в составляет 65536 байт или 64Кб.

Эксперимент )

Открываем управление компьютером, переходим на вкладку диспетчер устройств, в меню выбираем ресурсы по типу и видим вот такое

Название:  Безымянный3.PNG
Просмотров: 830

Размер:  4.8 Кбайт

В этих списках показаны карты двух адресных пространств, - памяти и ввода\вывода. О том что это за куча цифр в следующем посте.
__________________
memorybook.org.ua

Последний раз редактировалось intel64, 30.10.2011 в 08:43.
intel64 вне форума  
Ответить с цитированием
Эти 4 пользователей сказали Спасибо intel64 за хороший пост:
Andreyev (09.10.2011), Joey[CJ] (27.10.2011), SooM (10.10.2011), электрик (16.12.2011)
Старый 09.10.2011, 18:36   #3 (Ссылка на пост)
Свой В Доску
 
Аватар для intel64
Пол:
 
Активность Longevity
0/20 13/20
Today Сообщения
0/5 ssssss809
Благодарил(а): 3,972
Благодарили 618 раз в 279 постах
Галерея: 0
Вес репутации: 19 intel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имя
Как уже было сказано, адресное пространство памяти используется для доступа к ОЗУ, а адресное пространство в\в для доступа к оборудованию.

Что означает доступ к оборудованию?

Доступ к памяти осуществляется записью\чтением ячеек памяти, доступ к оборудованию осуществляется точно также записью\чтением ячеек памяти, которые физически находятся на самом устройстве, например на видеокарте, или в контроллере клавиатуры. То есть и озу имеет ячейки памяти, доступные через адресное пространство памяти и устройства имеют ячейки памяти(регистры), которые доступны через адресное пространство в\в. Для того чтобы различать эти ячейки, ячейки оборудования называют портами, а еще точнее портами ввода\вывода. Адресное пространство в\в также как и памяти побайтово адресуемо, тоесть нельзя прочитать\записать бит, только байт. Порты могут быть длиной 8 или 16 бит, тобишь 1 или 2 байта.

На рисунке ниже в продолжение прошлого, показана часть карты пространства ввода\вывода.

Название:  Безымянный1.PNG
Просмотров: 815

Размер:  9.6 Кбайт

Красным показана, для примера, клавиатура. Порты, через которые она управляется, находятся по адресам 60h и 64h, каждый порт длиной один байт. Цифры показаны в шестнадцатеричной форме, то есть возьмем калькулятор, и переведем в десятичный вид, порт 60h – это 96-й байт от начала адресного пространства в\в. Второй порт можете перевести самостоятельно.

В подтверждение о том, что адресное пространство в\в 16-ти разрядное, то есть 65536 байт, на следующем рисунке показано, что максимальный занятый адрес порта - FFAFh, IDE контроллера, не превышает диапазон 64кб.

Название:  Безымянный.PNG
Просмотров: 850

Размер:  6.3 Кбайт

На другом компьютере цифры вполне могут немного разниться, но большинство адресов портов стандартизированы и закреплены за конкретным типом устройства.
__________________
memorybook.org.ua

Последний раз редактировалось intel64, 10.10.2011 в 10:41.
intel64 вне форума  
Ответить с цитированием
Эти 4 пользователей сказали Спасибо intel64 за хороший пост:
Andreyev (09.10.2011), Joey[CJ] (27.10.2011), SooM (10.10.2011), электрик (16.12.2011)
Старый 12.10.2011, 11:03   #4 (Ссылка на пост)
Свой В Доску
 
Аватар для intel64
Пол:
 
Активность Longevity
0/20 13/20
Today Сообщения
0/5 ssssss809
Благодарил(а): 3,972
Благодарили 618 раз в 279 постах
Галерея: 0
Вес репутации: 19 intel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имя
несколько поправок к прошлым постам.

Цитата:
Сообщение от intel64 Посмотреть сообщение
Каждый из бит может быть в одном из двух состояний либо логический 0 это когда заряд конденсатора около 0 вольт, либо в состоянии логической единицы, когда заряд конденсатора около 5 вольт
на самом деле, разные типы микросхем памяти имеют различные напряжения для низкого и высокого уровней сигналов, отражающие логический 0 и 1 соответственно. Для конктретного типа памяти нужно читать спецификацию.

Цитата:
Сообщение от intel64 Посмотреть сообщение
Ниже распиновка процессора 386SX, прародитель 32-х разрядных процессоров семейства х86, можно было взять любой но на него я наткнулся первым.
здесь я немного неудачно выбрал процессор. Дело в том что, 386SX это урезанная модель процессора 386DX. 386SX вместо 32-рязрядной шины адреса, как у DX, имел 24-разрядную, что во-первых удешевляло конструкцию, посему процессор предназначался для использования в настольных ПК, а во-вторых, благодаря шине такой разрядности, имел физическое адресное пространство памяти размером 16 мегабайт, для совместимости с их предшественником, процессором 80286. Но смысла этой темы это не меняет, а наоборот, еще раз убеждаемся что от разрядности адресной шины зависит длина физического адресного пространства.
Например,
16-ти разрадная шина -64Кб
20-ти разрядная шина - 1Мб
24-х разрядная - 16мб
32-х разрядная - 4Гб
36-ти разрядная, используется в 32-х разрядных процессорах, с реализацией механизма PAE - 64Гб.
52-х разрядная в архитектурах AMD64\intel64 - сколько это терабайт или экзабайт считайте сами ).

В общем смысл в том, что ни о какой адресуемой ОЗУ(RAM) речи не идет. Речь о наборе адресов, которые процессор может выставить на свою шину адреса.
__________________
memorybook.org.ua

Последний раз редактировалось intel64, 12.10.2011 в 14:33.
intel64 вне форума  
Ответить с цитированием
Эти 2 пользователей сказали Спасибо intel64 за хороший пост:
SooM (22.12.2011), электрик (16.12.2011)
Старый 18.10.2011, 15:02   #5 (Ссылка на пост)
Свой В Доску
 
Аватар для intel64
Пол:
 
Активность Longevity
0/20 13/20
Today Сообщения
0/5 ssssss809
Благодарил(а): 3,972
Благодарили 618 раз в 279 постах
Галерея: 0
Вес репутации: 19 intel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имя
Итак, выяснили, для того чтобы управлять периферийным оборудованием, а также записывать данные в него и читать из него, процессор использует адресное пространство в\в. Такой метод обращения к оборудованию, называется прямой ввод\вывод(Direct I\O). Смотрите рисунок ниже.

Название:  Безымянный.PNG
Просмотров: 856

Размер:  16.2 Кбайт

Существует и второй метод обращения к оборудованию, который называется проецируемый в память ввод\вывод (memory-mapped I\O). Как видно из названия, ячейки оборудования(порты), через которые оно управляется, доступны теперь НЕ через адресное пространство в\в, а через адресное пространство памяти, через которое, напомню, процессор осуществляет доступ к ОЗУ. См. рисунок.

Название:  Безымянный1.PNG
Просмотров: 917

Размер:  16.7 Кбайт

Ответ на вопрос - почему некоторое оборудование стали проецировать на адресное пространство памяти, пока опустим, так как причин несколько, и некоторые понять на данном этапе будет сложно.

На рисунке ниже показана часть карты физического адресного пространства. На этой карте показаны только диапазоны адресов, занятые периферийным оборудованием, ОЗУ на нем отсутствует. Его там нет, собственно потому, что оно не является периферийным оборудованием.

Название:  Безымянный3.PNG
Просмотров: 725

Размер:  7.5 Кбайт

В подтверждение того, что физическое адресное пространство на 32-х разрядной системе без PAE – 32-х разрядное, на рисунке ниже показано, что максимальный занятый адрес FEFE1FFF, принадлежащий «ресурсы системной платы», не превышает 4Гб.

Название:  Безымянный2.PNG
Просмотров: 685

Размер:  4.4 Кбайт

В некоторых компьютерных системах адресного пространства ввода\вывода не существует вообще, например в известных контроллерах MIPS. Там используется только проецируемый в память в\в, то есть все оборудование и рам разделяют одно физическое адресное пространство.
__________________
memorybook.org.ua

Последний раз редактировалось intel64, 19.10.2011 в 15:50.
intel64 вне форума  
Ответить с цитированием
Эти 3 пользователей сказали Спасибо intel64 за хороший пост:
Joey[CJ] (27.10.2011), SooM (18.10.2011), электрик (16.12.2011)
Старый 21.10.2011, 08:55   #6 (Ссылка на пост)
Свой В Доску
 
Аватар для intel64
Пол:
 
Активность Longevity
0/20 13/20
Today Сообщения
0/5 ssssss809
Благодарил(а): 3,972
Благодарили 618 раз в 279 постах
Галерея: 0
Вес репутации: 19 intel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имя
Для того чтобы процессор мог записать и прочитать ячейку, будь-то оборудования или ОЗУ, этой ячейке должен быть присвоен адрес. Такой механизм называется проекцией. Никто не мешает присвоить ячейке оборудования один адрес, после чего присвоить ей другой, конечно с определенными оговорками. Такие действия называются распределение и перераспределение ресурсов. Как это осуществляется пока рассматривать рано. Сейчас нужно запомнить что, ОЗУ проецируется на адресное пространство памяти, а порты могут проецироваться как на адресное пространство памяти так и на адресное пространство в\в.

Основной информацией в проецировании ОЗУ является то, что проекция на адресное пространство памяти осуществляется всегда с нулевого адреса. Например, если у нас есть одна планку ОЗУ с 1 Гб памяти, то и в 4-х гигабайтовом адресном пространстве, «достучаться» до нее процессор сможет только выставляя на шину адреса, числа в диапазоне от 0 до 1073741824. Таким образом, если оперативным запоминающим устройством занято 1Гб адресов, то это значит что есть свободных еще 3Гб адресов, на которые можно спроецировать еще ОЗУ )) или оборудование.

На рисунке ниже показано как на адресное пространство памяти спроецирована ОЗУ 1 гигабайт и видеопамять. Если предположить что на борту карты 256Мб видеопамяти, то соответственно 268435456 адресов будут заняты для доступа к ней.

Название:  Безымянный.PNG
Просмотров: 819

Размер:  21.2 Кбайт

Если процессор выставит на шину адреса число 3221225472, то он осуществит доступ к нулевой ячейке видеопамяти, будь-то чтение или запись.
__________________
memorybook.org.ua

Последний раз редактировалось intel64, 21.10.2011 в 09:02.
intel64 вне форума  
Ответить с цитированием
Эти 3 пользователей сказали Спасибо intel64 за хороший пост:
Joey[CJ] (27.10.2011), SooM (22.12.2011), электрик (16.12.2011)
Старый 26.11.2011, 11:42   #7 (Ссылка на пост)
Свой В Доску
 
Аватар для intel64
Пол:
 
Активность Longevity
0/20 13/20
Today Сообщения
0/5 ssssss809
Благодарил(а): 3,972
Благодарили 618 раз в 279 постах
Галерея: 0
Вес репутации: 19 intel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имя
Продолжу свой монолог ).

Выяснили, что ОЗУ и оборудование разделяют одно адресное пространство, которое называется физическим и зависит от разрядности шины адреса. Ранее в постах я изображал систему с 1 и 2 ГБ ОЗУ. Что же происходит, когда в систему устанавливают 4ГБ рам?

С приходом 32-х разрядных систем на базе процессора 80386, был достаточно некисло переработан и чипсет. Отныне новое оборудование, разработанное по новой спецификации PCI, проецировалось в диапазон между 3-м и 4-м гигабайтом, так как стало ясно, что в ближайшие годы, объемы рам будут сильно расти. Исключением было некоторое устаревшее оборудование для обратной совместимости, - например видеоадаптеры на шине ISA были доступны только между 15-16 мегабайтом и этот мегабайт назывался Memory Hole. Кто давно компьютерами занимается, может помнит в BIOS такую опцию. Если было установлено например 64Мб ОЗУ и какой-нить видеоадаптер на шине ISA и включена опция Memory Hole, то доступно было только 63Мб ОЗУ так как её 1 мегабайт был перекрыт(«невидим»). Почему оборудование всегда размещают в верхних диапазонах, в общем-то, должно быть понятно.

Когда-то я уже постил рисунок, который ниже. На нем изображено слева, физическое адресное пространство, то которое адресует процессор, а справа адресное пространство драмконтроллера. Например, когда процессор выставит адрес в диапазоне PCI Memory Address Range (красн. квадр.2), то этот адрес в итоге будет преобразован чипсетом в адрес на шине PCI, и обращение будет к оборудованию, если же процессор выставит адрес из диапазона Main Memory Address Range, то адрес будет преобразован чипсетом в соответствующий адрес для драмконтроллера, и обращение будет к ОЗУ, если оно там есть. Запутал наверно совсем, да? ))

Название:  Capture.PNG
Просмотров: 785

Размер:  84.8 Кбайт

На рисунке в квадрате 3 показана та часть адресного пространства драмконтроллера, которая будет перекрыта периферийным оборудованием в случаи, если не будет задействована технология Memory Remap. Появилась эта технология начиная с чипсетов в табличке ниже.

Название:  Безымянный.JPG
Просмотров: 815

Размер:  25.1 Кбайт

С включенным Memory Remap, BIOS перепрограммирует чипсет так, что рам в квадратике 3, будет доступна по адресам в квадратике 1, за пределами 4Гб диапазона.

Для этого поста достаточно. Это общая информация, к подробностям вернемся позже, после того как расскажу как все это «видит» ОС и ПО.

Последний раз редактировалось intel64, 26.11.2011 в 11:57.
intel64 вне форума  
Ответить с цитированием
Эти 3 пользователей сказали Спасибо intel64 за хороший пост:
PhoeniXX (26.11.2011), SooM (22.12.2011), электрик (16.12.2011)
Старый 15.12.2011, 17:32   #8 (Ссылка на пост)
Уже сменил себе статус
 
Аватар для PhoeniXX
Пол:
 
Активность Longevity
0/20 19/20
Today Сообщения
0/5 sssss2389
Благодарил(а): 3,844
Благодарили 1,942 раз в 919 постах
Галерея: 0
Вес репутации: 40 PhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущее
Цитата:
Сообщение от Павел Посмотреть сообщение
может я не туда влез
Да, ты не туда влез. Этот топик совершенно не имеет отношения к твоему вопросу. Можно было сделать новый.
PhoeniXX вне форума  
Ответить с цитированием
Старый 15.12.2011, 18:09   #9 (Ссылка на пост)
Щас сменю себе статус
 
Аватар для Павел
Пол:
 
Активность Longevity
0/20 14/20
Today Сообщения
0/5 sssss1370
Благодарил(а): 468
Благодарили 376 раз в 196 постах
Галерея: 0
Вес репутации: 18 Павел ну просто молодецПавел ну просто молодецПавел ну просто молодец
да не очень хотелось разводить стопицот тем чтобы обсудить один вопрос
__________________
Ryzen2600/1070
Павел вне форума  
Ответить с цитированием
Старый 17.12.2011, 12:25   #10 (Ссылка на пост)
Свой В Доску
 
Аватар для intel64
Пол:
 
Активность Longevity
0/20 13/20
Today Сообщения
0/5 ssssss809
Благодарил(а): 3,972
Благодарили 618 раз в 279 постах
Галерея: 0
Вес репутации: 19 intel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имя
В нескольких постах попробую в общем рассказать, что же представляет из себя программное обеспечение на самом деле, так сказать изнутри.

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

Согласно технических мануалов, команда любого процессора называется инструкцией, а вся его куча инструкций называется набор инструкций (Instruction Set). Инструкции делятся на группы, например арифметические, логические, передача данных, передача управления и т.д.

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

Название:  Безымянный.PNG
Просмотров: 13830

Размер:  6.7 Кбайт Название:  Безымянный.bmp
Просмотров: 976

Размер:  167.1 Кбайт

Каждая из клеточек - байт. У каждой клеточки есть свой адрес от 0 и до некоторого максимума. Любой процессор начинает свое выполнение по заранее определенному адресу, и как правило на это адрес спроецирована микросхема ПЗУ, в которой находится код BIOS. Инструкции могут быть переменной длины, от одного до нескольких байт. В самой инструкции закодирован ее размер, поэтому процессор знает где находится следующая. Например на рисунке выше первая команда, находящаяся по адресу 0, - 8BFFh имеет размер 2 байта, следующая за ней 55h один байт, следующая 8BECh 2 байта и т.д.

на рисунке ниже, содержимое памяти, представленное в ее так сказать "оригинальном", двоичном виде. Каждое значение отражает состояние битов в байтах, 0 - низкий уровень сигнала, 1 - высокий соответственно. Значения сгрупированы по 8 бит, тобишь байтами.

Название:  Capture.PNG
Просмотров: 1281

Размер:  7.3 Кбайт

Пока все. Далее продолжение о командах.

Последний раз редактировалось intel64, 23.12.2011 в 18:09. Причина: добавил рисунок
intel64 вне форума  
Ответить с цитированием
Эти 2 пользователей сказали Спасибо intel64 за хороший пост:
SooM (22.12.2011), wizard (22.12.2011)
Старый 22.12.2011, 12:22   #11 (Ссылка на пост)
Свой В Доску
 
Аватар для intel64
Пол:
 
Активность Longevity
0/20 13/20
Today Сообщения
0/5 ssssss809
Благодарил(а): 3,972
Благодарили 618 раз в 279 постах
Галерея: 0
Вес репутации: 19 intel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имя
Когда-то давно, последовательным вводом нулей и единиц программировался центральный процессор. Спустя какое-то время стало ясно, что для того, чтобы ввести даже небольшую программу нужно потратить уйму времени, так как в этих нулях и единицах черт ногу сломит, ибо кол-во инструкций становилось больше и больше. Поэтому был придуман мнемонический аналог машинного языка, и назывался он ассемблер. По-русски ассемблер это сборщик, тобишь так называлась программа, которая транслировала более понятные для человека осмысленные буквенные команды в машинный двоичный код.

На рисунке ниже часть 32-х разрядной программы на языке х86 ассемблера.

Название:  Безымянный.bmp
Просмотров: 850

Размер:  564.0 Кбайт

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

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

На рисунке ниже часть программы на языке Си.

Название:  Безымянный1.bmp
Просмотров: 676

Размер:  336.8 Кбайт

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

пока все.

Последний раз редактировалось intel64, 25.12.2011 в 13:00.
intel64 вне форума  
Ответить с цитированием
Сказали Спасибо пользователю intel64 за этот пост:
SooM (22.12.2011)
Старый 23.12.2011, 10:17   #12 (Ссылка на пост)
Свой В Доску
 
Аватар для intel64
Пол:
 
Активность Longevity
0/20 13/20
Today Сообщения
0/5 ssssss809
Благодарил(а): 3,972
Благодарили 618 раз в 279 постах
Галерея: 0
Вес репутации: 19 intel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имяintel64 известное всем имя
Поскольку озу более медленное устройство в сравнении с процессором, а команды и данные обрабатываются в процессоре, то в его состав входит так называемая регистровая память или просто регистры, основанные на транзисторах. Назначений у регистров в принципе два: часть из них играют роль высокоскоростного буфера между вычислительными блоками процессора и оперативным запоминающим устройством, а часть служит для управления поведением процессора и получения некоторой его служебной информации.

У каждого регистра есть свое символьное представление в ассемблере, тобишь наименование. Например eax, ebx, ecx, edi, esi и т.д. На первом рисунке прошлого поста можете увидеть как происходит манипулирование регистрами. Упомянутые регистры относятся к группе регистров общего назначения, которые и есть буфером для хранения промежуточных результатов вычислений. Важно также знать, что разрядность регистров общего назначения определяет разрядность процессора, то есть когда мы говорим «у меня 32-х разрядный процессор», то это означает что РОНы у него 32-х битные(4 байта). У 64-битного процессора РОНы 64 бита(8 байт). У 16 битного сколько? правильно, - 16 бит. Также стоит упомянуть, что регистры общего назначения являются целочисленными, иными словами хранят только целые числа и на 32-х разрядном процессоре их всего 8 штук.

дали буде
intel64 вне форума  
Ответить с цитированием
Сказали Спасибо пользователю intel64 за этот пост:
kabani (23.12.2011)
Ответ


Здесь присутствуют: 1 (пользователей - 0 , гостей - 1)
 

Ваши права в разделе
Вы не можете создавать темы
Вы можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Куплю процессор и память solton Куплю ... 10 10.03.2010 10:42
Память, процессор Alta_ccD Архив продаж 11 26.01.2010 15:50
Куплю процессор и память! Delovoy Куплю ... 3 09.11.2009 12:57
процессор , и память Nicko Архив продаж 2 23.08.2009 07:07
Связка Память-Процессор Marchello Железяки 18 10.06.2008 15:21


Время на сервере: 11:55.

Регистрация Справка Пользователи Календарь Сообщения за день

vBulletin 3, Copyright © 2000-2024, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co