четверг, 26 мая 2016 г.

Профиль программы и его предсказание

Сегодня хотел бы рассказать про то как в компиляторе представлена профильная информация и как она предсказывается. Студентам и просто людям часто выносит мозг тот факт что компилятор статически (т.е. без реального исполнения) может предсказывать такие вещи как количество итераций у цикла или просто вероятности переходов, поэтому расскажу об этом по подробнее.

четверг, 12 мая 2016 г.

Пишем "Hello, world" на ассемблере

Так сложилось, что я совсем не знаю ассемблера. Даже несмотря на то, что я разрабатываю компиляторы, на уровень близкий к аппаратуре я почти не спускаюсь. Была пара попыток его выучить, но я просто не находил подходящего материала. В итоге решил что если его нет, то нужно написать самому. В этой заметке я планирую показать как написать простой Hello world на ассемблере.

В данной статье я преследую несколько целей:
  • Изучить основы работы с ассемблером
  • Сравнить ассемблеры процессоров различных архитектур и, как следствие, показать разные аппаратные особенности
  • Написать материал по которому новички далее смогут самостоятельно продолжить изучение ассемблера
Содержание:
  1. Введение
  2. amd64
  3. sparc v9
  4. Эльбрус
  5. Послесловие
  6. Источники