THE Computer Architecture and Organization course is
|
|
|
- Martin Hutchinson
- 10 years ago
- Views:
Transcription
1 Proceedings of the 2013 Federated Conference on Computer Science and Information Systems pp Hands-On Exercises to Support Computer Architecture Students Using EDUCache Simulator Sasko Ristov, Blagoj Atanasovski, Marjan Gusev, and Nenad Anchev Ss. Cyril and Methodius University, Faculty of Information Sciences and Computer Engineering, Rugjer Boshkovikj 16, PO Box 393, 1000 Skopje, Macedonia nenad Abstract EDUCache simulator [1] is developed as a learning tool for undergraduate students enrolled the Computer Architecture and Organization course. It gives the explanations and details of the processor and exploitation of its cache memory. This paper shows a set of laboratory exercises and several case studies with examples on how to use the EDUCache simulator in the learning process. These hands-on laboratory exercises can be also used in learning software performance engineering and to increase the student willingness to learn more hardware based courses in their further studying. Index Terms Education; HPC; CPU Cache; Multiprocessor. I. INTRODUCTION THE Computer Architecture and Organization course is devoted to help the students to understand how the computers work. This course is usually in the first study year and the teaching material is almost always totally new for the students. Computer architecture is acknowledged as a significant part of the body of knowledge and an important area in undergraduate computer science curricula [2], [3]. Learning the course requires huge efforts by the students, especially in case of computer science students. Instead of wanting to know how the hardware (computer) works, they just want to use it as a necessary tool to execute their software programs. While developing programs by using some high-level programming language, the students do not get a clear picture of how they are executed by the computer. This decreases the students interest and deeper understanding in learning of the Computer Architecture and Organization course. Therefore, it makes the teaching even more difficult requiring a lot of effort from both instructors and students [4]. Teachers must not only cover a body of knowledge, but they must motivate students and make the course exciting by selecting appropriate topics, such as which processor should be learned [5]. Today s modern multi-processors consist of multilayer cache memory system [6] to speedup data access balancing the gap between CPU and main memory. This complicates the learning process even more since the students must learn the organization inside the multi-processor, and not only the architecture. We have developed EDUCache simulator [1] that visually presents cache hits and misses, cache line fulfillment, cache associativity problem [7], for both sequential and parallel algorithm execution. In this paper we present several handson exercises for EDUCache simulator that will improve the teaching and alleviate the students learning process. Several predefined examples for special memory patterns that cover data locality and cache set associativity are also presented. The rest of the paper is organized as follows. In Section II we discuss the related work about improving the teaching and learning of computer architecture and other hardware courses for computer science students. Section III briefly describes the Computer Architecture and Organization course. The EDUCache architecture, user interface and different working modes are described in Section IV. The newly proposed handson laboratory exercises and some predefined examples are presented in Section V. The final Section VI is devoted on conclusion and future work. II. RELATED WORK This section presents the existing similar visual simulators that cover the area of computer architecture and organization. We also present the proposed methodologies and laboratory exercises in order to lighten the learning and teaching of the course. A. Hands-on Exercises: Simulation or Real Hardware Introducing appropriate hands-on exercises, homework assignments and projects besides the lectures will make the course more interesting and will provoke the students to dive more deeply to learn how the computer works. Liang [8] performed a nice survey of hands-on assignments and projects. Two approaches exist in organizing the laboratory exercises, i.e., either with visual simulators or working on real hardware. Using appropriate visual simulators on hands-on exercises lightens the teaching process and can significantly improve the students interest in hardware generally [9], [10]. The simulators or web online tools share the laboratory equipment, thus removing the obstacles of cost, time-inefficient use of facilities, inadequate technical support and limited access to design and laboratory resources [11]. Practical work on real hardware is also very important [12], [13], [14]. Wang [15] and Lee [16] proposed FPGA-based configurable processors to be used in laboratory exercises /$25.00 c 2013, IEEE 751
2 752 PROCEEDINGS OF THE FEDCSIS. KRAKÓW, 2013 The students can develop, implement and monitoring both hardware and software of multi-core processor systems on real hardware. B. Teaching Methodologies Several methodologies are developed to teach the hardware courses in general for computer science students. Reinbrecht et al. [17] present a methodology that integrates functionally verified ASIC (Application-Specific Integrated Circuit) soft cores into a FPGA in order to allow the students to learn the fundamentals of hardware and its designs challenges, not only development, but also verification and physical implications. Ackovska and Ristov [18] improved the hands-on laboratory exercises and introduced a new teaching methodology. They divided the exercises in tutorials and tasks. The former are published a week before the exercises as students can prepare for the exercise, while the latter are given to the students during the laboratory exercises. These changes improved students grades without making the course exams easier. Hatfield and Jin [19] designed and developed many laboratory exercises to design and implementation of an operating model of a pipelined processor. Da [20] elaborated the common methods of classroom teaching and experimental teaching and some efficient methods for classroom and laboratory teaching. He [21] addressed five problems related to computer architecture education in multi-core era and suggested a possible solution. C. Visual Simulators We have found many visual simulators that cover a particular fundamental part of computer architecture and organization. Nikolic et al. [9] evaluated many simulators and concluded that some simulators are designed for teaching, some for data profiling, and none of them covers all topics in computer architecture and organization. We [1] have presented a very comprehensive overview of several visual simulators: EduMIPS64 [22] for instruction pipelining, hazard detection and resolution, exception handling, interrupts, and memory hierarchies; Dinero IV [23] for memory hierarchy with various caches on single core systems; CMP$im [24] - based on the Pin binary instrumentation tool; HC-Sim [25] generates traces during runtime and simulates multiple cache configurations in one run; Herruzo s [26] simulator for understanding the cache look up process and writing elements in the cache memory. Misev s [27] visual simulator for ILP dynamic out-oforder executions; Valgrind [28] (with its module Cachegrind) profiler for cache behavior; All these simulators were not primarily developed for teaching the cache memory although most of them are visual. They lack educational features since they are built to complete the simulation as fast as possible rather than to present the architecture and organization of cache memory system in a modern multi-processor. Our EDUCache simulator [1] offers step by step simulation allowing the students to pause the simulation and analyze the cache hits and misses in each cache level. Its power increases with appropriate hands-on exercises. SimpleScalar [29] and SMPCache [30] are additional simulators selected by William Stallings as a simulation tool for the implementation of student projects [31]. SimpleScalar is used for program performance analysis, detailed microarchitectural modeling, and hardware-software co-verification. It supports non-blocking caches, speculative execution, and branch prediction. SMPCache is a widely used simulator in more than 100 universities and research centers. It is a trace-driven simulator for the analysis and teaching of cache memory systems on symmetric multiprocessors, analyzing program locality; influence of the number of processors, cache coherence protocols, schemes for bus arbitration, mapping, replacement policies, cache size (blocks in cache), number of cache sets (for set associative caches), number of words by block (memory block size). Although SMPCache is primary developed as a learning tool for the Computer Architecture and Organization course, it should be redeveloped since it has an option for one cache level and symmetric processor only, while our EDUCache simulator offers simulation of heterogeneous multiprocessor with three cache levels. Our hands-on laboratory exercises proposed in this paper supplements its value. III. THE COMPUTER ARCHITECTURE AND ORGANIZATION COURSE This section briefly describes the Computer Architecture and Organization Course. The course s main objective is to offer the students a clear understanding of the main computer architectures, performance of the computer parts and the whole computer system. It also covers the topics of today s modern multi-chip and multicore multiprocessors, as well as the digital logic circuits. A. Course Organization The teaching of the course is organized in three parts: theoretical lectures with 2 classes per week, theoretical exercises with 2 classes per week and practical exercises with 1 class per week in laboratory. Lectures and theoretical exercises are organized in larger groups of around 100 students, while practical exercises are carried out in computer laboratories in groups of up to 20 students, with each student working on its own workstation. Prerequisites for enrolling in the course are previously completed course in Discrete Mathematics. Theoretical lectures cover the computer abstractions and technology, the computer language (MIPS), computer arithmetic, the processor, memory, storage, and multichip multicore multiprocessors [32]. Theoretical exercises are divided in two parts. The first midterm covers the topics: computer arithmetic, codes and performance parameters, while the second part deals with
3 SASKO RISTOV ET AL.: HANDS-ON EXERCISES TO SUPPORT COMPUTER ARCHITECTURE STUDENTS 753 Fig. 1: Overview of design mode of EDUCache simulator - Creating L3 cache instance digital logic. Hands-on laboratory exercises follow the topics of theoretical exercises. The course can be passed in two ways, i.e., through midterms or final exam. The students must take the theoretical lecture part and exercise part (plus logic circuits) in either way. B. Course Obstacles The previous section briefly describes the course organization. We have analyzed the student results and determined that they had more problems with the topics of theoretical lectures compared to the exercises, and more precisely, the material of the second midterm, i.e., the processor, memory, I/O and parallelization. Our analysis show that although these subjects are covered during the theoretical lectures, neither theoretical nor practical exercises are provided for these topics, since the exercises cover to the design of logic circuits. Even more, IEEE Computer Society and ACM stated that more attention should be given to the multi-core processors architecture and organization, instead of the logic design level [33]. Therefore, we developed the EDUCache simulator that covers these topics. In this paper, we present the hands-on laboratory exercises that will make it even more appropriate in the teaching process, mainly focused on multiprocessor, cache and main memory. IV. EDUCACHE SIMULATOR This section briefly describes the main features, interfaces and user interface of the EDUCache simulator. More details about the EDUCache simulator are presented in [1]. The EDUCache simulator is a platform independent simulator developed in JAVA whoose main simulation is described by a set of Java classes, each for a different CPU cache parameter. It allows the students to design a multi-layer cache system with different multi-core multi-cache hierarchy and to analyze sequential and parallel execution of user algorithm. Each chip can have one or several homogeneous cores. Each core has access to some cache of different cache level (generally L1 to L3). Particular cache can be owned by one, several or all cores of the chip. In general, L1 and L2 caches are private per core in modern multi-processors, while L3 cache is shared among several or all cores. The particular cache level parameters can vary. Cache is determined by cache memory size, cache line size, cache associativity and replacement policy. EDUCache simulator allows the students to configure all these cache parameters and cache levels. A. User Interface The EDUCache simulator user interface is visual and user friendly. It uses the Multiple Document Inteface (MDI) paradigm. The EDUCache simulator works in two modes: Design and Simulation. 1) Design Mode: The students can configure various cache parameters and levels to create instances of cache levels and share them among chip cores. The students create the cache levels with unique ID (UID). Figure 1 depicts an overview of EDUCache simulator user interface in design mode and an example on how a student can very easily create a particular cache level instance, select a replacement policy, set associativity, cache line size, cache size and select unique cache level UID. After creating cache level instances, the students can create a core, selecting cache instances from the list of previously created ones (visible in the table in the right frame) for each cache level. Figure 2 depicts a user interface to create a core with unique Core UID, using previously created cache level instances. Finally, the students can save the created configuration that represents a CPU chip. They configure the core instances, which they prefer to include on the chip and they are prompted where to save the configuration file. After completing a multi-core chip with different caches in the design mode, the students can move to the simulation mode in order to simulate some memory accesses and analyze which of them will generate hit or miss in particular cache level of particular core.
4 754 PROCEEDINGS OF THE FEDCSIS. KRAKÓW, 2013 Fig. 2: Overview of design mode of EDUCache simulator - Creating a CPU core Fig. 3: Overview of Simulation mode - hit in L1 level of core C2, set #8, line #1, address ) Simulation Mode: After a configuration of the CPU chip with multiple cores per chip and multiple cache levels per each core, the students should load the memory addresses and run the simulation. Figure 3 depicts the Simulation mode. Its main window consists of: Simulation Control Menu Bar - is the central control hub for the simulation process. It contains 2 menus, i.e., Simulation and Construction. The latter creates new or loads the existing configuration file for a core. The former loads a study case file, trace file, and operates the simulations (start, pause, stop, or step by step working mode); Loaded Address Trace Frame - shows the contents of the trace file, i.e., which core should read the address and the physical address that is loaded. Verbose Output Frame - shows the addresses that are read by cores, the search in L1 cache and selecting the set in which the address is supposed to map, the result, i.e. cache hit or miss, the cache line number if it is hit and the evicted line if the chosen set was full and read miss is generated; and Visual Representation Frame - is the main feature of simulation mode which gives a visual representation to the lookup process. It represents different levels of the cache level architecture: Core Pane, Cache Sets Pane, Cache Lines Pane, and Cache Line Info Pane. V. HANDS-ON EXERCISES FOR EDUCACHE SIMULATOR This section presents how the EduCache simulator can be used as a tool in the laboratory exercises to introduce the students with the basic concepts of processor and its cache memory.
5 SASKO RISTOV ET AL.: HANDS-ON EXERCISES TO SUPPORT COMPUTER ARCHITECTURE STUDENTS 755 A. General Terms All hands-on laboratory exercises follow the same concept. Each hands-on exercise starts with an explanation of the goal and objectives. Next, a brief coverage of the required topics is presented. This will remind the student of the topics that need to be learned or revised in order to be able to prepare for the exercise and complete it. The exercises should be given to the students a week before the exercise [18]. The objectives are step by step guides on what the student is supposed to do, e.g., configure the simulator, create a certain architecture, execute a simulation or analyze the results from an executed simulation. The guidelines are posed as simple instructions or as learning objectives. Questions are placed between the guidelines alerting the students which areas require more attention. In the end, the students must answer all questions, create the configuration file of the simulator and the simulation result file. B. The Hands-on Exercises This section presents the hands-on laboratory exercises for the EDUCache simulator. We present several exercises, some of which can be gathered or divided according to the available time for the hands-on laboratory exercises. 1) Exercise 1: Intro to EDUCache Environment: The first laboratory exercise is designed to introduce the EDUCache simulator to the students. The exercise goes over the different types of files that the simulator uses. The basic commands require the students to go through a simulation and to analyze the results. Learning objectives include: EDUCache design and simulating modes, loading a cache configuration file, and basic cache memory elements. The exercise concludes with running a simulation on a loaded trace file, creating a new trace file and running the simulation again, finishing with an analysis of the statistics that the simulator presents after the simulation is finished. Although this exercise does not require a lot of students effort, it should be graded. Otherwise, the students may not pay enough attention on learning the elementary controls of the simulator, which will cause them to have trouble with later exercises. 2) Exercise 2: Different Cache Parameters: The second laboratory exercise aims to present the basic parameters of cache memory to the students. That is, the size, associativity and the principles of multiple cache levels. The learning objective of this exercise is for the students to understand how these parameters impact on specific program execution. The principles of time and data locality are covered. The simulator is used to create multiple configurations with different parameters regarding to the cache size. Simulation is realized on a single memory trace. The students must observe into the results of the simulation and compare to find how the different sizes effect the program execution. The final part of the exercise is to determine the smallest size for a cache level that gives the same performance as an infinite cache size. The grading should include optional questions for extra credit to inspire the students to show interest in TABLE I: Example 1 that generates cache misses Size 32B 64B 128B Associativity Replacement FIFO FIFO FIFO Cache line 8B 8B 8B TABLE II: Results of the simulation of the Example 1 Total reads Cache hits Cache misses the exercises since this exercise contains a significant number of tasks (and objectives) that the students must complete. 3) Exercise 3: Overview of Cache Set Associativity and Replacement Policies: The third laboratory exercise goes over the concepts of cache set associativity and replacement policies as one of the more complex cache memory parameters. The exercise shows the impact of these parameters on a specific program execution. The students must create configurations and use them to execute and analyze multiple simulations. A set of address traces is given and the students task is to observe and conclude the optimal replacement policy for each address trace. The exercise also offers the possibility to create experimental configurations which do not usually appear in real systems, such as certain cache levels with certain replacement policy. Another set of objectives takes a look at the influence of the set associativity. C. The Demo Examples In this section we present several demo examples for characteristic memory access patterns in order to lighten the learning and understanding of the processor and its cache memory architecture and organization. 1) Example 1: Cache Miss due to Loosely Data: This example demonstrates the continuous cache misses for the loosely data. Table I presents the example of cache parameters. The trace file forces the access of the elements with 8B offset since we want to force a cache miss for each memory read (each read accesses the element of different cache line). Total 50 reads are realized and the results of the simulation are presented in Table II. 2) Example 2: Each Second Access is Cache Hit due to Data Locality: This example accesses pairs of elements such that each pair is placed in the unique cache line. The cache parameters are presented in Table III. Total 10 reads are realized. The results of the simulation are presented in Table IV. That is, we forced 5 pairs of miss and hit in L1 cache. 3) Example 3: Always Cache Hit due to Data Locality: This example demonstrates how the set associative cache memory generates cache hits for tightly data (data locality) of a single cache line. The cache parameters are the same
6 756 PROCEEDINGS OF THE FEDCSIS. KRAKÓW, 2013 Fig. 4: Simulation of Example 3 TABLE III: Example 2 that generates cache hits for the second access Size 128B 192B 256B Associativity Replacement LRU LRU LRU Cache line 32B 32B 32B TABLE VI: Configuration for Example 4 Size 16B 32B 64B Associativity Replacement FIFO FIFO FIFO Cache line 8B 8B 8B TABLE IV: Results of the simulation of the Example 2 Total reads Cache hits Cache misses as the Example 2 presented in Table III. Since we want to generate a cache hit for each memory access, all addresses in the memory trace are in the range of a single cache line. Total 42 reads are realized. The results of the simulation are presented in Table V. That is, 1 cache miss is generated by the first access, and 41 cache hits by all others. Figure 4 depicts a hit occurring on L1 cache always in the same cache line, as the rightmost pane shows the other cache TABLE V: Results of the simulation of the Example 3 Total reads Cache hits Cache misses lines are empty because all the required elements have been loaded into a single cache line Line #3. 4) Example 4: Cache Associativity Problem: This example demonstrates how the set associative cache memory can generate continuous cache misses if the data access are always in the same cache set, i.e., cache associativity problem [7]. The cache parameters are presented in Table VI. Total of 15 reads are realized, but only 3 different addresses are accessed. The results of the simulation are presented in Table VII. This example results in constant L1 cache misses because of constant eviction of cache lines in the same set. Because we want to generate a cache miss by looking up the same cache set (in our casecacheset#0) for each memory read, all addresses in the memory trace must satisfy Block address = X Number of cache sets. For our configuration, the cache line is 4 bytes, which yields that if the address in main memory is N bytes long, the block address will be the first N 2 bits [6]. Figure 5 depicts a step in the simulation of this exercise. Reading the element stored in address 0 generates a cache miss on the Level 1 cache, because the previous read replaced it from the cache set.
7 SASKO RISTOV ET AL.: HANDS-ON EXERCISES TO SUPPORT COMPUTER ARCHITECTURE STUDENTS 757 Fig. 5: Simulation of Example 4 TABLE VII: Results of the simulation of the Example 4 Total reads Cache hits Cache misses Reading the element will generate cache hit in the Level 2. The rightmost panel shows the loaded addresses in CacheLine#0 in CacheSet#0. VI. CONCLUSION AND FUTURE WORK EDUCache visual simulator offers the students a tool to design their own CPU core with multi level cache memories. It simulates cache misses and hits in particular cache set and memory location for sequential and parallel execution of an algorithm. The students can interactively learn about the cache hierarchy, architecture and organization of private cache level per core or shared cache level among all or a group of cores, the cache capacity and associativity problem, cache line, cache replacement policy, data locality etc. This paper presents several hands-on laboratory exercises to support the students for the Computer Architecture and Organization course, i.e., using the EDUCache simulator they will better understand the architecture and organization of the modern processor and its cache memory. Several predefined examples are also presented to lighten the learning process and increase the students willingness for the Computer Architecture and Organization course. This will help the students to develop their algorithms to achieve maximum performance using the same hardware resources. We will introduce the EDUCache simulator and the handson exercises to this semester in courses Computer Architecture and Organization and Parallel and Distributed Processing, and survey the students about the impact to their willingness for learning the processor and its cache memory. Additional analysis will be realized after finishing the course this year to determine the results of the exams for the topics that cover the EDUCache simulator and the proposed hands-on exercises and examples. REFERENCES [1] B. Atanasovski, S. Ristov, M. Gusev, and N. Anchev, EDUCache simulator for teaching computer architecture and organization, in Global Engineering Education Conference (EDUCON), 2013 IEEE, March 2013, pp [2] R. Shackelford, A. McGettrick, R. Sloan, H. Topi, G. Davies, R. Kamali, J. Cross, J. Impagliazzo, R. LeBlanc, and B. Lunt, Computing curricula 2005: The overview report, SIGCSE Bull., vol. 38, no. 1, pp , Mar [3] M. Stojcev, I. Milentijevic, D. Kehagias, R. Drechsler, and M. Gusev, Computer architecture core of knowledge for computer science studies, Cyprus Computer Society J., vol. 5, no. 4, pp , [4] M. Stolikj, S. Ristov, and N. Ackovska, Challenging students software skills to learn hardware based courses, in Information Technology Interfaces (ITI), Proceedings of the ITI rd International Conference on, june 2011, pp [5] A. Clements, Arms for the poor: Selecting a processor for teaching computer architecture, in Frontiers in Education Conference (FIE), 2010 IEEE, 2010, pp. T3E 1 T3E 6. [6] J. L. Hennessy and D. A. Patterson, Computer Architecture, Fifth Edition: A Quantitative Approach, MA, USA, [7] M. Gusev and S. Ristov, Performance gains and drawbacks using set associative cache, Journal of Next Generation Information Technology (JNIT), vol. 3, no. 3, pp , 31 Aug [8] X. Liang, A survey of hands-on assignments and projects in undergraduate computer architecture courses, in Advances in Computer and Information Sciences and Engineering, T. Sobh, Ed. Springer Netherlands, 2008, pp
8 758 PROCEEDINGS OF THE FEDCSIS. KRAKÓW, 2013 [9] B. Nikolic, Z. Radivojevic, J. Djordjevic, and V. Milutinovic, A survey and evaluation of simulators suitable for teaching courses in computer architecture and organization, Education, IEEE Transactions on, vol. 52, no. 4, pp , nov [10] S. Ristov, M. Stolikj, and N. Ackovska, Awakening curiosity - hardware education for computer science students, in MIPRO, 2011 Proceedings of the 34th International Convention, IEEE Conference Publications, 2011, pp [11] D. Pop, D. G. Zutin, M. E. Auer, K. Henke, and H.-D. Wuttke, An online lab to support a master program in remote engineering, in Proceedings of the 2011 Frontiers in Education Conference, ser. FIE 11. USA: IEEE Computer Society, 2011, pp. GOLC2 1 1 GOLC2 6. [12] I. Kastelan, D. Majstorovic, M. Nikolic, J. Eremic, and M. Katona, Laboratory exercises for embedded engineering learning platform, in MIPRO, 2012 Proc. of the 35th Int. Conv., 2012, pp [13] J. Qian, R. Wang, S. Shi, Y. Zhu, and Z. Xie, Simplifying and integrating experiments of hardware curriculums, in Computer Science and Information Technology (ICCSIT), rd IEEE International Conference on, vol. 9, 2010, pp [14] D. Kehagias and M. Grivas, Software-oriented approaches for teaching computer architecture to computer science students, Journal of Communication and Computer, vol. 6, no. 12, pp. 1 9, Dec [15] X. Wang, Multi-core system education through a hands-on project on fpgas, in Frontiers in Education Conference (FIE), 2011, 2011, pp. F2G 1 F2G 6. [16] J. H. Lee, S. E. Lee, H.-C. Yu, and T. Suh, Pipelined cpu design with fpga in teaching computer architecture, Education, IEEE Transactions on, vol. 55, no. 3, pp , [17] C. Reinbrecht, J. Da Silva, and E. Fabris, Applying in education an FPGA-based methodology to prototype ASIC soft cores and test ICs, in Programmable Logic (SPL), 2012 VIII Southern Conference on, 2012, pp [18] N. Ackovska and S. Ristov, Hands-on improvements for efficient teaching computer science students about hardware, in Global Engineering Education Conference (EDUCON), 2013 IEEE, March 2013, pp [19] B. Hatfield and L. Jin, Improving learning effectiveness with hands-on design labs and course projects for the operating model of a pipelined processor, in Frontiers in Education Conference (FIE), 2010 IEEE, 2010, pp. F1E 1 F1E 6. [20] L. Da, Computer hardware curriculums, curriculum contents and teaching methods, in Computer Science Education, ICCSE 09. 4th International Conference on, 2009, pp [21] L. He, Computer architecture education in multicore era: Is the time to change, in Computer Science and Information Technology (ICCSIT), rd IEEE International Conference on, vol. 9, 2010, pp [22] D. Patti, A. Spadaccini, M. Palesi, F. Fazzino, and V. Catania, Supporting undergraduate computer architecture students using a visual mips64 cpu simulator, Education, IEEE Transactions on, vol. 55, no. 3, pp , aug [23] J. Edler and M. D. Hill, Dinero iv trace-driven uniprocessor cache simulator, [Online]. Available: markhill/dineroiv/ [24] A. Jaleel, R. S. Cohn, C.-K. Luk, and B. Jacob, Cmpsim: A pin-based on-the-fly multi-core cache simulator, in The Fourth Annual Workshop MoBS, co-located with ISCA 08, [25] Y.-T. Chen, J. Cong, and G. Reinman, Hc-sim: a fast and exact l1 cache simulator with scratchpad memory co-simulation support, in Proc. of the 7-th IEEE/ACM/IFIP Int. conf. on HW/SW codesign and system synthesis (CODES+ISSS 11). USA: ACM, 2011, pp [26] E. Herruzo, J. Benavides, R. Quislant, E. Zapata, and O. Plata, Simulating a reconfigurable cache system for teaching purposes, in Microelectronic Systems Education (MSE 07). IEEE International Conference on, 2007, pp [27] A. Misev and M. Gusev, Visual simulator for ILP dynamic OOO processor, in WCAE 04, Proceedings of the workshop on Computer architecture education: in conduction with the 31st International Symposium on Computer Architecture, E. F. Gehringer, Ed. ACM, USA, 2004, pp [28] Valgrind, System for debugging and profiling linux programs, [retrieved: May, 2013]. [Online]. Available: [29] SimpleScalar LLC, Simplescalar tool set, [retrieved: May, 2013]. [Online]. Available: [30] University of Extremadura, Smpcache - simulator for cache memory systems on symmetric multiprocessors, [retrieved: May, 2013]. [Online]. Available: [31] W. Stallings, Computer Organization and Architecture: Designing for Performance, 6th ed. Prentice Hall, [32] D. A. Patterson and J. L. Hennessy, Computer organization and design, forth edition: The hardware/software interface, MA, USA, [33] ACM/IEEE-CS Joint Interim Review Task Force, Computer science curriculum 2008: An interim revision of cs 2001, report from the interim review task force, [Online]. Available: http: //
Successful Implementation of L3B: Low Level Load Balancer
Successful Implementation of L3B: Low Level Load Balancer Kiril Cvetkov, Sasko Ristov, Marjan Gusev University Ss Cyril and Methodius, FCSE, Rugjer Boshkovic 16, Skopje, Macedonia Email: kiril [email protected],
Systems on Chip Design
Systems on Chip Design College: Engineering Department: Electrical First: Course Definition, a Summary: 1 Course Code: EE 19 Units: 3 credit hrs 3 Level: 3 rd 4 Prerequisite: Basic knowledge of microprocessor/microcontroller
Architectures and Platforms
Hardware/Software Codesign Arch&Platf. - 1 Architectures and Platforms 1. Architecture Selection: The Basic Trade-Offs 2. General Purpose vs. Application-Specific Processors 3. Processor Specialisation
EE361: Digital Computer Organization Course Syllabus
EE361: Digital Computer Organization Course Syllabus Dr. Mohammad H. Awedh Spring 2014 Course Objectives Simply, a computer is a set of components (Processor, Memory and Storage, Input/Output Devices)
A Middleware Strategy to Survive Compute Peak Loads in Cloud
A Middleware Strategy to Survive Compute Peak Loads in Cloud Sasko Ristov Ss. Cyril and Methodius University Faculty of Information Sciences and Computer Engineering Skopje, Macedonia Email: [email protected]
Bob Boothe. Education. Research Interests. Teaching Experience
Bob Boothe Computer Science Dept. University of Southern Maine 96 Falmouth St. P.O. Box 9300 Portland, ME 04103--9300 (207) 780-4789 email: [email protected] 54 Cottage Park Rd. Portland, ME 04103 (207)
Reconfigurable Architecture Requirements for Co-Designed Virtual Machines
Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Kenneth B. Kent University of New Brunswick Faculty of Computer Science Fredericton, New Brunswick, Canada [email protected] Micaela Serra
IT 342 Operating Systems Fundamentals Fall 2014 Syllabus
Tuesday 7:20 to 10:00 Bull Run Hall Room 258 James F. Holdener, P.E. Phone: 703 983-2343 (I check this number daily during the week) Email: [email protected] Email is the best method to get hold of me.
COMPUTER ORGANIZATION ARCHITECTURES FOR EMBEDDED COMPUTING
COMPUTER ORGANIZATION ARCHITECTURES FOR EMBEDDED COMPUTING 2013/2014 1 st Semester Sample Exam January 2014 Duration: 2h00 - No extra material allowed. This includes notes, scratch paper, calculator, etc.
Computer Science. General Education Students must complete the requirements shown in the General Education Requirements section of this catalog.
Computer Science Dr. Ilhyun Lee Professor Dr. Ilhyun Lee is a Professor of Computer Science. He received his Ph.D. degree from Illinois Institute of Technology, Chicago, Illinois (1996). He was selected
A Lab Course on Computer Architecture
A Lab Course on Computer Architecture Pedro López José Duato Depto. de Informática de Sistemas y Computadores Facultad de Informática Universidad Politécnica de Valencia Camino de Vera s/n, 46071 - Valencia,
Gildart Haase School of Computer Sciences and Engineering
Gildart Haase School of Computer Sciences and Engineering Metropolitan Campus I. Course: CSCI 6638 Operating Systems Semester: Fall 2014 Contact Hours: 3 Credits: 3 Class Hours: W 10:00AM 12:30 PM DH1153
University of St. Thomas ENGR 230 ---- Digital Design 4 Credit Course Monday, Wednesday, Friday from 1:35 p.m. to 2:40 p.m. Lecture: Room OWS LL54
Fall 2005 Instructor Texts University of St. Thomas ENGR 230 ---- Digital Design 4 Credit Course Monday, Wednesday, Friday from 1:35 p.m. to 2:40 p.m. Lecture: Room OWS LL54 Lab: Section 1: OSS LL14 Tuesday
CHAPTER 1 INTRODUCTION
1 CHAPTER 1 INTRODUCTION 1.1 MOTIVATION OF RESEARCH Multicore processors have two or more execution cores (processors) implemented on a single chip having their own set of execution and architectural recourses.
AC 2007-2027: A PROCESSOR DESIGN PROJECT FOR A FIRST COURSE IN COMPUTER ORGANIZATION
AC 2007-2027: A PROCESSOR DESIGN PROJECT FOR A FIRST COURSE IN COMPUTER ORGANIZATION Michael Black, American University Manoj Franklin, University of Maryland-College Park American Society for Engineering
RARITAN VALLEY COMMUNITY COLLEGE COMPUTER SCIENCE (CS) DEPARTMENT. CISY 102 - Computer Literacy
I. Basic Course Information RARITAN VALLEY COMMUNITY COLLEGE COMPUTER SCIENCE (CS) DEPARTMENT CISY 102 - Computer Literacy A. Course Number and Title: CISY-102, Computer Literacy B. Date of Proposal or
2010-2011 Assessment for Master s Degree Program Fall 2010 - Spring 2011 Computer Science Dept. Texas A&M University - Commerce
2010-2011 Assessment for Master s Degree Program Fall 2010 - Spring 2011 Computer Science Dept. Texas A&M University - Commerce Program Objective #1 (PO1):Students will be able to demonstrate a broad knowledge
ENGG*4420 Real Time Systems Design Fall 2015
ENGG*4420 Real Time Systems Design Fall 2015 School of Engineering (Revision 0: September 10, 2015) 1 INSTRUCTIONAL SUPPORT 1.1 Instructor Instructor: Radu Muresan, Ph.D., P.Eng. Office: RICH 2509, ext.
International Workshop on Field Programmable Logic and Applications, FPL '99
International Workshop on Field Programmable Logic and Applications, FPL '99 DRIVE: An Interpretive Simulation and Visualization Environment for Dynamically Reconægurable Systems? Kiran Bondalapati and
Information Systems. Administered by the Department of Mathematical and Computing Sciences within the College of Arts and Sciences.
Information Systems Dr. Haesun Lee Professor Dr. Haesun Lee is a Professor of Computer Science. She received her Ph.D. degree from Illinois Institute of Technology, Chicago, Illinois (1997). Her primary
Accelerate Cloud Computing with the Xilinx Zynq SoC
X C E L L E N C E I N N E W A P P L I C AT I O N S Accelerate Cloud Computing with the Xilinx Zynq SoC A novel reconfigurable hardware accelerator speeds the processing of applications based on the MapReduce
Exploring Computer Science A Freshman Orientation and Exploratory Course
Exploring Computer Science A Freshman Orientation and Exploratory Course Stephen U. Egarievwe and Vivian J. Fielder Center for Internet Based Education and Research Department of Mathematics and Computer
Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip
Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip Ms Lavanya Thunuguntla 1, Saritha Sapa 2 1 Associate Professor, Department of ECE, HITAM, Telangana
7a. System-on-chip design and prototyping platforms
7a. System-on-chip design and prototyping platforms Labros Bisdounis, Ph.D. Department of Computer and Communication Engineering 1 What is System-on-Chip (SoC)? System-on-chip is an integrated circuit
LSN 2 Computer Processors
LSN 2 Computer Processors Department of Engineering Technology LSN 2 Computer Processors Microprocessors Design Instruction set Processor organization Processor performance Bandwidth Clock speed LSN 2
Introduction to System-on-Chip
Introduction to System-on-Chip COE838: Systems-on-Chip Design http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer Engineering Ryerson University
Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students
Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent
ADVANCED COMPUTER ARCHITECTURE
ADVANCED COMPUTER ARCHITECTURE Marco Ferretti Tel. Ufficio: 0382 985365 E-mail: [email protected] Web: www.unipv.it/mferretti, eecs.unipv.it 1 Course syllabus and motivations This course covers the
Lecture N -1- PHYS 3330. Microcontrollers
Lecture N -1- PHYS 3330 Microcontrollers If you need more than a handful of logic gates to accomplish the task at hand, you likely should use a microcontroller instead of discrete logic gates 1. Microcontrollers
Rethinking the First Year Programming Course
Rethinking the First Year Programming Course William David Lubitz Assistant Professor, School of Engineering, University of Guelph [email protected] Abstract The use of microcontrollers in beginning
FACULTY OF POSTGRADUATESTUDIES Master of Science in Computer Engineering The Future University
FACULTY OF POSTGRADUATESTUDIES Master of Science in Computer Engineering The Future University 2 Table of Contents: Page I. Introduction 1 II. Philosophy of the Program 2 III. Aims of the Program 2 IV.
RARITAN VALLEY COMMUNITY COLLEGE COURSE OUTLINE. CISY 103 Computer Concepts and Programming
RARITAN VALLEY COMMUNITY COLLEGE COURSE OUTLINE CISY 103 Computer Concepts and Programming I. Basic Course Information A. Course Number and Title: CISY-103, Computer Concepts and Programming B. New or
STUDY AND SIMULATION OF A DISTRIBUTED REAL-TIME FAULT-TOLERANCE WEB MONITORING SYSTEM
STUDY AND SIMULATION OF A DISTRIBUTED REAL-TIME FAULT-TOLERANCE WEB MONITORING SYSTEM Albert M. K. Cheng, Shaohong Fang Department of Computer Science University of Houston Houston, TX, 77204, USA http://www.cs.uh.edu
FPGA area allocation for parallel C applications
1 FPGA area allocation for parallel C applications Vlad-Mihai Sima, Elena Moscu Panainte, Koen Bertels Computer Engineering Faculty of Electrical Engineering, Mathematics and Computer Science Delft University
San José State University Computer Science Department CS 147, Section 03 Introduction to Computer Architecture Fall, 2015
San José State University Computer Science Department CS 147, Section 03 Introduction to Computer Architecture Fall, 2015 Course and Contact Information Instructor: Kaushik Patra Office Location: DH 282
CREATING ON-LINE MATERIALS FOR COMPUTER ENGINEERING COURSES
1 CREATING ON-LINE MATERIALS FOR COMPUTER ENGINEERING COURSES Abstract Suxia Cui 1, and Yonghui Wang 2 1 Electrical and Computer Engineering Department 2 Engieering Technology Department Prairie View A&M
Computer and Information Sciences
Computer and Information Sciences Dr. John S. Eickmeyer, Chairperson Computers are no longer huge machines hidden away in protected rooms and accessible to only a few highly-trained individuals. Instead,
Chapter 1 Computer System Overview
Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Eighth Edition By William Stallings Operating System Exploits the hardware resources of one or more processors Provides
Multi-core Curriculum Development at Georgia Tech: Experience and Future Steps
Multi-core Curriculum Development at Georgia Tech: Experience and Future Steps Ada Gavrilovska, Hsien-Hsin-Lee, Karsten Schwan, Sudha Yalamanchili, Matt Wolf CERCS Georgia Institute of Technology Background
Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students
Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent
FPGA-based MapReduce Framework for Machine Learning
FPGA-based MapReduce Framework for Machine Learning Bo WANG 1, Yi SHAN 1, Jing YAN 2, Yu WANG 1, Ningyi XU 2, Huangzhong YANG 1 1 Department of Electronic Engineering Tsinghua University, Beijing, China
Master Specialization in Digital Design: Design and Programming of Embedded Systems
Master Specialization in Digital Design: Design and Programming of Embedded Systems Jan Schmidt, Ph.D. Department of Digital Design Faculty of Information Technology Czech Technical University in Prague
The WIMP51: A Simple Processor and Visualization Tool to Introduce Undergraduates to Computer Organization
The WIMP51: A Simple Processor and Visualization Tool to Introduce Undergraduates to Computer Organization David Sullins, Dr. Hardy Pottinger, Dr. Daryl Beetner University of Missouri Rolla Session I.
NIOS II Based Embedded Web Server Development for Networking Applications
NIOS II Based Embedded Web Server Development for Networking Applications 1 Sheetal Bhoyar, 2 Dr. D. V. Padole 1 Research Scholar, G. H. Raisoni College of Engineering, Nagpur, India 2 Professor, G. H.
Computer Engineering: Incoming MS Student Orientation Requirements & Course Overview
Computer Engineering: Incoming MS Student Orientation Requirements & Course Overview Prof. Charles Zukowski ([email protected]) Interim Chair, September 3, 2015 MS Requirements: Overview (see bulletin for
CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun
CS550 Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun Email: [email protected], Phone: (312) 567-5260 Office hours: 2:10pm-3:10pm Tuesday, 3:30pm-4:30pm Thursday at SB229C,
Resource Allocation Schemes for Gang Scheduling
Resource Allocation Schemes for Gang Scheduling B. B. Zhou School of Computing and Mathematics Deakin University Geelong, VIC 327, Australia D. Walsh R. P. Brent Department of Computer Science Australian
Course Development of Programming for General-Purpose Multicore Processors
Course Development of Programming for General-Purpose Multicore Processors Wei Zhang Department of Electrical and Computer Engineering Virginia Commonwealth University Richmond, VA 23284 [email protected]
CS 51 Intro to CS. Art Lee. September 2, 2014
CS 51 Intro to CS Art Lee September 2, 2014 Announcements Course web page at: http://www.cmc.edu/pages/faculty/alee/cs51/ Homework/Lab assignment submission on Sakai: https://sakai.claremont.edu/portal/site/cx_mtg_79055
Implementation of Embedded Web server using TEA algorithm
Implementation of Embedded Web server using TEA algorithm Arunkumar G 1, Dr. T.C. Manjunath 2, Harish H.M 3, Jayaprakasha.H 4 1 Department of E&C, S.T.J.I.T, Ranebennur 2 Principal, HKBKCE, Bangalore 3,4
A New MSc Curriculum in Computer Science and Mathematics at the University of Zagreb
A New MSc Curriculum in Computer Science and Mathematics at the University of Zagreb Robert Manger, Goranka Nogo, Mladen Vuković Department of Mathematics, University of Zagreb Bijenička cesta 30, 10000
In-Memory Databases Algorithms and Data Structures on Modern Hardware. Martin Faust David Schwalb Jens Krüger Jürgen Müller
In-Memory Databases Algorithms and Data Structures on Modern Hardware Martin Faust David Schwalb Jens Krüger Jürgen Müller The Free Lunch Is Over 2 Number of transistors per CPU increases Clock frequency
High Performance or Cycle Accuracy?
CHIP DESIGN High Performance or Cycle Accuracy? You can have both! Bill Neifert, Carbon Design Systems Rob Kaye, ARM ATC-100 AGENDA Modelling 101 & Programmer s View (PV) Models Cycle Accurate Models Bringing
CS 394 Introduction to Computer Architecture Spring 2012
CS 394 Introduction to Computer Architecture Spring 2012 Class Room/Hours: NA (Online course) Lab Room/Hours: NA Instructor: Abu Asaduzzaman (Dr. Zaman) Office Room: 253 Jabara Hall E-mail: [email protected]
DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING
DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING Fall 2000 The instructions contained in this packet are to be used as a guide in preparing the Departmental Computer Science Degree Plan Form for the Bachelor's
http://www.ece.ucy.ac.cy/labs/easoc/people/kyrkou/index.html BSc in Computer Engineering, University of Cyprus
Christos Kyrkou, PhD KIOS Research Center for Intelligent Systems and Networks, Department of Electrical and Computer Engineering, University of Cyprus, Tel:(+357)99569478, email: [email protected] Education
ESE566 REPORT3. Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU
ESE566 REPORT3 Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU Nov 19th, 2002 ABSTRACT: In this report, we discuss several recent published papers on design methodologies of core-based
Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing
www.ijcsi.org 227 Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing Dhuha Basheer Abdullah 1, Zeena Abdulgafar Thanoon 2, 1 Computer Science Department, Mosul University,
Sequential Performance Analysis with Callgrind and KCachegrind
Sequential Performance Analysis with Callgrind and KCachegrind 4 th Parallel Tools Workshop, HLRS, Stuttgart, September 7/8, 2010 Josef Weidendorfer Lehrstuhl für Rechnertechnik und Rechnerorganisation
Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah
(DSF) Soft Core Prozessor NIOS II Stand Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de [email protected] NIOS II 1 1 What is Nios II? Altera s Second Generation
SOS: Software-Based Out-of-Order Scheduling for High-Performance NAND Flash-Based SSDs
SOS: Software-Based Out-of-Order Scheduling for High-Performance NAND -Based SSDs Sangwook Shane Hahn, Sungjin Lee, and Jihong Kim Department of Computer Science and Engineering, Seoul National University,
Low-resolution Image Processing based on FPGA
Abstract Research Journal of Recent Sciences ISSN 2277-2502. Low-resolution Image Processing based on FPGA Mahshid Aghania Kiau, Islamic Azad university of Karaj, IRAN Available online at: www.isca.in,
Using Web-based Tools to Enhance Student Learning and Practice in Data Structures Course
Using Web-based Tools to Enhance Student Learning and Practice in Data Structures Course 1. Introduction Chao Chen January 2014 The purpose of this project is to enhance student learning and practice in
THE dynamic way of living enforces the companies to. Implementation of a Network Based Cloud Load Balancer
Proceedings of the 2014 Federated Conference on Computer Science and Information Systems pp. 775 780 DOI: 10.15439/2014F454 ACSIS, Vol. 2 Implementation of a Network Based Cloud Load Balancer Sasko Ristov,
How To Understand And Understand An Operating System In C Programming
ELEC 377 Operating Systems Thomas R. Dean Instructor Tom Dean Office:! WLH 421 Email:! [email protected] Hours:! Wed 14:30 16:00 (Tentative)! and by appointment! 6 years industrial experience ECE Rep
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises Daniel Baudisch, Manuel Gesell and Klaus Schneider Embedded Systems Group, University of Kaiserslautern,
ELEC 5260/6260/6266 Embedded Computing Systems
ELEC 5260/6260/6266 Embedded Computing Systems Spring 2016 Victor P. Nelson Text: Computers as Components, 3 rd Edition Prof. Marilyn Wolf (Georgia Tech) Course Topics Embedded system design & modeling
Design of Remote Laboratory dedicated to E2LP board for e-learning courses.
Proceedings of the E2LP Workshop Warsaw, 2014, pp. 25 29 DOI: 10.15439/2014F672 ACSIS, Vol. 4 Design of Remote Laboratory dedicated to E2LP board for e-learning courses. Jan Piwiński Email: [email protected]
Enhance student s learning with an aid of simulation software to understand Computer Networking Undergraduate courses.
Enhance student s learning with an aid of simulation software to understand Computer Networking Undergraduate courses. Veeramani Shanmugam [email protected] Lenin Gopal [email protected] Zeya
MsC in Advanced Electronics Systems Engineering
MsC in Advanced Electronics Systems Engineering 1 2 General overview Location: Dijon, University of Burgundy, France Tuition Fees : 475 / year Course Language: English Course duration: 1 year Level: Second
Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001
Agenda Introduzione Il mercato Dal circuito integrato al System on a Chip (SoC) La progettazione di un SoC La tecnologia Una fabbrica di circuiti integrati 28 How to handle complexity G The engineering
CS 40 Computing for the Web
CS 40 Computing for the Web Art Lee January 20, 2015 Announcements Course web on Sakai Homework assignments submit them on Sakai Email me the survey: See the Announcements page on the course web for instructions
VHDL DESIGN OF EDUCATIONAL, MODERN AND OPEN- ARCHITECTURE CPU
VHDL DESIGN OF EDUCATIONAL, MODERN AND OPEN- ARCHITECTURE CPU Martin Straka Doctoral Degree Programme (1), FIT BUT E-mail: [email protected] Supervised by: Zdeněk Kotásek E-mail: [email protected]
Department of Computer Science
82 Advanced Biochemistry Lab II. (2-8) The second of two laboratory courses providing instruction in the modern techniques of biochemistry. Experiments are performed on the isolation, manipulation and
imtech Curriculum Presentation
imtech Curriculum Presentation Effective from Batch 2015 Onwards April, 2015 Course Structure Every course has a fixed number of credits associated with it (e.g., 4 credits) One has to earn 200 credits
A Practical Approach to Education of Embedded Systems Engineering
A Practical Approach to Education of Embedded Systems Engineering Özgür Yürür Department of Electrical Engineering University of South Florida Tampa, Florida, 33620 [email protected] Wilfrido Moreno
EEC 119B Spring 2014 Final Project: System-On-Chip Module
EEC 119B Spring 2014 Final Project: System-On-Chip Module Dept. of Electrical and Computer Engineering University of California, Davis Issued: March 14, 2014 Subject to Revision Final Report Due: June
Seeking Opportunities for Hardware Acceleration in Big Data Analytics
Seeking Opportunities for Hardware Acceleration in Big Data Analytics Paul Chow High-Performance Reconfigurable Computing Group Department of Electrical and Computer Engineering University of Toronto Who
Curriculum for a Master s Degree in ECE with focus on Mixed Signal SOC Design
Curriculum for a Master s Degree in ECE with focus on Mixed Signal SOC Design Department of Electrical and Computer Engineering Overview The VLSI Design program is part of two tracks in the department:
RUNAHEAD EXECUTION: AN EFFECTIVE ALTERNATIVE TO LARGE INSTRUCTION WINDOWS
RUNAHEAD EXECUTION: AN EFFECTIVE ALTERNATIVE TO LARGE INSTRUCTION WINDOWS AN INSTRUCTION WINDOW THAT CAN TOLERATE LATENCIES TO DRAM MEMORY IS PROHIBITIVELY COMPLEX AND POWER HUNGRY. TO AVOID HAVING TO
Soft processors for microcontroller programming education
Soft processors for microcontroller programming education Charles Goetzman Computer Science University of Wisconsin La Crosse [email protected] Jeff Fancher Electronics Western Technical College
How To Balance A Web Server With Remaining Capacity
Remaining Capacity Based Load Balancing Architecture for Heterogeneous Web Server System Tsang-Long Pao Dept. Computer Science and Engineering Tatung University Taipei, ROC Jian-Bo Chen Dept. Computer
Design and Development of Virtual Instrument (VI) Modules for an Introductory Digital Logic Course
Session ENG 206-6 Design and Development of Virtual Instrument (VI) Modules for an Introductory Digital Logic Course Nikunja Swain, Ph.D., PE South Carolina State University [email protected] Raghu Korrapati,
FAULT TOLERANCE FOR MULTIPROCESSOR SYSTEMS VIA TIME REDUNDANT TASK SCHEDULING
FAULT TOLERANCE FOR MULTIPROCESSOR SYSTEMS VIA TIME REDUNDANT TASK SCHEDULING Hussain Al-Asaad and Alireza Sarvi Department of Electrical & Computer Engineering University of California Davis, CA, U.S.A.
Designing Programming Exercises with Computer Assisted Instruction *
Designing Programming Exercises with Computer Assisted Instruction * Fu Lee Wang 1, and Tak-Lam Wong 2 1 Department of Computer Science, City University of Hong Kong, Kowloon Tong, Hong Kong [email protected]
Multi-Threading Performance on Commodity Multi-Core Processors
Multi-Threading Performance on Commodity Multi-Core Processors Jie Chen and William Watson III Scientific Computing Group Jefferson Lab 12000 Jefferson Ave. Newport News, VA 23606 Organization Introduction
synthesizer called C Compatible Architecture Prototyper(CCAP).
Speed Improvement of AES Encryption using hardware accelerators synthesized by C Compatible Architecture Prototyper(CCAP) Hiroyuki KANBARA Takayuki NAKATANI Naoto UMEHARA Nagisa ISHIURA Hiroyuki TOMIYAMA
RESEARCH ON THE APPLICATION OF WORKFLOW MANAGEMENT SYSTEM IN COLLABORATIVE PLATFORM FOR ENGLISH TEACHING
Computer Modelling and New Technologies, 2013, vol. 17, no. 3, 93 98 Transport and Telecommunication Institute, Lomonosov 1, LV-1019, Riga, Latvia RESEARCH ON THE APPLICATION OF WORKFLOW MANAGEMENT SYSTEM
Computer Organization
Computer Organization and Architecture Designing for Performance Ninth Edition William Stallings International Edition contributions by R. Mohan National Institute of Technology, Tiruchirappalli PEARSON
