소프트 마이크로프로세서(soft microprocessor) 또는 소프트코어 마이크로프로세서 또는 소프트 프로세서는 논리 합성을 사용하여 전체적으로 구현할 수 있는 마이크로프로세서 코어이다. 이는 고급 및 상용 변형을 모두 포함하여 프로그래밍 가능한 논리(예: ASIC, FPGA, CPLD)를 포함하는 다양한 반도체 장치를 통해 구현될 수 있다.[1]
대부분의 시스템은 소프트 프로세서를 사용하는 경우 단일 소프트 프로세서만 사용한다. 그러나 일부 설계자는 FPGA에 최대한 많은 소프트 코어를 배치한다.[2] 이러한 멀티 코어 시스템에서는 거의 사용되지 않는 리소스를 클러스터의 모든 코어 간에 공유할 수 있다.
많은 사람들이 FPGA에 정확히 하나의 소프트 마이크로프로세서를 장착하지만 충분히 큰 FPGA는 두 개 이상의 소프트 마이크로프로세서를 수용할 수 있어 멀티 코어 프로세서가 된다. 단일 FPGA의 소프트 프로세서 수는 FPGA 크기에 의해서만 제한된다.[3] 어떤 사람들은 단일 FPGA에 수십 또는 수백 개의 소프트 마이크로프로세서를 배치했다.[4][5][6][7][8] 이는 컴퓨팅에서 대규모 병렬성을 구현하는 한 가지 방법이며 인메모리 컴퓨팅에도 적용될 수 있다.
FPGA에 구현된 소프트 마이크로프로세서와 주변 기기는 개별 프로세서보다 노후화에 덜 취약하다.[9][10][11]