About This Project

This project consists of the design of a computer for statistical analyses based on a Store/Load type architecture. The system is able to insert, delete and sort data (real numbers), and is also able to find some statistical information for the data, including maximum, minimum, mean, mode, median, and standard deviation.

The data for statistical analysis are assumed to be stored sequentially in memory in an array of floating-point numbers. The computer we design is capable of carrying out the high level commands for statistical analysis:

  1. INS<number>: which allows the user to add data items (that is <number>) to the data list (array). New data items are added at the end of the data list;

  2. DEL <position #>: which allows the user to delete a data item at index <position #>, # indicates the position of the data;

  3. SORT: which allows the user to sort the data items by QuickSort algorithm;

  4. FMAX: which allows the user to find the largest data item in the data list;

  5. FMIN: which allows the user to find the smallest data item in the data list;

  6. FMEAN: which allows the user to find the mean of the data items;

  7. FMEDIAN: which allows the user to find the median from all sorted data items, without modifying the original array;

  8. FMODE: which allows the user to find the mode of the data items;

  9. FSD: which allows the user to find the standard deviation of the data items.

The project has two stages. The first stage consists of the design a set of instructions based on the design of memory addressing mode, data types, instruction, data and register size, register set, instruction format, address modes, and assembly programs for each high level program. The second stage, as described here, is to specify the state diagram for the control unit of our machine, to calculate the CPI for our computer and to implement a piece of software for the state diagram of the computer.