Например так - есть алгоритм SHA-1, который изначально реализовывали программно, в том числе на ассемблере, используя примитивы языка типа циклических сдвигов, сложение по модулю и т.д. Потом интель добавил в процессоры команды для быстрого аппаратного выполнения шагов этого же алгоритма: SHA1RNDS4 и т.п.
Программа есть алгоритм, соответственно можно его и из дискретной логики собрать. Что оно в СССР и имело место быть почти все системы управления были аппаратными.
Так и понимать, что любую программу можно "отлить в граните". То бишь в кремнии.
Любая программа принимает на вход одни циферки и выдает на выходе другие.
То же самое можно сделать и при помощи микросхемы. УНУТРЕ там все будет совсем иначе, а снаружи будет выглядеть, как будто это та же самая неонка.
Одним из характерных примеров можно назвать математический сопроцессор. Его функционал может выполнять и центральный процессор чисто программно через всякие там ряды Тейлора и прочую чушь, но микросхемка делает все то же самое гораздо быстрее и эффективнее.