| 
         Research Projects and Grants  | 
    |
| 
         Homepage | Schedule | Teaching | Publications  | 
    |
| 
         
 A Hybrid SW/HW Approach to Architectural Modeling and Simulation of Many Core CMPs NSTIP Project: 2013- 2015 Total Budget Allocation: SAR 1,044,500 The objective of this project is to develop a 
		framework that includes a software functional simulator and accurate 
		hardware timing simulator of the cache memory hirearchy and 
		interconnection network. Multicore Processor Prototyping NSTIP Project: 2009 - 2011 Total Budget Allocation: SAR 983,000 The major outcome of this project is a prototype multicore processor implemented on high-density FPGA chips. We will implement simple pipelined cores. Our projection is that we can have only one core per FPGA chip. Each core will include an instruction-execution pipeline with a register file, ALU, FPU (for executing floating-point instructions), a thread-fetch unit for fetching and scheduling threads, an instruction cache, a local data memory (or data cache), and a network interface unit (for communication with other cores and access to memory and I/O). Multiple FPGA chips will be used to build a large prototype. Our goal is to produce a quad-core prototype using four FPGA chips. We will also attempt to build a larger prototype with a larger number of cores if we have the resources. 
  | 
      |
| 
         Multicore Vector Processor Design and Simulation KFUPM Internal Project: 2008 - 2010 Total Budget Allocation: SAR 219,800 
		Exploring the idea
		
		of full vector support in a multicore architecture. Current multimedia 
		or streaming instructions cannot take advantage of the increasing number 
		of cores in a chip. Full vector support enables vector instructions 
		issued by a single core to broadcast and execute in all cores, thus 
		exposing and scaling data-level parallelism. The challenge is to have 
		full vector support at the micro-architecture level with minimal 
		extension to current multi-core designs. Part of this study is to 
		examine the effects of the vector support on the chip-interconnect and 
		the cache memory subsystem.  | 
      |
| 
         Parallel Primary Caches for Instruction and Data (2003 - 2005) Studied the effect of having parallel primary caches for 
		instructions and data to improve the bandwidth and capacity of primary 
		caches.  | 
      |
| 
         Multiway Channels for High Speed Interconnection Networks (1999 - 2003) 
		My contribution to this field is the
        development of the new concept of multiway channel. A 
		prototype router chip was designed in VHDL. A simulation program was also developed to
        evaluate the performance of large-scale multi-dimensional mesh and torus
        networks. The simulation program can simulate multiway channel networks 
		of various topologies, sizes, routing algorithms, traffic patterns, 
		message lengths, and buffering requirements in routers and nodes. It can 
		generate a variety of statistics for all nodes and channels in a 
		network. Many problems have been investigated. These include
        deadlocks, broadcasting to a region of nodes, multicasting to an
        arbitrary set of nodes, routing in the presence of faults, and the
        design and implementation of a versatile and reliable router to
        implement networks of various topologies.  | 
      |
| 
         SIMPL Parallel Programming Language (1997 - 1999) My contribution to this area is the development of the SIMPL programming language. SIMPL is a parallel programming language that supports functional- and data-parallelism. This language features threads and parameterized types. A lot of effort has been spent on the implementation of this language. A primitive compiler for a sequential subset of SIMPL has been developed. 
  | 
    |
| 
         Last Updated: Wednesday March 08, 2023, by Dr. Muhamed Mudawar  |