Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Шахтер, Вы писали:
AVK>>>Да ты не стесняйся, приводи конкретные примеры современных микроконтроллеров, у которых байт не равен 8 битам.
Ш>>Вы хочете байтов? Их есть у меня. ;)
AVK>Внимательно изучил. Где там написано что байт не равен 8 битам?
Процессоры семейства Motorola 563xx оперируют с 24 битовыми (или 16 битовыми в 16 битовом режиме) словами. 8 битовые данные они ни адресовать, ни обрабатывать непосредственно не могут.
Я надеюсь, ты по-английски читать умеешь.
— although the char type is 8 bit, each char occupies one memory word, because the DSP56xxx has no instructions to access one byte efficiently.
Шахтер,
> AVK> Внимательно изучил. Где там написано что байт не равен 8 битам?
> Процессоры семейства Motorola 563xx оперируют с 24 битовыми (или 16 битовыми в 16 битовом режиме) словами. 8 битовые данные они ни адресовать, ни обрабатывать непосредственно не могут.
> Я надеюсь, ты по-английски читать умеешь.
> — although the char type is 8 bit, each char occupies one memory word, because the DSP56xxx has no instructions to access one byte efficiently.
Напомню, что, как верно заметил Шахтер в другом сообщении, это стандарту не соответствует. В соответствующем стандарту компиляторе был бы как раз 24/16-битовый char, т.е. соответствующий платформенному байту.
Posted via RSDN NNTP Server 1.9 delta
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
VladD2,
> V> Причина в том, что эти системы начинались разрабатываться тогда, когда еще не было стандартов С++ и даже этого компилятора на многих аппаратных платформах.
> А это нет. Темболее что NT и Линукс разрабатывались в начале 90-ых. С++ тогда уже был.
Но стандарта не было.
> V> Windows уже давно пишут на С++.
> Никгда системные части Виндов не писались на С++. Погляди примеры к DDK и т.е.
Часть из них "внутри", под сишными интерфейсами, написана именно на C++. Хотя, конечно, зависит от того, что ты называешь "системными" частями. Тем не менее, части собственно Windows, как верно заметил vdimas, пишут на C++.
Posted via RSDN NNTP Server 1.9 delta
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Здравствуйте, Шахтер, Вы писали:
Ш>Процессоры семейства Motorola 563xx оперируют с 24 битовыми (или 16 битовыми в 16 битовом режиме) словами.
А Pentium 32битными в 32-хбитном режиме.
Ш> 8 битовые данные они ни адресовать, ни обрабатывать непосредственно не могут.
Видимо для DSP это не нужно.
Ш>Я надеюсь, ты по-английски читать умеешь.
Ш>- although the char type is 8 bit, each char occupies one memory word, because the DSP56xxx has no instructions to access one byte efficiently.
Умею. А ты по русски? Я тебе вроде бы конкретный вопрос задал — какие современные процессоры имеют байт не равный 8 битам.
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>Напомню, что, как верно заметил Шахтер в другом сообщении, это стандарту не соответствует. В соответствующем стандарту компиляторе был бы как раз 24/16-битовый char, т.е. соответствующий платформенному байту.
Паша, ты правда не понимаешь отличия между байтом и словом?
AndrewVK,
> ПК> Напомню, что, как верно заметил Шахтер в другом сообщении, это стандарту не соответствует. В соответствующем стандарту компиляторе был бы как раз 24/16-битовый char, т.е. соответствующий платформенному байту.
> Паша, ты правда не понимаешь отличия между байтом и словом?
Я-то вполне понимаю. Но подозреваю, что у нас с тобой терминология немного отличается. Я приведу определение "моего" байта, а ты, если хочешь, можешь привести определение "твоего".
Байт (в терминах стандартов C и C++) — минимально адресуемая единица памяти. Кроме того, у байта (в терминах стандартов C и C++) все биты значащие. Байт (в терминах стандартов C и C++) может быть любого размера, не только 8 бит.
Чтобы не путать понятие восьмибитного типа данных с байтом, 8 бит иногда называют октетом.
Т.к. данный процессор не позволяет непосредственно адресовать октет, то байт (в терминах стандартов C и C++) на этой архитектуре октетом быть не может.
И т.к. данный процессор позволяет адресовать объекты, начиная с машинных слов, плюс, минимальный тип со всеми значащими битами — то же машинное слово, то в данной архитектуре байт (в терминах стандартов C и C++) совпадает с машинным словом.
Posted via RSDN NNTP Server 1.9 delta
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>Я-то вполне понимаю. Но подозреваю, что у нас с тобой терминология немного отличается. Я приведу определение "моего" байта, а ты, если хочешь, можешь привести определение "твоего".
ПК>Байт (в терминах стандартов C и C++) — минимально адресуемая единица памяти. Кроме того, у байта (в терминах стандартов C и C++) все биты значащие. Байт (в терминах стандартов C и C++) может быть любого размера, не только 8 бит.
Байт Материал из Википедии — свободной энциклопедии
Байт м. скл. — единица измерения информации, равная восьми (первоначально шести) битам, может принимать 28 различных значений. Название было впервые использовано в 1956 году В.Бухгольцем при проекторовании первого суперкомпьютера IBM 7030 для пучка одновременно передаваемых в устройствах ввода-вывода битов (шести штук), позже в рамках того же проекта расширили байт до восьми (23) бит.
Машинное слово Материал из Википедии — свободной энциклопедии
Машинное слово — машиннозависимая и платформозависимая величина, измеряемая в битах или байтах, равная разрядности регистров процессора (обычно некоторая степень двойки). Машинное слово определяет следующие характеристики машины:
разрядность данных, наиболее оптимально обрабатываемых процессором;
максимальное значение беззнакового целого типа, напрямую поддерживаемого процессором: если результат арифметической операции превосходит это значение, то происходит переполнение;
максимальный объём оперативной памяти, напрямую адресуемой процессором.
[править]
Размер машинного слова на различных платформах
i8086, i8088, i80286 — 16 бит = 2 байта, максимальное значение 216-1=65535
i80386, i80486, Intel Pentium — 32 бита = 4 байта, максимальное значение 232-1=4294967295.
Intel Itanium, AMD Opteron, AMD Athlon 64, DEC Alpha, Sun SparcStation — 64 бита = 8 байтов, максимальное значение 264-1=18446744073709551615.
AVK>...
AVK>Материал из Википедии — свободной энциклопедии
AVK>...
Эпиграф:
Не читайте советских газет. (с) Булгаков.
И русскую Википедию. (с) Зверёк
The word "byte" has several meanings, all closely related:
1. A contiguous sequence of a fixed number of bits. On modern computers, an eight-bit byte or octet is by far the most common. This was not always the case. Certain older models have used six-, seven-, or nine-bit bytes — for instance on the 36-bit architecture of the PDP-10. Another example of a non eight-bit sequence is the 12-bit slab of the NCR-315. A byte is always atomic on the system, meaning that it is the smallest addressable unit. An eight-bit byte can hold 256 possible values (28 = 256) -- enough to store an unsigned integer ranging from 0 to 255, a signed integer from -128 to 127, or a character of a seven-bit (such as ASCII) or eight-bit character encoding.
2. A contiguous sequence of bits that comprises a sub-field of a longer sequence known as a word. On some computers it is possible to address bytes of arbitrary length. This usage is reflected, for example, in LDB and DPB assembly instructions for field extraction on a PDP-10, which survive as bytewise operations in Common Lisp; and in the six-bit bytes of the IBM 1401.
3. A datatype or synonym for a datatype in certain programming languages. C, for example, defines byte as a storage unit capable of at least being large enough to hold any character of the execution environment (clause 3.5 of the C standard). Since the C char integral data type can hold at least 8 bits (clause 5.2.4.2.1), a byte in C is at least capable of holding 256 different values (signed or unsigned char doesn't matter). Java plays it simpler. Java's integral byte data type is always defined as consisting of 8 bits and being a signed data type, holding values from -128 to 127.
Здравствуйте, AndrewVK, Вы писали:
AVK>Умею. А ты по русски? Я тебе вроде бы конкретный вопрос задал — какие современные процессоры имеют байт не равный 8 битам.
Тебе был приведен совершенно конкретный пример проца с 24 битовым байтом.
Здравствуйте, AndrewVK, Вы писали:
ПК>>Я-то вполне понимаю. Но подозреваю, что у нас с тобой терминология немного отличается. Я приведу определение "моего" байта, а ты, если хочешь, можешь привести определение "твоего". ПК>>Байт (в терминах стандартов C и C++) — минимально адресуемая единица памяти. Кроме того, у байта (в терминах стандартов C и C++) все биты значащие. Байт (в терминах стандартов C и C++) может быть любого размера, не только 8 бит. AVK>
AVK>Байт
AVK>Материал из Википедии — свободной энциклопедии
AVK>Байт м. скл. — единица измерения информации, равная восьми (первоначально шести) битам, может принимать 28 различных значений. Название было впервые использовано в 1956 году В.Бухгольцем при проекторовании первого суперкомпьютера IBM 7030 для пучка одновременно передаваемых в устройствах ввода-вывода битов (шести штук), позже в рамках того же проекта расширили байт до восьми (23) бит.
Всё-таки, байт — это 6 или 8 бит?
AVK>
AVK>Машинное слово
AVK>Материал из Википедии — свободной энциклопедии
[skip]
Никто не будет спорить с наличием широкораспространённой трактовки "байт = 8 бит". И только. Стандарт C++ чётко определяет это понятие в терминах, которые могут быть адекватно трактованы на любой платформе — и с 4-х битовым байтом, и с 9-битовым.
... << RSDN@Home 1.1.3 stable >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>Но стандарта не было.
Юникс тоже без стандарта писался, но это не помешало стать ему и С стандартами дефакто.
>> V> Windows уже давно пишут на С++.
>> Никгда системные части Виндов не писались на С++. Погляди примеры к DDK и т.е.
ПК>Часть из них "внутри", под сишными интерфейсами, написана именно на C++.
Если только очень маленькая. К 2006-му году объем С++-кода в Виндовс, скорее всего, будет меньше чем Шарповского, так как объемы WinFX API будут рости как снеждые комы. Так что...
ПК> Хотя, конечно, зависит от того, что ты называешь "системными" частями. Тем не менее, части собственно Windows, как верно заметил vdimas, пишут на C++.
Ядро пишут именно на С. И никаких предпосылок для использования С++ в подовляющем большинстве не будет. С++ будет занимать низкоуровневую нишу гед он всегда будет конкурировать с С. А высокоуровневая уже прочно занята тем же Шарпом. И это правильно.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
>>> V> Windows уже давно пишут на С++.
>>> Никгда системные части Виндов не писались на С++. Погляди примеры к DDK и т.е.
ПК>>Часть из них "внутри", под сишными интерфейсами, написана именно на C++.
VD>Если только очень маленькая.
Я тут прошелся по одному знаменитому архивчику. Там набралось 2255 *.cpp файлов общей длинной 1763618 строк кода. Так что твоё утверждение об очень маленькой части не соответствует действительности.
Здравствуйте, Шахтер, Вы писали:
Ш>Я тут прошелся по одному знаменитому архивчику. Там набралось 2255 *.cpp файлов общей длинной 1763618 строк кода. Так что твоё утверждение об очень маленькой части не соответствует действительности.
Речь шла о дравах или ядре. Пошарься еще рез.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Шахтер, Вы писали:
Ш>>Я тут прошелся по одному знаменитому архивчику. Там набралось 2255 *.cpp файлов общей длинной 1763618 строк кода. Так что твоё утверждение об очень маленькой части не соответствует действительности.
VD>Речь шла о дравах или ядре. Пошарься еще рез.
Цитата ПК.
Часть из них "внутри", под сишными интерфейсами, написана именно на C++. Хотя, конечно, зависит от того, что ты называешь "системными" частями. Тем не менее, части собственно Windows, как верно заметил vdimas, пишут на C++.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Шахтер, Вы писали:
Ш>>Тебе был приведен совершенно конкретный пример проца с 24 битовым байтом.
AVK>С 24-хбитовым словом, а не байтом.
С байтом. Если тебе так трудно это понять -- это твои личные проблемы.
Здравствуйте, VladD2, Вы писали:
V>>Ты — идеальный потребитель с т.з. финансовой позиции Microsoft. Успехов!
просто был очарован твоим слогом.
жаль, что он:
— не доказывал ни одной из поднятых тобой тем в предыдущих топах
— не опровергал мои аргументы
— был построен не то как рекламный слоган, не то как признание в любви. По крайней мере в самом материале не утверждалось ничего такого, что требовало бы или не требовало бы аргументов собеседника.
в свете этого: VD>Ну, что же. Будем считать, что этим ты прсписался в отсуствии достойной аргументации. Поговорим лет через 10.
немного мимо...
ну и легкое чуство юмора тоже должно присутствовать.
Здравствуйте, vdimas, Вы писали:
V>в свете этого: VD>>Ну, что же. Будем считать, что этим ты прсписался в отсуствии достойной аргументации. Поговорим лет через 10. V>немного мимо...
Похоже как раз в самую точку.
V>ну и легкое чуство юмора тоже должно присутствовать.
Меньше нужно смотреть назные Аншлаги, тогда и юмор будет по приличнее.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Никгда системные части Виндов не писались на С++. Погляди примеры к DDK и т.е.
не путай интерфейс с реализацией.
Windows предоставляет функциональный API, понятный остальным языкам.
V>>WinXP многие свои новые API вообще выдает как COM-объекты. VD>Одно другому не мешает.
видать, ты не писал COM объекты на С. На это не пойдет ни один руководитель ни одного отдела, и в MS тоже.
V>>Дрова для видюх под винды, поддерживающие DirectX, тоже нереально писать без C++ (можно, но затрахаешься).
VD>Не вижу связи. DirectX работает поверх дров с С-ишным АПИ.