A datapath is a sequential collection of functional units. To put it more simply, it’s a set of logical processors that perform data processing in a certain order. Datapaths form the basics of a CPU, when combined with a control unit. Larger datapaths can consist of multiple smaller datapaths as well.
Think of datapaths like city maps – smaller neighbourhoods connect into bigger cities, and once a house is built and put on the map, it can’t simply be moved, rearranged, or redrawn – just like how datapaths, once set, can’t be altered again.
One single data path is made up of the set of registers, between which the CPU’s internal buses travel and transport data back and forth. Once they are set, datapaths can’t be changed again. So, if a datapath is configured in a certain way, it can’t be changed again later. There is research into creating re-configurable datapaths, but so far, that isn’t possible. The lack of reconfigurability means that processes don’t run as efficiently or effectively as they could – at least in theory. This has been in research since the 1990s – so far, without success.