We give a new time algorithm for finding Cunningham's split decomposition of an arbitrary undirected graph. We can convert this algorithm to an algorithm that uses only processors. The related composition operation is a generalization of the modular (also called substitution of X-join) composition. The split decomposition is useful in recognizing special classes of graphs, such as circle graphs, which are the intersection graphs of arcs of a circle, and parity graphs, because these graphs are closed under the inverse composition operation. The decomposition can also be used to find algorithms for some optimization problems on special families of graphs, assuming these problems can be solved in for the indecomposable graphs of the decomposition. A new data structure, which we call a generalized -tree, is used to make the algorithm efficient. Generalized -trees make it easy to find sets that trivially intersect (one set is contained in the other or they are disjoint) each other. All the calculations on these trees can be done efficiently. Two other important parts of the algorithm are finding a breadth-first search tree and performing a modular decomposition of a graph. These computations are the bottlenecks to an efficient parallel algorithm since they are the only parts of the algorithm where processors are required. However, they can be performed in time sequentially.