|
|
  |
Порекомендуйте какое-нибудь softcore, Для Altera |
|
|
|
Oct 9 2008, 13:34
|
Профессионал
    
Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118

|
Цитата(Mahagam @ Oct 9 2008, 13:37)  а зачем изобретать велосипед? Это где их раздают? Вот slog больше месяца назад попросил велосипед, не требующий доработки напильником - чтобы в булочную за углом мотаться - ничего лучше карьерного самосвала ему так и не предложили. Цитата смысл совместной заточки компилятора под ядро и ядра под компилятор? Не совсем так, подбирается псевдокод, под который легко заточить и компилятор, и ядро - чтобы можно было независимо менять/оптимизировать и софт, и железо. Что касается заточки компиляторов, вместо цепочки: код на ЯВУ --> оптимизирующий компилятор --> код на ассемблере --> компилятор --> машинные коды, предпочел бы видеть: код на ЯВУ --> оптимизирующий препроцессор --> код на ЯВУ --> компилятор --> псевдокодкод --> оптимизирующий ассемблер --> машинные коды.
Сообщение отредактировал Leka - Oct 9 2008, 13:36
|
|
|
|
|
Oct 9 2008, 14:12
|
Местный
  
Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240

|
Цитата(Leka @ Oct 9 2008, 16:34)  Это где их раздают? Вот slog больше месяца назад попросил велосипед, не требующий доработки напильником - чтобы в булочную за углом мотаться - ничего лучше карьерного самосвала ему так и не предложили. да бог ты мой, если действительно захотеть что-то прикрутить - то на выбор есть пикоблейз, микроблейз в порезанной версии, ниос-2 в порезанной версии. зулин-цпу есть с GCC. это всё готовое со всеми сервисами и удобствами. но в любом случае - хоть какой-то манульчик читать придётся. Цитата(Leka @ Oct 9 2008, 16:34)  Не совсем так, подбирается псевдокод, под который легко заточить и компилятор, и ядро - чтобы можно было независимо менять/оптимизировать и софт, и железо. Что касается заточки компиляторов, вместо цепочки: код на ЯВУ --> оптимизирующий компилятор --> код на ассемблере --> компилятор --> машинные коды, предпочел бы видеть: код на ЯВУ --> оптимизирующий препроцессор --> код на ЯВУ --> компилятор --> псевдокодкод --> оптимизирующий ассемблер --> машинные коды. над первой цепочкой трудится куча программеров уже. и вчера. над вашей - трудится только вам и прочим фанатам.
|
|
|
|
|
Oct 13 2008, 07:57
|
Местный
  
Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240

|
Цитата(Leka @ Oct 10 2008, 12:55)  Понятно, что лучше продать 100 неуниверсальных оптимизирующих компиляторов Си-->асм под 100 конкретных архитектур, чем 10 универсальных Си-->Си. вот только эти неуниверсальные будут однозначно шустрее чем универсальные. да и потом - так или иначе переводить си->асм придётся. и наибольшая степень оптимизации доступна именно в этом переходе.
|
|
|
|
|
Oct 13 2008, 16:53
|
Местный
  
Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240

|
Цитата(Leka @ Oct 13 2008, 17:21)  Да. Два 10нсек такта на a+=b в раме - не устроит, что-ли? хм. прочитать а, прочитать б, записать результат в а - вроде три такта? али я что-то непонимаю? а адрес этих а и бэ где берётся? как их отличить от цэ и дэ ? а как адресовать много памяти? что-то я идеи не понимаю...
|
|
|
|
|
Oct 13 2008, 17:11
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Mahagam @ Oct 13 2008, 11:53)  хм. прочитать а, прочитать б, записать результат в а - вроде три такта? али я что-то непонимаю? а адрес этих а и бэ где берётся? как их отличить от цэ и дэ ? а как адресовать много памяти? что-то я идеи не понимаю...  ну вообще это можно и за 1 такт сделать %) прочитать a и b, сложить и записать в память. Но для этого нужна асинхронная/квази асинхронная память, а за 2 такта так на обычной делается. a,b прочитать и результат записать. думаю что уважаемый Leka во фразе Цитата Уже начал делать ядро под Паскаль - интересные идеи пришли по безрегистровой архитектуре smile.gif (сначала опробую со своим ассемблером - легко настраивается на любую систему команд). имел в виду не полное отсутствие регистров (ну как минимум указатель на инструкцию то должен быть %)) , а то что использует он "регистровый файл на памяти".
--------------------
|
|
|
|
|
Oct 13 2008, 17:48
|
Профессионал
    
Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118

|
Цитата(Mahagam @ Oct 13 2008, 20:53)  хм. прочитать а, прочитать б, записать результат в а - вроде три такта? али я что-то непонимаю? Память внутренняя, двухпортовая, поэтому прочитать "а" и "б" - один такт. Цитата а адрес этих а и бэ где берётся? как их отличить от цэ и дэ ? Из 32(36)-разрядной инструкции. Цитата а как адресовать много памяти? что-то я идеи не понимаю...  Все массивы, структуры и тп доступны только по ссылке через переменные индексов/полей и базовые регистры(скрытые) --> непосредственно адресуемый объем памяти не превышает максимально допустимого числа переменных в одной любой подпрограмме(независимо от вложенности и тп). Устанавливаем, например, максимальное число переменных в подпрограмме(или глобальных в программе) = 127 --> 7-ю разрядами (+ дополнительными служебными) адресуем хоть 4Гб "регистровый файл на памяти" (для 32х-разрядного ядра).
Сообщение отредактировал Leka - Oct 13 2008, 17:51
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|