| 
			| 
					
						| pokk 
								Помогающий    Offline | 
								|  | «  : 08-10-2011 04:28 »  |  | 
 
 Здравствуйте не как не могу разобраться с командами  in out.  
 в общем мне надо вывести   на шину данных  или адреса процессора К1810 ВМ86   какое-то   число.
 Как такое сделать можно ?
 
 out  номер порта,акамулятор
 так вот самая не понятная часть номер порта  что это такое ?
 
 
 
 
 
 
 
 
 |  
						| 
								|  |  
								| « Последнее редактирование: 08-10-2011 05:26 от pokk » |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #1 : 08-10-2011 06:36 »  |  | 
 
 Ввод-вывод и шины - это понятия разного уровня. Шины адреса и данных в архитектуре x86 одни и те же - и для работы с памятью, и для ввода-вывода в порты, и для обработки прерываний.
 Указанный тобой процессор имеет мультиплексированную шину адреса и данных. Ширина шины - 20 бит. Для данных используются младшие 16 бит. Адреса портов в x86 16-битные - используются младшие биты. Затруднюсь сказать, что происходит на шине данных при 8-битном вводе-выводе, но ты это можешь найти в литературе.
 
 PS: знаки препинания придумали лохи?
 |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| pokk 
								Помогающий    Offline | 
								|  | « Ответ #2 : 08-10-2011 06:50 »  |  | 
 
  Так всё таки как  вывести число 3 ?что бы  AD0=1 AD1=1   AD2-AD15=0
 
 
 
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #3 : 08-10-2011 06:52 »  |  | 
 
 pokk, твой вопрос абстрактен. Почитай ка про архитектуру этого процессора. Литературы по нему - море. |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| Dimka 
								ДеятельКоманда клуба    Offline 
								Пол:    | 
								|  | « Ответ #4 : 08-10-2011 10:48 »  |  | 
 
 У процессора есть адресная шина. К этой шине подключаются устройства (в частности, ОЗУ), так, что если процессор посылает запрос по шине, соответствующее устройство опознаёт, что обращение идёт именно к нему, и как-то реагирует (например, ОЗУ или ПЗУ возвращают содержимое ячейки памяти, а какой-нибудь контроллер может возвратить значение своего регистра).
 На уровне команд x86 есть различие между пространством адресов памяти и пространством адресов портов ввода/вывода. К первому пространству адресов подключаются ОЗУ, ПЗУ, но и могут быть устройства (например, видеосистема), которые тоже отображаются в памяти. Доступ к содержимому этого адресного пространства происходит при помощи соответствующих адресных регистров и команд пересылки данных между памятью и регистрами. (Например, ассемблерная мнемокоманда MOV с двумя операндами в зависимости от типа источника и приёмника преобразуется в разные машинные коды). Ко второму пространству адресов подключаются разные периферийные устройства, и оно служит для обмена данными между устройствами и процессором. Поэтому каждый адрес этого пространства называется портом ввода/вывода. Доступ к этому пространству осуществляется при помощи команд ввода/вывода IN и OUT.
 
 Порты ввода/вывода и ячейки памяти чисто технически (для процессора) представляют собой одно и то же с точки зрения адресации. Но для программиста они идеологически различаются. Память - это хранилище данных. Если ты туда что-то записал, оно там и будет лежать, и его оттуда можно прочитать обратно. Порт - это не хранилище. Т.е. записав что-то в порт, обратно можешь прочитать совсем другое значение, зависящее от работы устройства.
 |  
						| 
								|  |  
								| « Последнее редактирование: 08-10-2011 10:50 от Dimka » |  Записан | 
 
 Программировать - значит понимать (К. Нюгард)Невывернутое лучше, чем вправленное (М. Аврелий)
 Многие готовы скорее умереть, чем подумать (Б. Рассел)
 |  |  | 
	| 
			| 
					
						| pokk 
								Помогающий    Offline | 
								|  | « Ответ #5 : 08-10-2011 11:03 »  |  | 
 
 Dimka,  не много понятнее стало спасибо. У процессора есть адресная шина. К этой шине подключаются устройства (в частности, ОЗУ), так, что если процессор посылает запрос по шине, соответствующее устройство опознаёт, что обращение идёт именно к нему, и как-то реагирует (например, ОЗУ или ПЗУ возвращают содержимое ячейки памяти, а какой-нибудь контроллер может возвратить значение своего регистра). Я вот как раз этим занимаюсь, пытаюсь понять, как же  отправить запрос (выбор кристалла)  на внешнее устройство.  |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #6 : 08-10-2011 15:21 »  |  | 
 
 pokk, для этого надо скачать datasheet на процессор (на сайте intel.com - даташит существует) и посмотреть распиновку и диаграммы циклов шины.http://datasheets.chipdb.org/Intel/x86/808x/datashts/8086/ |  
						| 
								|  |  
								| « Последнее редактирование: 08-10-2011 15:23 от RXL » |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| Dale | 
								|  | « Ответ #7 : 08-10-2011 15:54 »  |  | 
 
 в общем мне надо вывести   на шину данных  или адреса процессора К1810 ВМ86   какое-то   число.ТакоеКак такое сделать можно ?
  можно вообще никак не делать. При работе программы процессор выводит на шину адреса/данных (как уже сказал RXL , она мультиплексированная) "какие-то числа" несколько миллионов раз в секунду, и если немного подождать, любое нужное число там появится без каких-то дополнительных действий. Как выглядит задача на самом деле ? |  
						| 
								|  |  
								|  |  Записан | 
 
 Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
 Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
 
 Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
 |  |  | 
	| 
			| 
					
						| pokk 
								Помогающий    Offline | 
								|  | « Ответ #8 : 08-10-2011 16:17 »  |  | 
 
 Как выглядит задача на самом деле? Разработать пульт оператора базовой мпс, включающий клавиатуру. для ввода данных в 16ричной системе и цифровой дисплей для отображения в 16ричной системе адреса (4 цифры) и данных (2 цифры). Составить программу чтения памяти с отображением на индикаторах.  В общем считаем,что во внешней памяти пзу уже находятся данные и мне надо только вывести. для этого на матричной клавиатуре 4 на 4  набираю адрес ,а выводится они должны на Семисегментный индикатор(на чёт семи не уверен наверное на 16тисигментные надо)   для этого всего я выбрал память К537РФ2 или К537РР2 (отличаются они только методом стирания в моём случае это не принципиально =) объём 2кб на 8 ). так же  выбрал микросхему     КР580ВВ79 для опроса клавиатуры и вывода на индикаторы, ещё  хочу поставить шинный формирователь ир82 но с ним не разобрался ещё Такое можно вообще никак не делать. При работе программы процессор выводит на шину адреса/данных (как уже сказал RXL, она мультиплексированная) "какие-то числа" несколько миллионов раз в секунду, и если немного подождать, любое нужное число там появится без каких-то дополнительных действий. вообще-то хотел  пару  разрядом  из адреса забить что бы ими можно было выбирать внешние    устройства |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #9 : 08-10-2011 17:22 »  |  | 
 
 для ввода данных в 16ричной системе и цифровой дисплей для отображения в 16ричной системе адреса (4 цифры) и данных (2 цифры).
 (на чёт семи не уверен наверное на 16тисигментные надо)
 
 4 + 4 * 16 = тебе нужен 128-сегментный индикатор   А микросхемы должны быть исключительно отечественного производства? |  
						| 
								|  |  
								| « Последнее редактирование: 08-10-2011 17:28 от RXL » |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| Dale | 
								|  | « Ответ #10 : 08-10-2011 17:55 »  |  | 
 
 Разработать пульт оператора базовой мпс, включающий клавиатуру....
 так же  выбрал микросхему     КР580ВВ79 для опроса клавиатуры и вывода на индикаторы
 Честно говоря, сегодня трудно выбрать что-то более неподходящее, чем К1810ВМ86 и КР580ВВ79. Это древние микросхемы (им уже лет 30, а их фирменным прототипам наверняка и все 40), которым сегодня место лишь в политехническом музее, но никак не в разработках. Моя рекомендация: возьмите современный микроконтроллер. На них и систему делать проще (все уже собрано на одном кристалле), и программировать/отлаживать легче, и по деньгам гораздо дешевле. Да и сам проект на старой элементной базе не имеет никаких перспектив. |  
						| 
								|  |  
								|  |  Записан | 
 
 Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
 Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
 
 Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #11 : 08-10-2011 19:10 »  |  | 
 
 Ну, почему же? Помню, писали, в некоторых блоках Шатлов они еще стоят.   pokk , элементная база жестко указана в задании или можно выбирать ее по собственному усмотрению? Я бы порекомендовал AVR или клоны 8051 - они намного больше подходят для такой задачи. И схемотехника будет проще. ОЗУ и ПЗУ (точнее Flash) уже встроены и надо только взять типовые решения для подключения индикаторов и клавиатуры. Программы работы с ними тоже типовые. Останется только написать десяток строчек на Си для описания логики. Поверь, с 8086 ты намучаешься. |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| Dale | 
								|  | « Ответ #12 : 08-10-2011 20:21 »  |  | 
 
 Ну, почему же? Помню, писали, в некоторых блоках Шатлов они еще стоят.  Так это вполне естественно: последний Space Shuttle построен в 1991-м, а разработка проекта была начата в 1971-м. Много воды утекло. |  
						| 
								|  |  
								|  |  Записан | 
 
 Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
 Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
 
 Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
 |  |  | 
	| 
			| 
					
						| pokk 
								Помогающий    Offline | 
								|  | « Ответ #13 : 09-10-2011 00:42 »  |  | 
 
 К сожалению, да  К1810ВМ86  указан   т.к  типо мы его изучили =) на счёт остального  не знаю   возможно можно что-то и современно. Была идея  в качестве индикатора использовать   LCD дисплей на контроллере HD44780  ,но смысл если всё равно надо будет использовать КР580ВВ79  для клавиатуры  которым сегодня место лишь в политехническом музее, но никак не в разработках. уже встречал такое и не раз, пока  искал УГО =))))) .....На них и систему делать проще (все уже собрано на одном кристалле), и программировать/отлаживать легче, и по деньгам гораздо дешевле. Да и сам проект на старой элементной базе не имеет никаких перспектив. ну это курсовой проект   тут я полагаю отлаживать нечего не надо будет =) |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| DneprSMV | 
								|  | « Ответ #14 : 09-10-2011 01:24 »  |  | 
 
 pokk,  Если хочешь смотреть что там на шинах - надо чтобы был аппаратный "шагатель" по циклам    Помнится, он состоит из одного триггера и кнопки. В книжках по x86 есть достаточно примеров. Работа с портом отличается от работы с памятью стробирующими импульсами. (для памяти они MEMR MEMW а для портов IOR IOW. Но уже не помню.) Тебе надо "поймать" импульс записи порта + строб адерсного селектора, и их совпадением защелкнуть триггер "останова" процессора     После этого можно смотреть, что там на шинах   8086 - пожалуй последний из процессоров, более-менее удобный-простой для учебных целей    разве что еще 80188    Добавлено через 11 минут и 59 секунд:RXL ,  "Поверь, с 8086 ты намучаешься."   -  это да    один сигнал режима выборки 8/16 разрядных данных чего стоит   Проще взять ископаемую плату XT и ее помучить. Правда там x88 начали ставить - не пройдет по ТЗ.Добавлено через 23 минуты и 24 секунды:pokk ,  по командам правильно, их кажется 2 формата для "ближних" портов (0...256)  прямая адресация в команде и для всего диапазона (65535) - косвеная через DX. За порты уже выше объяснили. Принципиального отличия "портов" от "памяти" со стороны процессора нет (но используются разные упр. сигналы). Разница в самих портах. Если при записи в память числа XX мы при считывании получаем XX (задача хранения ихф-ии), то при работе с портом это уже не факт    Почему - надо объяснять отличие понятия "периферийного устр-ва" (например ВВ79) от RAM. Простейшее П.У. состоит из 2-х регистров (один на запись, другой на чтение, имеющих один адрес). Если соединить выходы R1 и входы R2 - получим ячейку RAM. А если входы-выходы не соединять, а использовать для записи-считывания какихнить внешних сигналов - простейший порт.  |  
						| 
								|  |  
								| « Последнее редактирование: 09-10-2011 01:59 от DneprSMV » |  Записан | 
 
 "Не слушайте никаких советов, в том числе и этот" (Сократ ?) |  |  | 
	| 
			| 
					
						| LightSin 
								The question title sounds to me the same as "Convert banana into a pistol"... :-) 
								Постоялец
								
								    Offline 
								id/fm105
								
								
								
								
								
							 | 
								|  | « Ответ #15 : 09-10-2011 08:09 »  |  | 
 
 странно)  Разработать пульт оператора базовой мпс, включающий клавиатуру. занимаюсь на pic на avr сил перейти нету)) позже а так по идеи 2 варианта подключение com и lpt скажу как передает com знать нужно что он последовательная шина.... но... ведь есть rs232 и цепляешь к нему контроллер а там уже документаций много как с этим работать с lpt портом будет попроще с одной стороны,  подключив светодиоды можно будет увидеть что и как... http://bitsofmind.wordpress.com/2008/08/07/led-and-lpt-port/ клавиатуру сделать самому не проблема))http://www.radiohlam.ru/control/keyboard.htm |  
						| 
								|  |  
								|  |  Записан | 
 
 Lost in the jungle: 1c, PIC AVR, C++, Python flask, (no Java) JS . for fun: Live For Speed S2 Drift Edition, TeeWorlds |  |  | 
	|  | 
	|  |