Here is also a much clearer explanation taken from that link:
BORPH is an extended Linux kernel that treats FPGA resources as native computational resources on reconfigurable computers such as BEE2. As such, it is more than just a way to configure an FPGA. It also provides integral operating system supports for FPGA designs, such as the ability for an FPGA design to read/write to the standard Linux file system.
If it supports partial-reconfiguration (which it looks like it does), then it could be a very handy tool. Why? Hardware is significantly faster than software. While Linux is running, the ability to spawn hardware at will would be great for many applications.At UCSB, some of the research I did related to this very problem. What I was trying to do was have a Linux web server running on an FPGA that could dynamically reconfigure itself for different experiments. I ended up choosing a board that has an FPGA that communicates with a ARM processor. Decent size FPGAs were (and still are) expensive. For all the Linux overhead and my budget, a hybrid FPGA-processor platform turned out to be the better solution. If anyone is interested, here is the problem we were solving: http://ece.ucsb.edu/academics/undergrad/capstone/presentatio...
Think of it this way. At the basic level, you have logic gates. CPUs are massive ensembles of these which then run your program majorly sequentially. GPUs/GPGPUs are smaller ensembles that can be configured better for specific tasks, resulting in better performance/power ratio. At the other end of the scale is using HDLs to program the gates directly for the specific task at hand, which would offer best performance/power ratio. The development process is however more involved. In-between the last two is reconfigurable computing.
A MicroBlaze is just a regular CPU instantiated on an FPGA, most likely controlling other logic around it designed using HDLs -- HDLs portions taking over compute-intensive tasks while the CPU takes over (relatively) low-speed control logic. A reconfigurable computing environment would try to make this more symmetric.
In my opinion, there is a continuum between more complex units (CPUs) that have a large number of logic gates and offer lots of features, and between less complex units (logic gates directly) offering very small functionality. At the end of the day, it is all about finding the right architecture for this "unit", which may vary from application to application.
There is a lot of development going around these days for using OpenCL to program FPGAs directly. E.g.: http://www.altera.com/products/software/opencl/opencl-index....