Автор | Сообщение |
JulyP
|
AALEGYR писал: | Андрёй писал: | Может еще добавлено ПЗУ или часть ОЗУ быть выполнено как ПЗУ. |
Андрёй, И как ты себе представляешь аппаратную реализацию такого утверждния?
Я имею в виду - часть ОЗУ быть выполнено как ПЗУ
|
А это потому, что мы привыкли к фон Неймановской модели, где адресное пространство программного кода и адресное пространство данных одно и то же.
Это адресное пространство можно выполнить в виде ОЗУ.
Для того, чтобы исполнить программу, нужно проинициализировать его кодом программы (с какого-то отдельного носителя), выделить кусок памяти под данные, и передать этому коду управление.
Именно такая операция происходит и при банальной загрузке в персоналку исполняемого файла.
Если круг исполняемых задач ограничен, имеет смысл область, в которой располагается код программы, выполнить не на микросхемах ОЗУ, а на микросхемах ПЗУ (или подключить к ОЗУ батарейку, если оно со сверхнизким энергопотреблением).
Тогда не нужно ничего инициализировать, а только передать управление сохраненному в ПЗУ, неизменяемому в процессе работы коду.
В микроконтроллерах зачастую используется не совсем фон Неймановская модель, а модель, которая ближе к машине, управляемая потоком данных.
Т.е., есть память кода, есть оперативная память и есть память данных.
Код - прошит внутри микропроцессора и находится в его внутреннем ПЗУ, оперативная память тоже внутри него, а память данных и есть внешняя флэшка.
Процессор исполняет программу, которая меняет значения целевой функции в зависимости от того, какие данные поступают на ее информационные входы.
В частности, по такой схеме работают некоторые автомобильные контроллеры - инжектора и зажигания.
AALEGYR писал: |
А вообще мне объяснения различий между микропроцессором и микроконтроллером напомнило разговор двух первоклашек...
|
Название появилось тогда, когда накопились существенные различия и появилась необходимость в отдельном термине.
Насколько я не помню, первым микропроцессором был интеловский 4004, которому в прошлом году стукнуло 30 лет.
Контроллер - управляющая ЭВМ.
Микроконтроллер - контроллер на микропроцессоре.
Юлий |
|
AALEGYR
Завсегдатай
Сообщения: 862
|
Андрёй писал: | Есть контроллеры у которых в адресном пространстве ОЗУ располагается и ПЗУ. |
Глубоко!!! Если в адресном пространстве ОЗУ располагается и ПЗУ, то как процессор понимает, что данные пришли из ОЗУ, а не из ПЗУ? Он что, при ожидании данных из памяти отслеживает время за которое эти данные поступили?!
JulyP писал: | мы привыкли к фон Неймановской модели, где адресное пространство программного кода и адресное пространство данных одно и то же.
Это адресное пространство можно выполнить в виде ОЗУ. |
JulyP, а я все время думал, что адресное пространство процессора и ОЗУ ( ПЗУ) это разные вещи! Поэтому всегда исходил из того, что выделял в адресном пространстве процессора области для адресов ОЗУ и ПЗУ, и никогда не смешивал адреса ОЗУ и ПЗУ!!! Я думал, что адресное пространство это комунальная квартира, в которой есть отдельные комнаты для данных ОЗУ и ПЗУ, поэтому чтобы процессор получил данные из ОЗУ, он должен позвонить один раз, а чтобы из ПЗУ два. А сегодня мне объяснили, что адресное пространство процессора это казарма, где ОЗУ и ПЗУ живут в одном помещении, и чтобы процессор получил данные из ОЗУ, ему надо просто криктнуть ТРЕВОГА, и поднять всех на уши, а уж потом разбираться кому воевать, а кому отбиваться!
JulyP, адресное пространство еще никто не смог выполнить в виде ОЗУ. А вот выделить адресное пространство ДЛЯ ОЗУ и ПЗУ умудряются миллионы!!! |
|
JulyP
|
AALEGYR писал: | Андрёй писал: | Есть контроллеры у которых в адресном пространстве ОЗУ располагается и ПЗУ. |
Глубоко!!! Если в адресном пространстве ОЗУ располагается и ПЗУ, то как процессор понимает, что данные пришли из ОЗУ, а не из ПЗУ?
|
А его это колышет?
=)
Какая разница процессору, откуда к нему пришли данные?
Вот если он попытается чего-нибудь записать в ПЗУ, то у него ничего не получится.
Но это не его вина, это программисту нужно внушение делать, чтобы он статик величины и константы на ходу не менял.
Пока модуль в оперативной памяти, это даже работать будет.
А вот при переносе кода в ПЗУ - увы и ах.
AALEGYR писал: |
Он что, при ожидании данных из памяти отслеживает время за которое эти данные поступили?!
|
Тайм-ауты в шину сам контроллер памяти вставит, процессору о временах доступа заботиться не приходится.
AALEGYR писал: |
JulyP писал: | мы привыкли к фон Неймановской модели, где адресное пространство программного кода и адресное пространство данных одно и то же.
Это адресное пространство можно выполнить в виде ОЗУ. |
JulyP, а я все время думал, что адресное пространство процессора и ОЗУ ( ПЗУ) это разные вещи!
|
Не придирайся к словам.
AALEGYR писал: |
Поэтому всегда исходил из того, что выделял в адресном пространстве процессора области для адресов ОЗУ и ПЗУ, и никогда не смешивал адреса ОЗУ и ПЗУ!!!
|
Да ничего ты не выделял.
Что там, что там - формат адреса один и тот же, и адресуется одной и той же командой.
То, что какая-то часть адресного пространства почему-то недоступна для записи, приходится либо держать в голове программисту, либо операционной системе.
В микроконтроллерах же зачастую ОЗУ данных и ПЗУ программного кода _не лежат в одном адресном пространстве_.
Т.е., ты не можешь сгенерить в ОЗУ программный код и передать ему управление (а этого порой так не хватает... =)).
А в фон Неймановской машине - запросто.
AALEGYR писал: |
Я думал, что адресное пространство это комунальная квартира, в которой есть отдельные комнаты для данных ОЗУ и ПЗУ, поэтому чтобы процессор получил данные из ОЗУ, он должен позвонить один раз, а чтобы из ПЗУ два.
|
Ошибка.
Что ОЗУ, что ПЗУ - адресуются одной и той же командой.
Если мы, конечно, все еще про процессор с единым адресным пространством ПЗУ и ОЗУ.
Ты можешь вообще убрать ПЗУ и оставить одно только ОЗУ, повесив на него батарейку.
И куда ты теперь будешь звонить, чтобы попасть в ПЗУ?
=)
AALEGYR писал: |
А сегодня мне объяснили, что адресное пространство процессора это казарма, где ОЗУ и ПЗУ живут в одном помещении, и чтобы процессор получил данные из ОЗУ, ему надо просто криктнуть ТРЕВОГА, и поднять всех на уши, а уж потом разбираться кому воевать, а кому отбиваться!
|
Ему нужно выставить адрес.
А уж куда он при этом попадет - в область ОЗУ или область ПЗУ - это предопределено программистом (в любом случае) и операционной системой (в более сложных случаях).
Указатели на сегмент кода, сегмент данных и сегмент стека совсем не случайно были придуманы.
У процессора есть только один способ узнать, что находится в интересующем его куске адресного пространства, ПЗУ или ОЗУ.
Это попробовать туда записать и считать результат.
Если не получилось записать - скорее всего, это ПЗУ.
=)
AALEGYR писал: |
JulyP, адресное пространство еще никто не смог выполнить в виде ОЗУ. А вот выделить адресное пространство ДЛЯ ОЗУ и ПЗУ умудряются миллионы!!! |
Это программистский взгляд.
А с точки зрения железячника, к адресной шине подключаются сегменты ОЗУ и ПЗУ.
И, в зависимости от, адресное пространство представлено либо только ОЗУ (как в современных компьютерах, (если, конечно, в них не воткнули какую-нибудь древнюю плату со своим расширением БИОСа на древней 27С08), либо ПЗУ (такое тоже бывает - иногда для работы достаточно регистров процессора), либо и то, и то.
Каковую простую мысль я и попытался сформулировать.
Видимо, недостаточно простую, раз возникли вопросы.
Юлий |
|
kulek
Передовик
Сообщения: 1250
|
Ребята начинается выяснение у кого длиннее и толще
Не разводите демагогию, ее и так в жизни предостаточно.
По существу вопроса вроде уже все выяснено |
|
AALEGYR
Завсегдатай
Сообщения: 862
|
kulek писал: | Не разводите демагогию, ее и так в жизни предостаточно. |
kulek, если у тебя жизнь тяжелая, то не отвлекайся на дебыты во флеме, отдохни! Завтра снова на работу!
JulyP писал: | А его это колышет?
=)
Какая разница процессору, откуда к нему пришли данные? |
Конечно колышит! Процессор хотел чайку попить с cахарным песочком, а ему железячка принесла сольцы! Да еще заяляет - Чего морщишся, и то и другое белое и кристаллическое, да и в воде растворяется без осадка. А если есть претензии, то это не к жезезу, а к программе!
JulyP писал: | Вот если он попытается чего-нибудь записать в ПЗУ, то у него ничего не получится. |
Тут тоже ляп!!! Сам писал про ПЗУ JulyP писал: | электрически перепрограммируемые (можно перепрограммировать, не вынимая из аппаратуры, EEPROM). |
А это значит, что в ПЗУ можно как записать, так и сосчитать данные не вынимая из аппаратуры и не прерывая выполнения работы аппаратуры. Другое дело, что в ПЗУ данные сохраняются даже после снятия питания, а вот в ОЗУ нет, поэтому ОЗУ и называется ОПЕРАТИВНЫМ ЗАПОМИНАЮЩИМ УСТРОЙСТВОМ, и хранит данные используемые только при работе аппаратуры. И очень неприятно, когда процессор вместо ПЗУ запишит данные в ОЗУ. А чтобы этого не происходило не надо пенять на программиста, нужно просто уметь отличать мухи от котлет, и разрабатывать систему так, чтобы мухи (ПЗУ) и котлеты (ОЗУ) были разделены АППАРАТНО, и использовались по назначению!
JulyP писал: | Да ничего ты не выделял.
Что там, что там - формат адреса один и тот же, и адресуется одной и той же командой. |
Ну тут ты погорячился! Из своих почти 30 лет рабочего стажа, я только последние 10 лет занимаюсь ремонтом аппаратуры, а до этого мне приходилось ее разрабатывать, в основном на аппаратном (по твоему железячном ) уровне, и частично на програмном в объъеме необходимом для проверки работоспособности разрабатываемой аппаратуры.
Поэтому про твой тезис о формате адреса и команд адресации, могу сказать только то, что формат адреса для ОЗУ и ПЗУ действительно один и тот же, и адресуются они одинаковыми командами! Разница только в том, что значения самих адресов в этих командах и в адресном пространстве различные и НИКОГДА не пересекаются между собой.
JulyP писал: | В микроконтроллерах же зачастую ОЗУ данных и ПЗУ программного кода _не лежат в одном адресном пространстве_.
Т.е., ты не можешь сгенерить в ОЗУ программный код и передать ему управление (а этого порой так не хватает... =)). |
Как раз наоборот! Современные микроконтроллеры, очень часто для повышения производительности, скачивают в начале работы программный код из ПЗУ в ОЗУ, и работают через ОЗУ! Даже твой домашний ПК сначало вытаскивает программу с харда или CDROMа в ОЗУ, и только после этого процессор запускает программу!
JulyP, я вижу, что ты знаком с основами вычислительной техники. Но этого маловато, чтобы давать умные объяснения. А то Caша может на всю жизнь запомнить, что у микроконтроллеров JulyP писал: | зачастую ОЗУ данных и ПЗУ программного кода _не лежат в одном адресном пространстве_. |
а вот процессор наоборот, работает в едином адресном пространстве для ПЗУ и ОЗУ JulyP писал: | Что ОЗУ, что ПЗУ - адресуются одной и той же командой.
Если мы, конечно, все еще про процессор с единым адресным пространством ПЗУ и ОЗУ. |
|
|
JulyP
|
AALEGYR писал: | kulek писал: | Не разводите демагогию, ее и так в жизни предостаточно. |
kulek, если у тебя жизнь тяжелая, то не отвлекайся на дебыты во флеме, отдохни! Завтра снова на работу!
|
Точно!
AALEGYR писал: |
JulyP писал: | А его это колышет?
=)
Какая разница процессору, откуда к нему пришли данные? |
Конечно колышит! Процессор хотел чайку попить с cахарным песочком, а ему железячка принесла сольцы! Да еще заяляет - Чего морщишся, и то и другое белое и кристаллическое, да и в воде растворяется без осадка. А если есть претензии, то это не к жезезу, а к программе!
|
Именно.
Процессор - вещь подневольная.
Чего ему программеры понапрограммили, то он и делает.
AALEGYR писал: |
JulyP писал: | Вот если он попытается чего-нибудь записать в ПЗУ, то у него ничего не получится. |
Тут тоже ляп!!! Сам писал про ПЗУ JulyP писал: | электрически перепрограммируемые (можно перепрограммировать, не вынимая из аппаратуры, EEPROM). |
А это значит, что в ПЗУ можно как записать, так и сосчитать данные не вынимая из аппаратуры и не прерывая выполнения работы аппаратуры.
|
Воот, уже теплее.
Т.е., от понятий ОЗУ и ПЗУ плавно переходим к понятию энергонезависимой памяти.
А как она выполнена - уже дело десятое.
Хоть обычное статическое ОЗУ с батарейкой, хоть флешка на MNOP карманах, хоть ультрафиолетовая лампочка на сигнал записи заведена (утрирую).
А для записи в ПЗУ, как правило, недостаточно просто произвести запись в нужный адрес.
Необходимо перевести микросхему в режим программирования и т.д. и т.п.
Конечно, с помощью контроллера памяти можно сделать эти действия абсолютно прозрачными для процессора, но это не всегда нужно.
Ибо количество циклов перезаписи ограничено, и частые перезаписи лучше не делать.
Т.е., в постоянку нужно писать только то, что должно быть сохранено при выключении питания.
Но это ведь головная боль программиста, грамотно разместить данные и код, не правда ли?
AALEGYR писал: |
Другое дело, что в ПЗУ данные сохраняются даже после снятия питания, а вот в ОЗУ нет, поэтому ОЗУ и называется ОПЕРАТИВНЫМ ЗАПОМИНАЮЩИМ УСТРОЙСТВОМ, и хранит данные используемые только при работе аппаратуры.
|
Не-а.
Оперативное оно не потому, что данные после выключения терются, а потому, что не предназначено для хранения значений целевых функций. Для них существуют долговременные запоминающие устройства, порты и прочие устройства для получения твердой копии.
AALEGYR писал: |
И очень неприятно, когда процессор вместо ПЗУ запишит данные в ОЗУ. А чтобы этого не происходило не надо пенять на программиста, нужно просто уметь отличать мухи от котлет, и разрабатывать систему так, чтобы мухи (ПЗУ) и котлеты (ОЗУ) были разделены АППАРАТНО, и использовались по назначению!
|
И как ты себе представляешь аппаратное разделение ОЗУ и ПЗУ, применительно к пресловутой фон Неймановской машине?
Адресный дешифратор к таким устройствам не относится.
Ибо его работа абсолютно иррелевантна к тому, какими микросхемами он управляет - ОЗУшными или ПЗУшными.
AALEGYR писал: |
JulyP писал: | Да ничего ты не выделял.
Что там, что там - формат адреса один и тот же, и адресуется одной и той же командой. |
Ну тут ты погорячился! Из своих почти 30 лет рабочего стажа, я только последние 10 лет занимаюсь ремонтом аппаратуры, а до этого мне приходилось ее разрабатывать, в основном на аппаратном (по твоему железячном ) уровне, и частично на програмном в объъеме необходимом для проверки работоспособности разрабатываемой аппаратуры.
Поэтому про твой тезис о формате адреса и команд адресации, могу сказать только то, что формат адреса для ОЗУ и ПЗУ действительно один и тот же, и адресуются они одинаковыми командами! Разница только в том, что значения самих адресов в этих командах и в адресном пространстве различные
|
Не более различные, чем внутри самого массива ОЗУ или ПЗУ.
(Гы!
Это, кстати, к самому понятию RAM.
Память с произвольной выборкой, где ты можешь адресовать любую ячейку.
В отличие от памяти со стековой организацией.
Как у IC2, к примеру.)
AALEGYR писал: |
и НИКОГДА не пересекаются между собой.
|
Н-да?
А как же Shadow RAM?
=)
AALEGYR писал: |
JulyP писал: | В микроконтроллерах же зачастую ОЗУ данных и ПЗУ программного кода _не лежат в одном адресном пространстве_.
Т.е., ты не можешь сгенерить в ОЗУ программный код и передать ему управление (а этого порой так не хватает... =)). |
Как раз наоборот! Современные микроконтроллеры, очень часто для повышения производительности, скачивают в начале работы программный код из ПЗУ в ОЗУ, и работают через ОЗУ! Даже твой домашний ПК сначало вытаскивает программу с харда или CDROMа в ОЗУ, и только после этого процессор запускает программу!
|
Блин!
Что ты ломишься в открытые двери?
Я ж тебе говорю, что в фон Неймановской машине это нормально и возможно!
Но это _не единственная возможная архитектура_!
И многие микроконтроллеры организованы совсем иначе!
AALEGYR писал: |
JulyP, я вижу, что ты знаком с основами вычислительной техники. Но этого маловато, чтобы давать умные объяснения. А то Caша может на всю жизнь запомнить, что у микроконтроллеров JulyP писал: | зачастую ОЗУ данных и ПЗУ программного кода _не лежат в одном адресном пространстве_. |
|
Вот видишь, эта простая мысль даже не воспринимается тобой.
Уперся в фон Неймановские ограничения - и финиш...
Ты путаешь понятия ОЗУ, ПЗУ, "память программ" и "память данных".
AALEGYR писал: |
а вот процессор наоборот, работает в едином адресном пространстве для ПЗУ и ОЗУ JulyP писал: | Что ОЗУ, что ПЗУ - адресуются одной и той же командой.
Если мы, конечно, все еще про процессор с единым адресным пространством ПЗУ и ОЗУ. |
|
Юлий |
|
AALEGYR
Завсегдатай
Сообщения: 862
|
JulyP писал: | Это, кстати, к самому понятию RAM.
Память с произвольной выборкой, где ты можешь адресовать любую ячейку.
В отличие от памяти со стековой организацией.
Как у IC2, к примеру.) |
Неудачный пример!!! Микросхемы EEPROM работающие по интерфейсу IC2, для операции считывания имеют несколько способов доступа к своим ячейкам памяти, а именно
1 Current Address Read
2 Random Read
3 Sequential Read
Первый способ обеспечивает считывание из ячейки памяти с адресом N + 1, где N - это адрес ячейки памяти, к которой было последнее обращение
Второй способ обеспечивает считывание из ЛЮБОЙ произивольно заданной ячейки памяти
Третий способ обеспечивает считывание из группы ячеек памяти имеющих последовательные адреса.
Ты наверное перепутал ПЗУ управляемое интерфейсом I2C с ОЗУ имеющее архитектуру FIFO ( First Input - First Output)! У ОЗУ имеющее архитектуру FIFO, действительно нет возможности обратиться к любой ячейки памяти. В ней всегда будет считывать раньше та ячейка, которая была раньше записана. Что кстати отличается и от стековой памяти, в которой считывается первой та ячейка, которая была записана последней!
А про Неймановскую машину и иррелевантность Адресного дешифратора ты хорошо сказал!
Я оценил!!! |
|
JulyP
|
AALEGYR писал: | JulyP писал: | Это, кстати, к самому понятию RAM.
Память с произвольной выборкой, где ты можешь адресовать любую ячейку.
В отличие от памяти со стековой организацией.
Как у IC2, к примеру.) |
Неудачный пример!!!
|
Ну, не могу же я всегда быть абсолютно правым.
Нужно когда-нибудь и ошибаться.
Но не хочешь ли ты сказать, что I2C - это память с произвольной выборкой?
По-моему, такое высказывание будет гораздо большим преувеличением, чем мое.
AALEGYR писал: |
Микросхемы EEPROM работающие по интерфейсу IC2, для операции считывания имеют несколько способов доступа к своим ячейкам памяти, а именно
1 Current Address Read
2 Random Read
3 Sequential Read
Первый способ обеспечивает считывание из ячейки памяти с адресом N + 1, где N - это адрес ячейки памяти, к которой было последнее обращение
Второй способ обеспечивает считывание из ЛЮБОЙ произивольно заданной ячейки памяти
Третий способ обеспечивает считывание из группы ячеек памяти имеющих последовательные адреса.
|
Спасибо за информацию, я в нее (I2C) так глубоко не лазал.
Но в основном ты прав, тут скорее мультиплексирование шины (адрес/управление/данные), чем последовательный ввод-вывод.
С другой стороны, согласись, гораздо проще и быстрее прочитать блок памяти, чем то же количество информации, но вразбежку, с произвольными адресами. Т.е., налицо стекообразная заточенность организации памяти. То, что есть возможность задавать адрес, с которого начать чтение - это скорее бонус.
Да, кстати, прикинь, как в такой памяти можно записать исполняемый код и как он будет исполняться.
=)))
AALEGYR писал: |
Ты наверное перепутал ПЗУ управляемое интерфейсом I2C с ОЗУ имеющее архитектуру FIFO ( First Input - First Output)! У ОЗУ имеющее архитектуру FIFO, действительно нет возможности обратиться к любой ячейки памяти. В ней всегда будет считывать раньше та ячейка, которая была раньше записана. Что кстати отличается и от стековой памяти, в которой считывается первой та ячейка, которая была записана последней!
|
Что FIFO, что FILO - оба стековых принципа.
Главное, что нельзя добраться до нужной ячейки, не разгрузив те, которые ей предшествуют.
В современной технике мне чего-то подобных решений не вспоминается (чтобы данные были доступны только в стековом режиме).
Разве что, считывание строки в ПЗС матрице...
Но там как-бы и не совсем цифра, и не совсем память...
AALEGYR писал: |
А про Неймановскую машину и иррелевантность Адресного дешифратора ты хорошо сказал!
Я оценил!!! |
Дык, флеймить - так флеймить.
Юлий |
|
AALEGYR
Завсегдатай
Сообщения: 862
|
JulyP писал: | Но не хочешь ли ты сказать, что I2C - это память с произвольной выборкой? |
Я хочу сказать, что I2C это интерфейс, то есть способ обмена информацией между электронными устройствами, а вот память, которая управляется таким интерфейсом может иметь различные режимы считывания и записи данных, в том числе и произвольный! Причем значения адреса памяти, адреса самой микросхемы, и значения данных памяти микросхемы, передаются последовательно по одной и той же линии, которая имеет название SDA! Все это сильно снижает скорость обработки данных, но зато существенно упрощает аппаратную реализацию системы.
JulyP писал: | По-моему, такое высказывание будет гораздо большим преувеличением, чем мое. |
Это "преувеличение" написано в справочных данных на микросхему например на Serial E2PROM X24022
Serial E2PROM X24022 писал: | Random Read
Random read operations allow the master to access any memory location in a random manner. Prior to issuing the slave address with the R/W bit set to one, the master must first perform a “dummy” write operation.
|
А применение микросхем с архитектурой FIFO ты можешь найти в телевизорах имеющих функцию PIP! Там она часто используется для хранения второй картинки! |
|
Caша
Завсегдатай
Сообщения: 690
|
Ребята,разрешите чуть влезть между вами
Всем спасибо за разъяснения.
Продолжайте. |
|
Андрёй
|
Давайте лучше расскажу как я из кремлевской таблетки сделал жене на новый год значек-мигалку 10х10мм. При чем два светодиода и две батарейки отчасов в этом же объеме. Правда после кто-то из студентов на кафедре спер его из моего стола. Паял я этот значек под микроскопом. Это было в 1987г. Тогда о китайских мигалках еще не знали. Вообще-то круто было, когда она, студенка-дипломница института радиоэлектроники, пришла на танцы - все глаза повыпучивали. Все грамотные были и понимали, что собрать генератор в таком объеме не возможно (по тем временам) и не в домек, что это работает таблетка (они тогда очень секретные были). |
|
Frank
|
JulyP писал: | ...Микроконтроллер - законченное устройство, обычно управляющее.
Микропроцессор - всего лишь микросхема (или набор микросхем).
Юлий |
Так всё-таки, что же управляет аппаратом ?. Законченное устройство (обычно управляющее), или мифический микропроцессор ?. |
|
Андрёй
|
Управляет микроконтроллер, в состав которого среди прочего входит микропроцессор. Микропроцессор присутствует в составе микроконтроллера всегда и обязательно. Примерно как двигатель (микропроцессор) всегда входит в состав автомобиля (микроконтроллер). |
|
AALEGYR
Завсегдатай
Сообщения: 862
|
Таким образом мы установили, что может быть корова (микропроцессор) без молока , но не бывает молока (микроконтроллера) без коровы!
|
|
JulyP
|
AALEGYR писал: | JulyP писал: | Но не хочешь ли ты сказать, что I2C - это память с произвольной выборкой? |
Я хочу сказать, что I2C это интерфейс, то есть способ обмена информацией между электронными устройствами, а вот память, которая управляется таким интерфейсом может иметь различные режимы считывания и записи данных, в том числе и произвольный!
|
Я уже признал, что пример был не слишком удачный.
AALEGYR писал: |
Причем значения адреса памяти, адреса самой микросхемы, и значения данных памяти микросхемы, передаются последовательно по одной и той же линии, которая имеет название SDA! Все это сильно снижает скорость обработки данных, но зато существенно упрощает аппаратную реализацию системы.
|
Именно.
AALEGYR писал: |
JulyP писал: | По-моему, такое высказывание будет гораздо большим преувеличением, чем мое. |
Это "преувеличение" написано в справочных данных на микросхему например на Serial E2PROM X24022
Serial E2PROM X24022 писал: | Random Read
Random read operations allow the master to access any memory location in a random manner. Prior to issuing the slave address with the R/W bit set to one, the master must first perform a “dummy” write operation.
|
|
Можно позанудствовать на тему, что Random Read это не совсем Random Access.
Но я не буду.
=)
AALEGYR писал: |
А применение микросхем с архитектурой FIFO ты можешь найти в телевизорах имеющих функцию PIP! Там она часто используется для хранения второй картинки! |
Дык, там наверняка та же ПЗС используется, в качестве цифро-аналоговой запоминалки. Только без фоточувствительных элементов.
Юлий |
|
AALEGYR
Завсегдатай
Сообщения: 862
|
JulyP, JulyP писал: | Можно позанудствовать на тему, что Random Read это не совсем Random Access.
Но я не буду. |
Правильное решение!!!
А то тебя опять понесло про цифро-аналоговые запоминалки.
Иногда лучше жевать, чем говорить! |
|
JulyP
|
Frank писал: | JulyP писал: | ...Микроконтроллер - законченное устройство, обычно управляющее.
Микропроцессор - всего лишь микросхема (или набор микросхем).
Юлий |
Так всё-таки, что же управляет аппаратом ?. Законченное устройство (обычно управляющее), или мифический микропроцессор ?. |
Управляет, разумеется, контроллер.
А уж какой он - микро или не микро, с микропроцессором или на рассыпухе сделан - то дело десятое.
Юлий |
|
Андрёй
|
На рассыпухе сделан может и микропроцессор. Я еще раз повторю - отличие не в технологии изготовления. Микропроцессор можно и на лампах сделать. Микропроцессор выполняет микрокоманды (при чем ограниченное их количество), а вот процессор выполняет команды непосредственно. Т.е. задаешь корень из числа и он вычисляет этот корень, т.к. в его АЛУ эта команда прописана (собрана). Потому и нет сейчас процессоров живых, т.к. слишком громоздкая архитектура и не универсальная. А если надо косинус вычислить, а его в алу не предусмотрели? Все приехали. А в микропроцессоре таких понятий вообще нет. А еще есть упрощение РИСК процессоры. Там еще проще. А программное обеспечение можно подогнать под вычисление любой функции. Это как раз и послужило резким толчком в развитии микропроцессорной техники. Ну и так совпало, что начался одновременно и технологический бум в микроэлектронику. Потому многие студенты не могут различить разницу, т.к. путают понятия микрокоманд и микроэлектронику в смысле получения микросхем. Я хотел сказать, что основная масса людей думает, что микропроцессор потому микро- что сделан на микросхеме, что конечно в корне не правильно. Вот так я и проверяю студента на защите диплома - он изучал или читал. |
|
JulyP
|
AALEGYR писал: | JulyP, JulyP писал: | Можно позанудствовать на тему, что Random Read это не совсем Random Access.
Но я не буду. |
Правильное решение!!!
А то тебя опять понесло про цифро-аналоговые запоминалки.
Иногда лучше жевать, чем говорить! |
Достоверных сведений, как внутри устроен регистр в этих микросхемах, у меня нет.
Поделись, если знаешь.
Несколько линеек ПЗС, по количеству разрядов данных - вполне достаточное и компактное решение.
Юлий
Добавлено 18-02-2005 17:28
Андрёй писал: | На рассыпухе сделан может и микропроцессор. Я еще раз повторю - отличие не в технологии изготовления. Микропроцессор можно и на лампах сделать. Микропроцессор выполняет микрокоманды (при чем ограниченное их количество), а вот процессор выполняет команды непосредственно. Т.е. задаешь корень из числа и он вычисляет этот корень, т.к. в его АЛУ эта команда прописана (собрана).
|
Схоластика.
Алгоритм вычисления корня, в таком случае, прописан в микрокоде продвинутого АЛУ. В какой момент какими триггерами дергать, грубо говоря.
В том же калькуляторе, например.
В некоторых мини-ЭВМ, к примеру, вывод блока данных на любое внешнее устройство делался одной двухбайтовой командой ассемблера...
Процессор там был на 155-ой серии, а матрица микрокода команд была выполнена на четырех микросхемах постоянной памяти - 4К 48-разрядных слов... если мне не изменяет мой склероз...
Да, там же была зашита вся арифметика с плавающей запятой, вплоть до аркфункций.
По поводу набора команд - что RISC, что тот же 586 со встроенной арифметикой - оба микропроцессоры.
Андрёй писал: |
Потому и нет сейчас процессоров живых, т.к. слишком громоздкая архитектура и не универсальная. А если надо косинус вычислить, а его в алу не предусмотрели? Все приехали.
|
Ну почему же.
Тот же RISC вообще умеет только прибавить да сдвинуть (грубо говоря).
Этого вполне достаточно, чтобы осуществить любую математическую операцию.
Андрёй писал: |
А в микропроцессоре таких понятий вообще нет. А еще есть упрощение РИСК процессоры. Там еще проще. А программное обеспечение можно подогнать под вычисление любой функции. Это как раз и послужило резким толчком в развитии микропроцессорной техники. Ну и так совпало, что начался одновременно и технологический бум в микроэлектронику. Потому многие студенты не могут различить разницу, т.к. путают понятия микрокоманд и микроэлектронику в смысле получения микросхем. Я хотел сказать, что основная масса людей думает, что микропроцессор потому микро- что сделан на микросхеме, что конечно в корне не правильно. Вот так я и проверяю студента на защите диплома - он изучал или читал. |
Ну, нынче гораздо больше людей знают, что такое микропроцессор, чем что такое процессор.
=)
Юлий |
|
vlade
|
Андрёй писал: | Ну и так совпало, что начался одновременно и технологический бум в микроэлектронику |
Это не совпадение, а причинаАндрёй писал: | резким толчком в развитии микропроцессорной техники. |
На днях мой товарищ, разрабатывающий РЭА сказал буквально следующее: мне всё равно что у неё внутри, главное чтобы у меня был результат. |
|
|