We study the (sub)dynamics of multidimensional shifts of finite type and sofic shifts, and the action of cellular automata on their limit sets. Such a subaction is always an effective dynamical system: i.e. it is isomorphic to a subshift over the Cantor set the complement of which can be written as the union of a recursive sequence of basic sets. Our main result is that, to varying degrees, this recursive-theoretic condition is also sufficient. We show that the class of expansive subactions of multidimensional sofic shifts is the same as the class of expansive effective systems, and that a general effective system can be realized, modulo a small extension, as the subaction of a shift of finite type or as the action of a cellular automaton on its limit set (after removing a dynamically trivial set). As applications, we characterize, in terms of their computational properties, the numbers which can occur as the entropy of cellular automata, and construct SFTs and CAs with various interesting properties.