This Article 
 Bibliographic References 
 Add to: 
A Theory of Reduced and Minimal Procedural Dependencies
June 1991 (vol. 40 no. 6)
pp. 681-692

A reduced set of procedural dependencies is presented which is necessary and sufficient to describe all procedural dependencies in standard imperative codes. Hence, the set is minimal. In conjunction with reduced data dependencies, this set forms a set of minimal semantic dependencies for all traditional code. It is also shown that all forward branches in structured code are procedurally independent. The effects of limited hardware are also addressed. A possible implementation of a machine enforcing just the minimal procedural dependencies is described.

[1] R. D. Acosta, J. Kjelstrup, and H. C. Torng, "An instruction issuing approach to enhancing performance in multiple functional unit processors,"IEEE Trans. Comput., vol. C-35, pp. 815-828, Sept. 1986.
[2] D. W. Anderson, F. J. Sparacio, and R. M. Tomasulo, "The IBM System/360 Model 91: Machine philosophy and instruction-handling,"IBM J., pp. 8-24, Jan. 1967.
[3] U. Banerjee and D. Gajski, "Fast execution of loops with IF statements,"IEEE Trans. Comput., vol. C-33, pp. 1030-1033, Nov. 1984.
[4] Carnegie-Mellon Univ., MCF Test Programs and Data Specification, Benchmark programs in a generic language, and instructions for their coding and use.
[5] D. D. Chamberlin, "The single-assignment approach to parallel processing," inProc. Fall Joint Comput. Conf., AFIPS, 1971, pp. 263-269.
[6] R. P. Colwell, R. P. Nix, J. J. O'Donnell, D. B. Papworth, and P. K. Rodman, "A VLIW architecture for a trace scheduling compiler,"IEEE Trans. Comput., vol. C-37, pp. 967-979, Aug. 1988.
[7] R. G. Cytron, "Doacross: Beyond vectorization for multiprocessors (extended abstract)," inProc. 1986 Int. Conf. Parallel Processing, Penn. State University and the IEEE Computer Society, Aug. 1986, pp. 836-844.
[8] J. Ferrante, K. Ottenstein, and J. Warren, "The program dependence graph and its use in optimization,"ACM Trans. Program. Lang. Syst., vol. 9, no. 3, pp. 319-349, July 1987.
[9] W. Hwu, S. Melvin, M. Shebanow, C. Chen, J. Wei, and Y. Patt, "An HPS implementation of VAX; Initial design and analysis," inProc. Nineteenth Annu. Hawaii Int. Conf. Syst. Sci., Univ. of Hawaii, in cooperation with the ACM and the IEEE Computer Society, Jan. 1986.
[10] W. Hwu and Y. Patt, "HPSm, A high performance restricted data flow architecture having minimal functionality," inProc. 13th Annu. Symp. Comput. Architecture, ACM-IEEE, June 1986, pp. 297-306.
[11] J. H. Jacobs, A. K. Uht, and R. C. Ord, "Modeling the effects of instruction queue loading on a static instruction stream-micro-architecture," inProc. 21st Annu. Workshop Microprogramming and Microarchitecture, ACM-IEEE, Nov./Dec. 1988.
[12] D. J. Kuck, Y. Muraoka, and S.-C. Chen, "On the number of operations simultaneously executable in Fortran-like programs and their resulting speedup,"IEEE Trans. Comput., vol. C-21, pp. 1293-1310, Dec. 1972.
[13] J. K. F. Lee and A. J. Smith, "Branch prediction strategies and branch target buffer design,"IEEE Comput. Mag., vol. 17, pp. 6-22, Jan. 1984.
[14] K. Murakami, N. Irie, M. Kuga, and S. Tomita, "SIMP (single instruction stream/multiple instruction pipelining): A novel high-speed singleprocessor architecture," inProc. 16th Annu. Symp. Comput. Architecture, IEEE-ACM, May 1989, pp. 78-85.
[15] Y. Patt, W. Hwu, and M. Shebanow, "HPS, A new microarchitecture: Rationale and introduction," inProc. MICRO-18, ACM, Dec. 1985, pp. 103-108.
[16] E. M. Riseman and C. C. Foster, "The inhibition of potential parallelism by conditional jumps,"IEEE Trans. Comput., pp. 1405-1411, Dec. 1972.
[17] J. E. Thorton, "Parallel operation in the Control Data 6600," inProc. Fall Joint Comput. Conf., AFIPS, 1964, pp. 33-40.
[18] G. S. Tjaden, "Representation and detection of concurrency using ordering matrices," Ph.D. dissertation, Johns Hopkins Univ., 1972.
[19] G. S. Tjaden and M. J. Flynn, "Representation of concurrency with ordering matrices,"IEEE Trans. Comput., vol. C-22, pp. 752-761, Aug. 1973.
[20] R. M. Tomasulo, "An efficient algorithm for exploiting multiple arithmetic units,"IBM J., pp. 25-33, Jan. 1967.
[21] A. K. Uht, "Exploitation of low-level concurrency: An implementation and architecture," Feb. 1985. A Ph.D. dissertation Prospectus presented to the faculty of the Dep. Elec. Comput. Eng., Carnegie-Mellon Univ. Also available as Tech. Rep. CMUCAD-85-52, SRC-CMU Center for Computer-Aided Design, Dep. Elec. Comput. Eng., Carnegie-Mellon Univ., May 1985.
[22] A. K. Uht, Hardware extraction of low-level concurrency from sequential instruction streams," Ph.D. dissertation, Carnegie-Mellon University, Pittsburgh, PA, Dec. 1985. Available from University Microfilms International, Ann Arbor, MI.
[23] A. K. Uht, "An efficient hardware algorithm to extract concurrency from general-purpose code," inProc. Nineteenth Annu. Hawaii Int. Conf. Syst. Sci., Univ. of Hawaii, in cooperation with the ACM and the IEEE Computer Society, Jan. 1986.
[24] A. K. Uht and R. G. Wedig, "Hardware extraction of low-level concurrency from serial instruction streams," inProc. Int. Conf. Parallel Processing, IEEE Computer Society and the ACM, Aug. 1986, pp. 729-736.
[25] A. K. Uht, "Incremental performance contributions of hardware concurrency extraction techniques," inProc. Int. Conf. Supercomput., Athens, Greece. Computer Technology Institute, Greece, in cooperation with the ACM, IFIP,et al., June 1987. Springer-Verlag Lecture Note Series.
[26] A. K. Uht, C. D. Polychronopoulos, and J. F. Kolen, "On the combination of hardware and software concurrency extraction methods," inProc. Twentieth Annu. Workshop Microprogramming (MICRO-20), ACM, Dec. 1987, pp. 133-141.
[27] A. K. Uht, "Notes on a theory of minimal procedural dependencies," Tech. Rep. CS90-165, Dep. Comput. Sci. Eng., Univ. of California at San Diego, La Jolla, CA 92093, Feb. 1990.
[28] A. K. Uht, "Concurrency extraction via a hardware method executing the static instruction stream,"IEEE Trans. Comput., to be published.
[29] A. K. Uht, "Desirable code transformations for a concurrent machine," inResearch Monographs in Parallel and Distributed Computing. Languages and Compilers for Parallel Computing. Cambridge, MA: MIT Press, 1990, ch. 25.Proc. Second Workshop Languages Compilers for Parallel Computing, Center for Supercomputing Res. and Develop., Univ. of Illinois at Urbana-Champaign, Aug. 1-3, 1989.
[30] S. S. Wang and A. K. Uht, "Ideograph and minimal procedural dependencies," Tech. Rep. CS88-140, Dep. Comput. Sci. and Eng., Univ. of California at San Diego, La Jolla, CA 92093, Dec. 1988.
[31] S. S. Wang and A. K. Uht, "Ideograph: An imperative program graph for eager evaluation,"IEEE Trans. Parallel Distributed Syst., to be published.
[32] R. G. Wedig, "Detection of concurrency in directly executed language instruction streams," Ph.D. dissertation, Stanford Univ., June 1982.
[33] W. A. Wulf, M. Shaw, P. N. Hilfinger, and L. Flon,Fundamental Structures of Computer Science. Reading, MA: Addison-Wesley, 1981, ch. 2.

Index Terms:
reduced procedural dependencies; minimal procedural dependencies; reduced set; codes; reduced data dependencies; minimal semantic dependencies; concurrency control; instruction sets; reduced instruction set computing.
A.K. Uht, "A Theory of Reduced and Minimal Procedural Dependencies," IEEE Transactions on Computers, vol. 40, no. 6, pp. 681-692, June 1991, doi:10.1109/12.90247
Usage of this product signifies your acceptance of the Terms of Use.