- 
	
- Энное время назад работал с NVCom-1. Там универсальное ядро MIPS. Там простейшие операции приходилось расписывать в несколько команд. Что точно не помню, но помню, что я просто зверел, кода писал код. Вроде с ветвлением были проблемы. И не только. - st256(01.09.2015 22:05)
			
- Б...! Ну нет в жизни совершенства. Захочешь 32-разрядную машину вместо 16-разрядной, так работа с ними, словно вырезание гландов в армии. - Крок(01.09.2015 22:09)
					
- Первое, что вспомнил. Там есть регистры общего назначения. Так самый первый из них всегда равен 0. Т.е. писать в него ничего нельзя. Зачем, спрашивается? А чтобы было удобно сравнивать с нулем другие РОНы... Ну не идиотизм ли это??? - st256(02.09.2015 09:31)
							
- это оченно и оченно удобно  Zikon(268 знак., 02.09.2015 11:29)
									
- А ПИК, например, может сравнить с нулём любой из восьми тысяч регистров (за одну команду). - Крок(07.09.2015 13:48)
 - мне легче написать лишнюю операция обнуления регистра и получить еще один в свое полное распоряжение. - st256(02.09.2015 14:24)
											
- И получить зависимость между командами, ну чтобы out-of-order лесом пошло? - LightElf(02.09.2015 15:51)
													
- Чаво-чаво??? - st256(02.09.2015 19:01)
															
- Обнуление регистра + последующее сравнение = зависимые операции, которые нельзя выполнить параллельно. Значит обнулять регистр придется заранее и ноль в нем хранить. Имеем 
те же яйцыобнуленный регистр, тольков профильего еще и LightElf(78 знак., 03.09.2015 11:26)- Сравнение с нулем любого регистра или ячейки памяти - операция очень и очень простая. Для этой цели имеется специальная инструкция. А в ряде случаев даже и она не нужна, сравнение происходит автоматически при выполнении других инструкций. Или нет? - Bill(07.09.2015 16:47)
																			
- Это всё-таки про RISC процессоры, а не контроллеры в первую очередь. Любая команда где операнд источник 0. Любая команда требующая операнда приёмника, но приёмник не требуется в дальнейшем. - загрузить константу(07.09.2015 20:08, 
)
																					
																				 - Нулевой регистр может и другие цели иметь, например эмуляцию какого-нибудь режима адресации. Типа нет у проца абсолютной  адресации, но есть косвенно-регистровая со смещением. Используем R0 и получаем то что надо. У той же PDP-11 не было  LightElf(127 знак., 07.09.2015 19:01)
																					
- Тут вы ошибаетесь. У PDP-11 была и абсолютная адресация, и непосредственная. Например:  Bill(106 знак., 07.09.2015 19:10 - 19:16, ссылка, ссылка)
																							
- А вы машинный код посмотрите у этой ассемблерной инструкции и удивитесь. Там будет (по памяти) что-то типа add (R7)+, @(R7)+ LightElf(32 знак., 08.09.2015 11:48 - 11:56)
 - Вы оба правы.   vmp(257 знак., 07.09.2015 21:40)
																									
- Все так, но тем не менее, Bill(671 знак., 08.09.2015 07:06)
 
 
 
 - Тут вы ошибаетесь. У PDP-11 была и абсолютная адресация, и непосредственная. Например:  Bill(106 знак., 07.09.2015 19:10 - 19:16, ссылка, ссылка)
																							
 - Иногда бывает надо сравнить с нулём ячейку, которая была вычислена давно. Вот у ДСПИКов это можно сделать одной командой. - Крок(07.09.2015 18:11)
																					
- У AVR, к примеру, это тоже можно сделать одной командой, TST называется. То же самое имеется и у STM8, только там мнемоника - TNZ. Можно еще много других примеров привести. - Bill(07.09.2015 18:27)
																							
- Эта операция у АВРов применима ко всей памяти или только к регистрам? - Крок(07.09.2015 18:42)
																									
- У AVR только к регистрам. Вообще все арифметические и логические операции в AVR применимы только к регистрам.  Для работы с памятью имеются инструкции загрузки/сохранения, не более того. - Bill(07.09.2015 18:47)
																											
- Вооот! А у пиков есть кусок памяти - 8к которая может быть операндом в арифметических операциях (далеко не во всех). В том числе обращение к каждому биту. Ну 8к - это может быть пижонство, а вот 64 РОНа было бы уместно. - Крок(07.09.2015 19:55)
																													
- У меня есть опыт работы как с AVR, так и с PIC. Если говорить об AVR, то обычно в программе не требуется частого обращения к памяти, обычно хватает регистров. Кроме того, в AVR имеются различные методы адресации, что повышает эффективность Bill(554 знак., 08.09.2015 07:29)
 - Если бы пико24дезигнеры не пожидились сделать программное слово в 32, а не в 24 бита, то и было бы как минимум 4096 (2^4 + 2^8) полноценных РОНов - MBedder(07.09.2015 19:59)
																															
