Страница 210 из 628

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс авг 07, 2011 14:56:26
Бен ладен
TRIOD писал(а):Доброе время суток.

Народ подскажите к Меге8515\8535 можно подключить внешние ПЗУ для постояного хранения данных.
Мне нужно большое ПЗУ для хранения символов для графического дисплея.
Я знаю что у 8515 есть интерфейс для подключения SDRAM, но мне нужно пстоляное хранение данных.

Естли способ подцепить ПЗУ к 8515 используя аппаратный интерфейс?
Сомниваюсь но может быть поможет;
http://avrdevices.ru/podkluchaem_pamyat_24lc16_k_avr/

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс авг 07, 2011 15:52:20
МитяРа
TRIOD писал(а):у 8515 есть интерфейс для подключения SDRAM, но мне нужно пстоляное хранение данных.
Вот и подключай своё ПЗУ, как ОЗУ, но используй только режим чтения..

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс авг 07, 2011 17:45:18
FreshMan
вопрос по PIC16F628.........., обьясните пожалуйста максимально внятно новичку следующий момент: зачем в данном МК организовано 4 банка памяти, зачем в этих банках имеются повторяющиеся регистры (специальные и рабочие) ??? почему б не сделать по-простому чтобы все адресное пространство было одним целым без всяких банков, где в самом его начале бы были регистры специального назначение а за ними "поле сражений" .....??? :dont_know: :dont_know: :dont_know:

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс авг 07, 2011 17:52:46
Gudd-Head
FreshMan писал(а):зачем в данном МК организовано 4 банка памяти
Не хватило памяти для инструкций чтобы адресовать 32 (5 бит) регистра, вот их и разбили на 4 части (банка) чтобы адресоватьтолько 8 (3 бита) регистров, а сам банк выбирать двумя битами статусного регистра (по кр. мере, у 8051 так).

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс авг 07, 2011 17:57:00
FreshMan
под инструкциями нужно понимать команды МК ?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс авг 07, 2011 19:24:10
DX168B
Да, те самые команды, которые МК исполняет.

А я сам когда-то задался таким же вопросом. Мол, почему память по банкам поделена.
Потом сам догадался, что это из за банальной нехватки адресного пространства. :)

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс авг 07, 2011 20:46:00
КРАМ
DX168B писал(а):...Потом сам догадался, что это из за банальной нехватки адресного пространства.
Какого адресного пространства? :)
Вы о чем?
Адресное пространство ОЗУ ограничено не банками, а ПОЛНОЙ адресуемой разрядностью. Т.е. 16 разрядами регистров косвенной адресации. Ну и ФИЗИЧЕСКИ реализованной на чипе памятью.
Так вот, на самом деле не хватает РАЗРЯДНОСТИ КОМАНДЫ. В 12-ти и 14-ти разрядную команду не влазит более 7 разрядов адреса операнда. Поэтому восьмой, а иногда и девятый разряд адреса операнда формируют через специальные биты регистра состояний.
Кстати. Восьмиразрядная машина вообще не может прямо адресовать более 256 регистров ОЗУ. Это касается не только ПИКов, а вообще всех 8-разрядным МК. В таких архитектурах используют страничную адресацию для прямых адресов или косвенную в полном адресном пространстве.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс авг 07, 2011 21:28:14
DX168B
Ну, примерно это я и имел в виду. Просто выразился не так. :)
В определённом регистре мы выбираем банк и пользуемся одним и тем же диапазоном адресов, который выделен под работу с банками.
Подправьте, если не прав, так как могу попутать со своими самоделками на Z80. Там я так всё и организовывал, так как адресов было маловато (16-битная адресная шина и почти всё съедали ПЗУ и ОЗУ и периферии было тоже не мало)

