A Simulation Model for Macro- and Micro-Fusion Algorithms in the CPU Core
The article discusses the features of modern processor’s microarchitecture, the method of instruction’s and micro-operation’s accelerated execution. The research focuses on the organization of the decoding stage in the CPU core pipeline and Macro- and Micro-fusion algorithms. The Macro- and Micro-fusion mechanisms are defined. A computer simulator has been developed to explore these mechanisms. The developed software has a user-friendly interface, is easy to use, and combines training and research options. The computer simulator demonstrates the sequence of mechanism’s implementation; the resulting macro- or microoperations set after Macro- and Micro-fusion, and also reflects each algorithm features for different processor’s families. The software allows you to use either a pre-prepared file with Assembler (x86) code fragments as source data, or enter/change the source code fragments at your request. The main combinations of machine instructions that can be fused into a single macro-operation are considered, as well as instructions that can be decoded into fused microoperations. The simulator can be useful both for in Computer Science & Engineering students, especially for on-line education and for researchers and General-purpose CPU cores developers.
Modern desktop processors are super-scalar, that is, they are able to perform several operations on several pairs of operands simultaneously. This is achieved by many ways of parallelizing calculations. The main method is the conveyor processing of machine instructions. Each processor contains from one to several cores. Each core contains one to several instruction pipelines. In fact, the pipeline is the heart of the processor. Understanding the mechanism of its work gives an understanding of the principles of computing in modern computers. A huge number of scientific and practical works are devoted to this issue, but a faster and more visual way to study the principle of conveyor processing is the launch and study of the simulation model of the processor core. In this paper we have built and investigated such a model that allows us to trace the process of executing machine instructions by the processor core pipeline. As a basis for the modeling are taken Intel processor with microarchitecture Nehalem, although the analyzed mechanisms inherent to other modern processors. Modeling system includes the program and methodical recommendations on its use with multiple task options. The computer model considers as an initial data a fragment of machine code on a simplified Assembler. The fragment consists of twenty instructions. Three main types of machine instructions are considered: data transfer between registers and memory cells (four variations), data processing from registers and memory cells (four variations), conditional jump to the specified address. The simulation program automatically generates a new version of the code fragment at startup or at the user's request. To study the principles of the pipeline, it is additionally proposed to specify the following parameters of the pipeline and the code: the number of store/load devices, the number of ALU (Executive devices), the percentage of memory operations. The modeling kit demonstrates the pipeline architecture consisting of two clusters: front-end and back-end and the principle of translating complex multi-cycle CISC-like instructions into simpler RISC-like micro operations (mops). In addition, it is possible to conduct a more detailed simulation of one of the three mechanisms for calculations accelerating in the processor core: multi-functional processing, out-of-order processing, speculative instructions execution after the branch prediction. The program includes four Windows of the model, which reflects the input parameters and simulation results. As a result of the simulation program provides the following options: x to explore the principle of translation of instructions in micro-operation ("MOPs" window), x to study the employment cycles of the main back-end pipiline cluster when executing the given instructions (the "Pipeline" window»), x to examine the time diagram of instructions execution from a given code fragment ("Diagram" window). This modeling kit is useful for studying computer architecture. Understanding the features of the processor is useful for both system developers and programmers. Improving the style of writing programs will speed up their execution by the computer.
A model for organizing cargo transportation between two node stations connected by a railway line which contains a certain number of intermediate stations is considered. The movement of cargo is in one direction. Such a situation may occur, for example, if one of the node stations is located in a region which produce raw material for manufacturing industry located in another region, and there is another node station. The organization of freight traﬃc is performed by means of a number of technologies. These technologies determine the rules for taking on cargo at the initial node station, the rules of interaction between neighboring stations, as well as the rule of distribution of cargo to the ﬁnal node stations. The process of cargo transportation is followed by the set rule of control. For such a model, one must determine possible modes of cargo transportation and describe their properties. This model is described by a ﬁnite-dimensional system of diﬀerential equations with nonlocal linear restrictions. The class of the solution satisfying nonlocal linear restrictions is extremely narrow. It results in the need for the “correct” extension of solutions of a system of diﬀerential equations to a class of quasi-solutions having the distinctive feature of gaps in a countable number of points. It was possible numerically using the Runge–Kutta method of the fourth order to build these quasi-solutions and determine their rate of growth. Let us note that in the technical plan the main complexity consisted in obtaining quasi-solutions satisfying the nonlocal linear restrictions. Furthermore, we investigated the dependence of quasi-solutions and, in particular, sizes of gaps (jumps) of solutions on a number of parameters of the model characterizing a rule of control, technologies for transportation of cargo and intensity of giving of cargo on a node station.
Event logs collected by modern information and technical systems usually contain enough data for automated process models discovery. A variety of algorithms was developed for process models discovery, conformance checking, log to model alignment, comparison of process models, etc., nevertheless a quick analysis of ad-hoc selected parts of a journal still have not get a full-fledged implementation. This paper describes an ROLAP-based method of multidimensional event logs storage for process mining. The result of the analysis of the journal is visualized as directed graph representing the union of all possible event sequences, ranked by their occurrence probability. Our implementation allows the analyst to discover process models for sublogs defined by ad-hoc selection of criteria and value of occurrence probability
Existing approaches suggest that IT strategy should be a reflection of business strategy. However, actually organisations do not often follow business strategy even if it is formally declared. In these conditions, IT strategy can be viewed not as a plan, but as an organisational shared view on the role of information systems. This approach generally reflects only a top-down perspective of IT strategy. So, it can be supplemented by a strategic behaviour pattern (i.e., more or less standard response to a changes that is formed as result of previous experience) to implement bottom-up approach. Two components that can help to establish effective reaction regarding new initiatives in IT are proposed here: model of IT-related decision making, and efficiency measurement metric to estimate maturity of business processes and appropriate IT. Usage of proposed tools is demonstrated in practical cases.