У меня есть See MIPS run Linux, но на этой лабе слой еще ниже - описанная архитектура будет реализована по факту в железе на Verilog+ПЛИС. Тут будет в тему книга Harris & Harris Digital Design and Computer Architecture http://1i7.livejournal.com/1927.html - там есть несколько реализаций мипсовой архитектуры на Verilog/VHDL в виде процессоров разной степени сложности и оптимизированности.
>к примеру, заморачиваетесь на символьных именах регистров и их т.н. условных ролях? Это полезно лишь для интеграции мипс ассемблера с языками программирования более высоко уровня. У мипса это всего лишь регистры общего назначения (r0-r31) -- не более
( ... )
"Язык ассемблер - это самый низкоуровневый язык, который понимает процессор, представленный в удобном для чтения и понимания человеком виде." - это неверно для понимания начинающим. Есть машинные команды (причем не у процессора в целом, а у процессорного ядра, зачастую говоря "процессорное ядро" понимают именно систему команд), которые можно записать в машинном коде, представленном в любой системе счисления. Но для удобства чтения этих машинных кодов разработчиками ядра (и только ими!) пользователям даются сокращенные аббревиатуры этих машинных команд, которые потом используются в ассемблерах, разрабатываемыми уже другими людьми для люДЕЙ, но не для процессоров, так что "Язык ассемблер - это самый низкоуровневый язык, который удобен для человека и который так же как и высокоуровневые языки не понимает процессор до компиляции")))
Попробую сообразить, как лучше переформулировать. Если из ассемблера убрать макросы и прочие вспомогательные конструкции и оставить только подмножество в виде команд, которые однозначно транслируются в машинный код и определяются из машинного кода, будет более корректно?
Нет. в Ассемблере нет макросов, в нем (в зависимости от разработчиков того или иного ассемблера) есть возможность строить макросы. Для новичков должно быть четко понятно, что процессорное ядро характеризуется системой команд, которые имеют мнемоническое буквенное обозначение сходное с ассемблерным обозначением и оно необходимо в первую очередь для человека, но ни в коем случае не для процессорного ядра. Процессорное ядро (процессор) не понимает никаких (ни низкого уровня, ни высокого - никакого) языков, кроме машинных кодов.
Это все жонглирование словами, не добавляющее понимания студенту. А макросы в ассемблере MIPS есть изначально, так устроена архитектура. Например LI транслируется в ORI, или в ADDIU, или в пару LUI+ORI, в зависимости от ситуации.
Comments 30
Reply
Reply
Reply
Reply
(The comment has been removed)
Reply
Reply
2900 жетонов потрачены не на меня :-(
Reply
(The comment has been removed)
Reply
(The comment has been removed)
Reply
Reply
Reply
Reply
Reply
Leave a comment