У Атмелов проще. В укороченном варианте, например, безусловного перехода (rjmp) в операнд пишется число, которое прибавляется\отнимается от текущего содержимого счётчика команд, (который кстати, в большинстве МК тоже 14-разрядный) а не кусок адреса или адрес целиком.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс авг 07, 2011 21:36:25
FreshMan
DX168B, что значит из-за нехватки адресного пространства ?? как то я не могу сразу сие уловить :( простите за тупость :(
я где-то подобное слышал насчет компов типа мы имеет проц 32 разрядный....., следовательно мы можем адресовать 2^32 = 4294967296 ячеек памяти

а тут как понимать :dont_know:

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс авг 07, 2011 22:45:52
Arlleex
32 разрядный не означает, что он может адресовать именно столько ячеек.
32 разрядный означает, что данная цифровая электронная схема обрабатывает числа разрядностью до 32 включительно за один машинный цикл (естественно, 32 разряда двоичного числа).

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс авг 07, 2011 23:12:06
Antifritz
Arlleex писал(а):32 разрядный означает, что данная цифровая электронная схема обрабатывает числа разрядностью до 32 включительно за один машинный цикл (естественно, 32 разряда двоичного числа).
То есть как раз и означает что 32-битная шина адреса максимально может адресовать 2^32 степени ячеек или каких-то других устройств. Все правильно.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн авг 08, 2011 00:00:15
Arlleex
кто вам сказал что это шина адреса?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн авг 08, 2011 02:19:42
SII
FreshMan писал(а):DX168B, что значит из-за нехватки адресного пространства ?? как то я не могу сразу сие уловить :( простите за тупость :(
я где-то подобное слышал насчет компов типа мы имеет проц 32 разрядный....., следовательно мы можем адресовать 2^32 = 4294967296 ячеек памяти

а тут как понимать :dont_know:
Между разрядностью процессора и доступным адресным пространством, особенно физическим, прямой связи нет. Например, у 16-разрядной PDP-11 виртуальное адресное пространство действительно составляло 64 Кбайта, а вот физическое, в зависимости от модели процессора, -- 64, 256 или 4096 Кбайт, т.е. физический адрес мог иметь большую разрядность, чем виртуальный (и чем размер регистров процессора). На IBM System/360 ситуация была противоположная: это 32-разрядная архитектура, однако адреса у неё были 24-разрядные, что позволяло адресовать лишь 16 Мбайт памяти (впрочем, в середине 1960-х это был громадный объём памяти даже для США, ну а у нас вообще говорили: "мегабайт -- это американское название килобайта"). То же самое имеем и на персоналках: в зависимости от режима работы процессора он "прикидывается" 16-, 32- или 64-разрядным, а вот физическая шина адреса у большинства моделей составляет 36 бит.

С микроконтроллерами ещё сложнее, поскольку большинство из них делается по так называемой гарвардской архитектуре, когда адресные пространства кода и данных совершенно отдельны и адресуются независимо друг от друга. В результате, например, разрядность адреса команд может составлять 13 бит, а памяти данных -- 10, ну и т.д.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн авг 08, 2011 07:34:08
КРАМ
Вот зачем путать людей?
Не имеет никакого значения гарвард это или фон-нейман. В конце концов, в настоящее время стираются четкие границы между этими архитектурами. Так в TMS320 можно запускать код из ОЗУ.
По существу.
Адресное пространство ОЗУ, строго говоря, вообще ничем не ограничено. Лищь бы была физическая реализация на кристалле.
А вот АДРЕСАЦИЯ этой памяти впрямую зависит от разрядности процессора/контроллера. При косвенной адресации никаких проблем нет, а при непосредственной (прямой), когда адрес операнда находится в команде, возникают проблемы разрядности адреса. Чем длинее команда, тем больше она может адресовать памяти без выкрутасов типа страниц, банков и т.п.
Контроллеры(процессоры), построеные на RISC командах, как правило, выполняют команду за 1 машцикл. А значит длина команды в основном ОДНО МАШИННОЕ КОМАНДНОЕ СЛОВО. Отсюда следует незамысловатый вывод, что разрядность команды и определит размер непосредственно адресуемого ОЗУ без учета страничной структуры оперативной памяти.
В фон-неймане все тоже самое, только разрядность программного кода и данных совпадают, но в этой архитектуре, как правило, команда БОЛЬШЕ ОДНОГО МАШИННОГО СЛОВА. А значит и ситуация ничем не отличается от гарварда.
Кстати о Диджитал Эквипмент (DEC).
Разрядность команды типа ОЗУ-ОЗУ, в машинах PDP-11 составляла ТРИ машинных слова. Одно слово занимал код команды и тип адресации операндов и еще два слова адреса этих операндов или сами операнды (поскольку это типичный фон-нейман).

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн авг 08, 2011 07:40:27
КРАМ
DX168B писал(а):У Атмелов проще. В укороченном варианте, например, безусловного перехода (rjmp) в операнд пишется число, которое прибавляется\отнимается от текущего содержимого счётчика команд, (который кстати, в большинстве МК тоже 14-разрядный) а не кусок адреса или адрес целиком.
Атмеловские 8-разрядные контроллеры имеют 16-разрядные команды.
Микрочиповские 8-разрядные ПИКи более разнообразны по разрядности команд. Базовое семейство - 12 разрядов, среднее - 14 разрядов, 18-ые ПИКи - 16 разрядов.
16-разрядные (по данным) PIC24, dsPIC30, dsPIC33 имеют 24-разрядные команды.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн авг 08, 2011 14:44:55
SII
КРАМ писал(а):Вот зачем путать людей?
Не имеет никакого значения гарвард это или фон-нейман
Имеет, и ещё какое: как показывает практика, далеко не всегда новички понимают, с какой памятью в каком случае приходится иметь дело, как с ней работать и т.п.
Адресное пространство ОЗУ, строго говоря, вообще ничем не ограничено. Лищь бы была физическая реализация на кристалле.
Память может быть и внешней...
А вот АДРЕСАЦИЯ этой памяти впрямую зависит от разрядности процессора/контроллера. При косвенной адресации никаких проблем нет, а при непосредственной (прямой), когда адрес операнда находится в команде, возникают проблемы разрядности адреса
Проблемы бывают и при косвенной адресации: физически памяти может быть больше, чем разрядность регистра, и тогда приходится либо спаривать регистры (как регистровые пары X, Y, Z в AVR8), либо использовать банки памяти, либо применять аппаратуру управления памятью (в микроконтроллерах такое не встречал, но для полноты упомянуть надо, тем более, что именно этим способом для 32-разрядных процессоров ПК давным-давно уже была предусмотрена 36-разрядная шина адреса).
В фон-неймане все тоже самое, только разрядность программного кода и данных совпадают, но в этой архитектуре, как правило, команда БОЛЬШЕ ОДНОГО МАШИННОГО СЛОВА. А значит и ситуация ничем не отличается от гарварда.
Похоже, Вы тут смешиваете архитектуру в плане работы с памятью и архитектуру в смысле организации системы команд. На фон-неймановских RISCах размер кода команды, естественно, совпадает с заявленной разрядностью процессора, а вот иная длина (и вовсе необязательно больше машинного слова), причём переменная, характерна для CISCов. Например, у 32- и 64-разрядных процессоров архитектуры IA-32 (тех, что в ПК стоят и часто называются x86, что не совсем верно, зато привычно) длина кода команды колеблется от 1 до 15 байтов, а у 32-разрядных старых мэйнфреймов IBM составляла 2, 4 и 6 байтов.
Кстати о Диджитал Эквипмент (DEC).
Разрядность команды типа ОЗУ-ОЗУ, в машинах PDP-11 составляла ТРИ машинных слова. Одно слово занимал код команды и тип адресации операндов и еще два слова адреса этих операндов или сами операнды (поскольку это типичный фон-нейман).
Разрядность команды типа "память-память" в означенных машинах составляла не три машинных слова, а от одного до трёх слов. Например, команда MOV @R0, @R1 имела длину одно слово, CMP (R3)+, @#177776 - два слова, причём операнды обеих этих команд расположены в памяти (говорить "в ОЗУ" неверно, поскольку у PDP-11, во-первых, не было отдельного адресного пространства ввода-вывода, а во-вторых, кроме ОЗУ, ещё и ПЗУ существует).

Ну и опять-таки, о чём говорил выше: Вы смешиваете понятия "гарвардская архитектура" и "фон-неймановская архитектура" с понятиями RISC и CISC. Они между собой вообще никак не связаны.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн авг 08, 2011 15:49:04
КРАМ
Положим я ничего не смешиваю... Это Вы несколько фантазируете и НЕВНИМАТЕЛЬНО читаете оппонента.
1. ПДП-11. Я говорил о командах ОЗУ-ОЗУ, а не регистр-регистр. И указал на это совершенно определенно. Такая команда имеет ТРИ слова. В непосредственной кодировке пересылка выглядит как

Код: Выделить всё

13737
<адрес операнда источника>
<адрес операнда приемника>
Или

Код: Выделить всё

12727
<источник>
<приемник>
Сравним Ваше регистр-регистр Наличие ПЗУ ничего не меняет. общее адресное пространство с системой ввода-вывода тоже. Адресация портов через пространство ОЗУ - типовое решение. Под термином ОЗУ в таком случае подразумевают полде адресов, а не конкретный сегмент памяти.
2. НЕ ВСЕГДА в RISC машинах команда занимает одно машинное слово. Далеко не всегда. Это вообще не признак RISC.
3. Регистры косвенной адресации в гарвардских МК всегда спаренные. А при доступе к программной памяти, как памяти данных - вообще строенные.
4. Наличие внешней памяти ничем не отличается в смысле архитектуры от резидентной. Замечание совершенно ни к чему.
5. Остальные упражнения оппонента в эрудиции опущу, поскольку смысла в них нет, кроме желания их озвучить. Именно такой подход и ПУТАЕТ начинающих.
Вместо выделения смысловой компоненты вопроса - куча пустой инфы...
Пусть и верной.
Не стоит, уважаемый...
;)

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн авг 08, 2011 18:01:42
FreshMan
КРАМ писал(а):Чем длинее команда, тем больше она может адресовать памяти без выкрутасов типа страниц, банков и т.п.
возникает закономерный вопрос: а почему в PIC16F628A 14 разрядные команды ? что нам их мешает сделать 32 разрядными ???

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн авг 08, 2011 18:45:36
Chettuser
Позвольте вклиниться...
Еще один вопрос по microC - в нём таймеры симулируются вообще то? TMR0 в Watch как был "0" при инициализации, так им и остался при пошаговом прогоне.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн авг 08, 2011 18:48:08
ximik
а у таких же контроллеров но в смд расположение ног такое же?
http://radiomaster.com.ua/image.php?i=h ... 8278_2.jpg