- Я вот думаю, может там чисто технологическая проблема - коммутировать РОНы. Просто по нагрузочной способности ключей нельзя сделать больше? - Крок(07.09.2015 20:04)
																																	
- Любые другие операции (включая некоторые арифметические/логические - ADD/C f {,WREG}, AND f {,WREG}, ASR f {,WREG}, BCLR/BSET f,#bit4, BTG f,#bit4 и т.п) с операндами в Near Memory (до 8191) ведь делаются, значит, на всю арифметику тупо не хватило  MBedder(14 знак., 07.09.2015 20:18)
																																			
- Сэкономили память программ, мать их... - Крок(07.09.2015 21:37)
 
 
 - Любые другие операции (включая некоторые арифметические/логические - ADD/C f {,WREG}, AND f {,WREG}, ASR f {,WREG}, BCLR/BSET f,#bit4, BTG f,#bit4 и т.п) с операндами в Near Memory (до 8191) ведь делаются, значит, на всю арифметику тупо не хватило  MBedder(14 знак., 07.09.2015 20:18)
																																			
 
 - Я вот думаю, может там чисто технологическая проблема - коммутировать РОНы. Просто по нагрузочной способности ключей нельзя сделать больше? - Крок(07.09.2015 20:04)
																																	
 
 
 - Вооот! А у пиков есть кусок памяти - 8к которая может быть операндом в арифметических операциях (далеко не во всех). В том числе обращение к каждому биту. Ну 8к - это может быть пижонство, а вот 64 РОНа было бы уместно. - Крок(07.09.2015 19:55)
																													
 
 - У AVR только к регистрам. Вообще все арифметические и логические операции в AVR применимы только к регистрам.  Для работы с памятью имеются инструкции загрузки/сохранения, не более того. - Bill(07.09.2015 18:47)
																											
 
 - Эта операция у АВРов применима ко всей памяти или только к регистрам? - Крок(07.09.2015 18:42)
																									
 
 - У AVR, к примеру, это тоже можно сделать одной командой, TST называется. То же самое имеется и у STM8, только там мнемоника - TNZ. Можно еще много других примеров привести. - Bill(07.09.2015 18:27)
																							
 - Аффтор хочет сравнить с нулем произвольную ячейку памяти при этом считается что состояние флага z когда создавалось значение в ячейке давно потеряно. Boвa(34 знак., 07.09.2015 17:57)
 
 - Это всё-таки про RISC процессоры, а не контроллеры в первую очередь. Любая команда где операнд источник 0. Любая команда требующая операнда приёмника, но приёмник не требуется в дальнейшем. - загрузить константу(07.09.2015 20:08, 
 - Сие есть изврат. Boвa(66 знак., 07.09.2015 11:00)
 - Вау! Я даже с ним не знаком. Как и Вы с ЦОС, где за лишний регистр иногда готов отдать все, что угодно. Знаете, что именно по причине нехватки регистров БПФ по основанию 2 часто получается быстрее, чем по основанию 4? - st256(03.09.2015 16:12)
																			
- Хм, использовать MIPS для ЦОС - напоминает секас в гамаке на лыжах. - LightElf(03.09.2015 18:27)
																					
- Для управления DSP ядрами самое то. Например, в NVCom. - st256(03.09.2015 18:31)
																							
- Ну а зачем писать на асме код управления DSP ядрами? Пускай компилятор парится с регистрами. - LightElf(04.09.2015 12:25)
																									
- DSP ядра в NVCom очень шустрые, мощные и их много. А управляющий проц - хилый. Вот и считайте - 8 РОНов на ядро это много или мало? - st256(04.09.2015 14:27)
																											
- Для настройки ДМА 8 регистров хватает? :-)) - =AlexD=(04.09.2015 14:29)
 
 - вот наверное единственное, что нужно писать на АСМе (и ни на чём другом) - код управления ДСП ядрами... - Крок(04.09.2015 12:43)
 
 - DSP ядра в NVCom очень шустрые, мощные и их много. А управляющий проц - хилый. Вот и считайте - 8 РОНов на ядро это много или мало? - st256(04.09.2015 14:27)
																											
 
 - Ну а зачем писать на асме код управления DSP ядрами? Пускай компилятор парится с регистрами. - LightElf(04.09.2015 12:25)
																									
 
 - Для управления DSP ядрами самое то. Например, в NVCom. - st256(03.09.2015 18:31)
																							
 
 - Хм, использовать MIPS для ЦОС - напоминает секас в гамаке на лыжах. - LightElf(03.09.2015 18:27)
																					
 
 - Сравнение с нулем любого регистра или ячейки памяти - операция очень и очень простая. Для этой цели имеется специальная инструкция. А в ряде случаев даже и она не нужна, сравнение происходит автоматически при выполнении других инструкций. Или нет? - Bill(07.09.2015 16:47)
																			
 - Тупой он, процессор. - r31 AArch64(02.09.2015 23:03, 
) 
 - Обнуление регистра + последующее сравнение = зависимые операции, которые нельзя выполнить параллельно. Значит обнулять регистр придется заранее и ноль в нем хранить. Имеем 
 
 - Чаво-чаво??? - st256(02.09.2015 19:01)
															
 
 - И получить зависимость между командами, ну чтобы out-of-order лесом пошло? - LightElf(02.09.2015 15:51)
													
 
 - А LR у ARM-ов не беспокоит? А аккумулятор у 8051? - LightElf(02.09.2015 10:15)
									
- Кто такой LR? Что-то я не обратил внимания на него при чтении. - Крок(02.09.2015 10:28)
											
- обычный РОН, но туда еще попадает аппаратно адрес возврата - st256(02.09.2015 10:36)
													
- Ну вот не изврат ли - сохранять адрес возврата в регистре, чтобы потом его в стек руками складывать? В каждой избушке свои погремушки. - LightElf(02.09.2015 13:02)
															
- можно и не складывать. А можно и сложить в стек весь регистровый файл. Не понял в чем изврат-то? - st256(02.09.2015 14:33)
																	
- В том, что не сразу в стек складывается. А вот проверка на ноль - частая операция, почему бы не предусмотреть специальный нулевой регистр? - LightElf(02.09.2015 14:38)
																			
- в ARM - регистр LR Zikon(447 знак., 02.09.2015 15:39)
 - Вы чо, фанат MIPSа? А чем-нибудь приличным пользоваться пробовали? - st256(02.09.2015 14:44)
																					
- Я вообще не фанат архитектур. Ничего особенно плохого в MIPS не вижу - известная архитектура, огромная installation base, масса всякого софта. Всяко лучше, чем велосипед изобретать. - LightElf(02.09.2015 14:52)
																							
- Что-то со зрением? - st256(02.09.2015 19:02)
																									
- Закусывай. - LightElf(03.09.2015 11:28)
 
 
 - Что-то со зрением? - st256(02.09.2015 19:02)
																									
 
 - Я вообще не фанат архитектур. Ничего особенно плохого в MIPS не вижу - известная архитектура, огромная installation base, масса всякого софта. Всяко лучше, чем велосипед изобретать. - LightElf(02.09.2015 14:52)
																							
 
 
 - В том, что не сразу в стек складывается. А вот проверка на ноль - частая операция, почему бы не предусмотреть специальный нулевой регистр? - LightElf(02.09.2015 14:38)
																			
 
 - можно и не складывать. А можно и сложить в стек весь регистровый файл. Не понял в чем изврат-то? - st256(02.09.2015 14:33)
																	
 
 - Ну вот не изврат ли - сохранять адрес возврата в регистре, чтобы потом его в стек руками складывать? В каждой избушке свои погремушки. - LightElf(02.09.2015 13:02)
															
 
 - обычный РОН, но туда еще попадает аппаратно адрес возврата - st256(02.09.2015 10:36)
													
 - И чем Вам линковый регистр не угодил? А 8051 всегда был отстоем. - st256(02.09.2015 10:24)
											
- Ну как - отъедается регистр, которых вечно не хватает и все такое. А вот с моей кочки зрения во многих регистрах много печали при сохранении/восстановлении контекста задачи. - LightElf(03.09.2015 18:30)
													
- А с моей, их вечно не хватает - st256(03.09.2015 18:33)
 
 
 - Ну как - отъедается регистр, которых вечно не хватает и все такое. А вот с моей кочки зрения во многих регистрах много печали при сохранении/восстановлении контекста задачи. - LightElf(03.09.2015 18:30)
													
 
 - Кто такой LR? Что-то я не обратил внимания на него при чтении. - Крок(02.09.2015 10:28)
											
 
 - это оченно и оченно удобно  Zikon(268 знак., 02.09.2015 11:29)
									
 
 - Первое, что вспомнил. Там есть регистры общего назначения. Так самый первый из них всегда равен 0. Т.е. писать в него ничего нельзя. Зачем, спрашивается? А чтобы было удобно сравнивать с нулем другие РОНы... Ну не идиотизм ли это??? - st256(02.09.2015 09:31)
							
 
 - Б...! Ну нет в жизни совершенства. Захочешь 32-разрядную машину вместо 16-разрядной, так работа с ними, словно вырезание гландов в армии. - Крок(01.09.2015 22:09)
					
 
 - Энное время назад работал с NVCom-1. Там универсальное ядро MIPS. Там простейшие операции приходилось расписывать в несколько команд. Что точно не помню, но помню, что я просто зверел, кода писал код. Вроде с ветвлением были проблемы. И не только. - st256(01.09.2015 22:05)