0 / 0 / 0
Регистрация: 17.03.2015
Сообщений: 48
|
|
1 | |
Адресация памяти21.02.2018, 11:16. Показов 5722. Ответов 18
Добрый день, друзья.
Начав изучать такую замечательную вещь, как программирование, в частности язык C++, столкнулся с необходимостью более глубокого понимания процессов взаимодействия памяти и программы. В поисках драгоценной информации в интернетах наткнулся на картинку которая разрушила мои представления об адресации памяти. Предоставляю ее вам во вложении. По ней выходит, что адресуемая ячейка памяти содержит в себе 8 бит. Хотя я всегда представлял себе, что объем физической ячейки памяти 1 бит. Нашел еще ресурс, на нем обрисовывается адресуемая ячейка памяти в 1 бит. Картинка так же во вложении. Так как именно устроена адресация памяти и какой объем у ячейки памяти? Пожалуйста, разъясните доступно этот момент, буду очень вам благодарен. Внесите ясность в темноту технологического непонимания) Извините, я только начал во всем этом разбираться и не исключаю, что для знающего человека, я мог спросить на самом деле сверхнелепую глупость, можете меня об этом поругать, мне полезно будет) Но не забудьте при этом все же объяснить этот момент ![]() Ссылочки на сами ресурсы: https://metanit.com/cpp/tutorial/4.1.php - статья про указатели C++, но там есть момент по данному сабжу. http://iguania.ru/article/ram
0
|
|
21.02.2018, 11:16 | |
Ответы с готовыми решениями:
18
Сегментная адресация памяти Массивы, адресация, дин. исп памяти
Косвенная адресация |
184 / 192 / 48
Регистрация: 25.08.2011
Сообщений: 792
|
|
21.02.2018, 11:20 | 2 |
адресуемая яйчейка 1 байт. В структурах можно размещать битовые поля хотя адрес от них не возмешь
1
|
0 / 0 / 0
Регистрация: 17.03.2015
Сообщений: 48
|
|
21.02.2018, 11:25 [ТС] | 3 |
Т.е. человек, написавший вторую статью, сам не до конца разобрался в происходящем и явно вводит в заблуждение, заинтересованых в этой информации, людей?
0
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|
21.02.2018, 11:31 | 4 |
![]() Решение
Объём физической, то бишь аппаратной ячейки памяти действительно 1 бит. Физические ячейки разбиваются на группы по восемь ячеек в каждой. Такая группа называется байтом. Единицей адресации компьютера является байт. То есть, когда я запрашиваю данные с адреса 0x1234567DEAD, я запрашиваю все восемь ячеек байта.
Добавлено через 3 минуты Вторая статья хорошая. Но вот термин адресуемый там немного неуместен.
1
|
0 / 0 / 0
Регистрация: 17.03.2015
Сообщений: 48
|
|
21.02.2018, 11:38 [ТС] | 5 |
Mirmik, спасибо за развернутый и понятный ответ. Я примерно догадывался о таком положении дел. Т.е. одна адресуемая ячейка памяти по сути логическая?
0
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|
21.02.2018, 11:45 | 6 |
Не понял вопроса. Что есть логическая?
0
|
0 / 0 / 0
Регистрация: 17.03.2015
Сообщений: 48
|
|
21.02.2018, 11:48 [ТС] | 7 |
И еще вопрос. Любая оперативная память любого современного компьютера делится таким способом? Всмысле однобайтовыми логическими ячейками. Или есть еще какие нюансы здесь?
Добавлено через 3 минуты Mirmik, всмысле, есть физические ячейки, как вы сказали по одному биту. Они группируются по восемь ячеек и образуют адресуемые однобайтовые ячейки, я и рискнул предположить, что их в таком случае можно назвать логическими (ну или виртуальными может быть правильнее) эти однобайтовые ячейки.
0
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|
21.02.2018, 12:10 | 8 |
Немного не так. Современные процессоры сконструированы так, что практически любая операция производится над каким-то набором битов. Операции, в которых процессор работает строго с одним битом крайне редки. Это исключения.
Обычно байт это минимальная порция битов которую может обработать процессор за одну операцию (не считая специальных операций над битами). То есть, это, вообще говоря, не логическая абстракция. Байт - это минимальная порция данных, с которой работает процессор. Такое понимание байта крайне зыбко. В истории были байты, состоящие от 6 до 48 битов. Языки программирования вводят свое определение байта. Обычно это или некий тип, который может принимать не мение 256-и разных значений, либо тип, который может кодировать аскишный символ. Короче не берите в голову... Дать определение байту очень сложно, потому что байт в отличии от бита не академичен. Насчет того ли, любая современная... Ой вряд ли. На ум ничего не приходит, но никакие законы природы не мешают нарушить этот порядок вещей. Потому что, еще раз... Байты удобны. Но не более... Ничего фундаментального в них нет. Это инженерная абстракция, которую каждый трактует на свой лад. Добавлено через 6 минут Вероятно, ближе всего к истине будет такое определение. Байт - минимальный объём информации, под работу с которым оптимизирована та или иная информационная система.
1
|
0 / 0 / 0
Регистрация: 17.03.2015
Сообщений: 48
|
|
21.02.2018, 12:17 [ТС] | 9 |
Mirmik, спасибо, понял. Главное разобрался. Буду дальше постигать техногенный океан)
0
|
Kastaneda
|
21.02.2018, 12:38
#10
|
0
|
3823 / 2396 / 414
Регистрация: 09.09.2017
Сообщений: 10,405
|
|
21.02.2018, 12:42 | 11 |
Странно что никто не сказал о том, что объем информации, который процессор обрабатывает за одну операцию называется машинным словом. А размер этого слова и задает разрядность машины, 8-битные, 16-битные, 32-битные, 64-битные. А байт это лишь абстракция вокруг машинного слова. Наиболее распространен 8-битный байт, даже на 64-разрядных машинах. Но это особенности, в которые по началу можно не лезть - компилятор сам разберется как ему удобнее.
Пока же можно представлять память как линейную последовательность байтов. Вы можете обращаться к любому из них (если не запрещено операционкой, конечно), но не можете непосредственно к битам. Чтобы обратиться к конкретному биту, придется считать весь байт, поменять в нем бит и записать обратно.
1
|
0 / 0 / 0
Регистрация: 17.03.2015
Сообщений: 48
|
|
21.02.2018, 15:08 [ТС] | 12 |
Kastaneda, ну началось) только картина мира в голове более менее устоялась)
Добавлено через 1 минуту COKPOWEHEU, интересная и полезная информация про машинное слово, но каким образом она решает вопрос темы, мой друг?
0
|
Kastaneda
|
21.02.2018, 15:10
#13
|
0
|
3823 / 2396 / 414
Регистрация: 09.09.2017
Сообщений: 10,405
|
|
21.02.2018, 15:56 | 14 |
ZzzCorp, скорее уточнение предыдущих ответов.
Если это можно _только_ в CBuilder'е то считаем нестандартным расширением и игнорируем. Нестандартных расширений много, и зачем терять совместимость со всеми остальными компиляторами ради них P.S. Недавно прочитал про особенность SSD памяти, там говорят что один транзистор хранит 3 бита информации, такая вот интересная ячейка. Но на нашем, программерском уровне, считаем что ячейка это 1 байт (обычно 8 бит) и расположены они друг за другом, линейно.
0
|
Croessmah
|
21.02.2018, 16:02
#15
|
0
|
COKPOWEHEU
|
21.02.2018, 16:17
#16
|
Не по теме: Croessmah, Ну так не "ТС ради Билдера" же!
0
|
0 / 0 / 0
Регистрация: 17.03.2015
Сообщений: 48
|
|
21.02.2018, 18:37 [ТС] | 17 |
Похоже там ячейка все же не транзистор (вообще правильнее триггер), а регистр. Ибо как транзистор может три состояния сразу держать? Он же либо закрыт, либо открыт. Только одно состояние, только один бит
0
|
3823 / 2396 / 414
Регистрация: 09.09.2017
Сообщений: 10,405
|
|
21.02.2018, 19:41 | 18 |
ZzzCorp, транзистор может работать не только в ключевом режиме. Ну и особенность вообще любой флеш-памяти в хитром устройстве транзистора: между каналом и затвором расположен либо еще один, плавающий, затвор, либо сам подзатворный диэлектрик может захватывать электроны. В результате после занесения туда заряда он не рассасывается десятилетиями. А от заряда зависит проводимость транзистора, аналоговая величина, вообще-то. Так что количество записанных битов зависит от времени релаксации (для flash это десятки лет, для DRAM - доли секунды), помехоустойчивости и точности распознавания.
В "обычной" флеш-памяти ячейкой служит именно одиночный транзистор, как и в динамической ОЗУ (DRAM). А вот в статической ОЗУ (SRAM) действительно триггер. Вообще-то, форум не лучшее место объяснять подобное.
0
|
Неэпический
|
|
21.02.2018, 20:42 | 19 |
0
|
21.02.2018, 20:42 | |
21.02.2018, 20:42 | |
Помогаю со студенческими работами здесь
19
Ip адресация подсетей Адресация методом Айлиффа
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |