Answer all of the following questions
1. Explain what the term “green computing” means.
2. The von Neumann architecture, which is the basis for most digital computers today, suffers from the von Neumann bottleneck. Explain.
3. Java is called an interpreted language, yet Java is a compiled language that produces a binary output stream. Explain how this language can be both compiled and interpreted.
4. Why should assembly language be avoided for general application development? Under what circumstances would you argue in favour of using assembly language code for developing an application program?
5. Explain how DMA (Direct Memory Access) is different from other ways of I/O controlling mechanisms.
Advantages of Green Computing
The green computing can be referred to the practice where the eco-friendly and environmentally efficient computers and other electronic devices are used. In other words, the green computing is the process of designing, using, manufacturing and disposing of electronic computing devices with the purpose of reducing the negative impact of computing on the environment (Gai, Qiu, Zhao, Tao & Zong, 2016, p.48).
The green computing provides various advantages in terms of enriching the environment while maintaining the need for massive computing. First, through saving resources and energy, the organisations can save capital. Second, the green computing promotes less amount of carbon emission. Instead of having so much potential, the drawback of green computing is its cost. Taken as an example, the electric vehicles are the most popular green computing topic over the last few years (Ahmed, Mahmood & Aslam, 2014, p. 67). Various small startups are showing interest in this product, and the demand for electric vehicles are considerably increasing. There are various barriers to the green computing such as privacy issues. The privacy issues mainly arise from the process of recycling the old devices. The cost of the green computing devices remains as a barrier for the small and medium sized organisation to integrate green computing mechanisms within the business (Saxena, 2015).
Von Neumann Architecture otherwise called the Von Neumann model, the PC comprised of a CPU, memory and I/O gadgets. The program is put away in the memory. The CPU gets a direction from memory at any given moment and executes it. Accordingly, the guidelines are executed successively which is a moderate procedure (Lent et al., 2016, p. 5). Neumann m/c are called control stream PC since direction is executed successively as controlled by a program counter. To build the speed, parallel preparing of PC have been produced in which serial CPU's are associated in parallel to take care of an issue. Indeed, even in parallel PCs, the essential building pieces are Neumann processors (Zhang & Zhou, 2013, p. 15).
The von Neumann architecture is a plan demonstrate for a putaway program advanced PC that uses a handling unit and a solitary separate stockpiling structure to hold both directions and information. It is named after mathematician and early PC researcher John von Neumann. Such a PC executes a widespread Turing machine, and the basic "referential model" of determining successive designs, conversely with parallel structures (Abbott, Sengupta & Kasabov, 2016, p. 1370).
Von Neumann Bottleneck entails that the throughput of the computer system has some limitation because of the associative capability of processors in comparison to top rated data transfer. The bottleneck is a criticism of both the put stored-program model that von Neumann proposed and also the way developers both then and now have adjusted to just thinking in those terms. The hidden feedback is that the programming model depends on information being continually exchanged forward and backwards amongst memory and the preparing unit (Edwards & Keefe, 2016, p. 3). Such an arrangement is inefficient in that a decent rate of the time, that data does not should be exchanged. Present day is reserving, multi-threading and memory get to advancements basic word in the first place, low-dormancy order channel, and numerous more have generally attempted to transform the general engineering into something less von Neumann through equipment reflection.
Disadvantages of Green Computing
Unlike the other computer languages like C/C++, the Java, to perform as a platform independent language, designers needed two include two phases between the source code generating and output. These two phases are compilation stage and interpretation stage. These two phases introduced a new term, bytecode (Neumann & Leis, 2014, p. 3).
Compilation Stage: Within the compilation phase, the Java compiler carries out its job. The compiler's primary task is to convert the source code to bytecode. The Java Bytecode was first introduced in the Java programming langue. The bytecode was not present in the C/C++ programming languages. This source code to bytecode conversion is known as the process called compilation (Marr & Ducasse, 2015, p. 825). The microprocessor does not have the features to read the bytecode as it can only read the binary language.
Interpreter: In order convert the code into microprocessor readable binary format, the Java Interpreter comes into action. The Java Interpreter carries out the task of converting the bytecode into the processor readable binary code. The microprocessor executes the binary code and given output is received. Various operating systems consist of different architectures. The process of converting the bytecode into the machine code is done by the Java interpreter as per the operating system within which it is installed (Kumar, 2015, p. 64). Taken as an example, the Java bytecode for the UNIX and Windows operating system is same, but the binary code will be different. The interpreter that works on the Windows operating system has different features, and internal functions in comparison with the interpreter work on Unix.
The assembly langue lacks in various aspects that are essential for carrying out the development tasks of general applications. Assembly language is the low-level programming language that is used for mainly microprocessor and other programmable devices (Patterson & Hennessy, 2013). The following points are the reason why assembly language is not good for general application development.
Does not provide symbolic names in terms of memory location: It is essential for the developers to keep track of the location of the data. Each piece of data is crucial for the application. If the developer does not have any idea of where the data resides then it can create havoc issues in the development process (Topaloglu & Gurdal, 2015, p. 55). For these reasons, the developers do not prefer the assembly language for general application development. Within this language, direct data manipulation is needed to be done by the developers.
Hard to read: In an application development, various developers works simultaneously. It is important that each developer can understand what the others are doing. If the language is hard to read the understanding the programs can be critical (Patterson & Hennessy, 2013). This may lead to issues in development. Although, improvements in the assembly language has been made by preventing the hex code, the command names are always a critical thing for the developers.
Machine dependent: In order to facilitate the process of development for a general application development, the programming language must be independent of machines. The rewrite of code for different machines will consume a lot of time of the developers. In addition to that, re-writing the codes may lead to issues in the programming. Until the assembly language becomes machine independent, the developers cannot do application development tasks in assembly language (Topaloglu & Gurdal, 2015, p. 55).
Von Neumann Architecture
Hard to debug and maintain: Making mistakes are common in programming. However, the difficulty in reading and understanding the language makes it even harder for the developers to recognise the issues. Resolving the issues, adding new characteristic in the application and maintaining programming efficiency are the part of the application development phase (Comer, 2017). These activities become very hard while the developers work with the assembly language.
Heavy amount of documentation: The developers often need to understand the functionality of the code just by reading those. It is not always possible for the coders to provide heavy documentation against the codes (because of time issues). The improvement in the codes is a general task in development (Nair et al., 2015, p. 17). If the developers do not understand the functions of the code properly, then these improvements are not possible.
Instead of having all the difficulties, the assembly language is a powerful language. Various coders make use of the language in hardware level programming. The hardware level programming language can be referred to the language with string abstraction regarding the descriptions of the computer.
DMA or Direct Memory Access can be considered as the technique that permits an I/O or input/output device to transmit or receive data from the main memory. The process is done through bypassing the central processing unit in terms of increasing the speed of memory operations. DMA controller is the device that responsible for this operation. Taken as an example, often the soundcard needs to access the data resides in the random access memory (Lei, Cong, Yang & Xie, 2014, p. 15). As this device can process the data on its own, it can use the DMA for bypassing the CPU.
The DMA is different than the other I/O controlling devices as it provides two transfer mechanisms such as memory-to-memory and auto initialize.
Memory-to-Memory: In this transfer technique, the interchange between memory address occurs. In this mode current address enlist of channel 0 is utilized to point the source address and the present address enroll of channel is utilized to point the goal address in the main exchange cycle, information byte from the source address is stacked in the transitory enlist of the DMA controller (Sharp, Shah, Marti, Eiriksson & Noureddine, 2014).
Auto initializes: Within this transfer technique, at the time initializing the base address, and loading of word count registers, word count registers and current address is simultaneously loaded (Lei, Cong, Yang & Xie, 2014, p. 15).
Reference List:
Abbott, A., Sengupta, N., & Kasabov, N. (2016). Which method to use for optimal structure and function representation of large spiking neural networks: A case study on the NeuCube architecture. In Neural Networks (IJCNN), 2016 International Joint Conference on (pp. 1367-1372). IEEE.
Ahmed, F., Mahmood, H., & Aslam, A. (2014). Green computing and Software Defects in open source software: An Empirical study. In Open Source Systems and Technologies (ICOSST), 2014 International Conference on (pp. 65-69). IEEE.
Comer, D. (2017). Essentials of computer architecture. CRC Press.
Edwards, J., & O'Keefe, S. (2016). Eager recirculating memory to alleviate the von Neumann Bottleneck. In Computational Intelligence (SSCI), 2016 IEEE Symposium Series on (pp. 1-5). IEEE.
Gai, K., Qiu, M., Zhao, H., Tao, L., & Zong, Z. (2016). Dynamic energy-aware cloudlet-based mobile cloud computing model for green computing. Journal of Network and Computer Applications, 59, 46-54.
Kumar, K. P. R. (2015). Research Scholar,". Study And Analysis of Tree Shaped Fins By Using Fluent" Internation-al Journal of Research and Innovation on Science, Engineering and Technology (IJRISET), 61-66.
Lei, L., Cong, K., Yang, Z., & Xie, F. (2014). Validating direct memory access interfaces with conformance checking. In Proceedings of the 2014 IEEE/ACM International Conference on Computer-Aided Design (pp. 9-16). IEEE Press.
Lent, C. S., Henderson, K. W., Kandel, S. A., Corcelli, S. A., Snider, G. L., Orlov, A. O., ... & Wasio, N. A. (2016). Molecular cellular networks: A non von Neumann architecture for molecular electronics. In Rebooting Computing (ICRC), IEEE International Conference on (pp. 1-7). IEEE.
Marr, S., & Ducasse, S. (2015). Tracing vs. partial evaluation: Comparing meta-compilation approaches for self-optimizing interpreters. ACM SIGPLAN Notices, 50(10), 821-839.
Nair, R., Antao, S. F., Bertolli, C., Bose, P., Brunheroto, J. R., Chen, T., ... & Fleischer, B. M. (2015). Active memory cube: A processing-in-memory architecture for exascale systems. IBM Journal of Research and Development, 59(2/3), 17-1.
Neumann, T., & Leis, V. (2014). Compiling Database Queries into Machine Code. IEEE Data Eng. Bull., 37(1), 3-11.
Patterson, D. A., & Hennessy, J. L. (2013). Computer organization and design: the hardware/software interface. Newnes.
Saxena, S. (2015). Green computing: Need of the hour. Small, 8(2.5), 20W.
Sharp, R., Shah, H., Marti, F., Eiriksson, A., & Noureddine, W. (2014). Remote Direct Memory Access (RDMA) Protocol Extensions.
Topaloglu, T., & Gurdal, O. (2015). A Highly Interactive PC based Simulator Tool for Teaching Microprocessor Architecture and Assembly Language Programming. Elektronika ir Elektrotechnika, 98(2), 53-58.
Zhang, Y., & Zhou, Y. (2013). Transparent computing: Spatio-temporal extension on von Neumann architecture for cloud services. Tsinghua Science and Technology, 18(1), 10-21.
To export a reference to this article please select a referencing stye below:
My Assignment Help. (2021). Green Computing And Von Neumann Architecture: Essay On Advantages, Disadvantages, And Limitations.. Retrieved from https://myassignmenthelp.com/free-samples/comp2300-introduction-to-computer-systems/random-access.html.
"Green Computing And Von Neumann Architecture: Essay On Advantages, Disadvantages, And Limitations.." My Assignment Help, 2021, https://myassignmenthelp.com/free-samples/comp2300-introduction-to-computer-systems/random-access.html.
My Assignment Help (2021) Green Computing And Von Neumann Architecture: Essay On Advantages, Disadvantages, And Limitations. [Online]. Available from: https://myassignmenthelp.com/free-samples/comp2300-introduction-to-computer-systems/random-access.html
[Accessed 13 November 2024].
My Assignment Help. 'Green Computing And Von Neumann Architecture: Essay On Advantages, Disadvantages, And Limitations.' (My Assignment Help, 2021) <https://myassignmenthelp.com/free-samples/comp2300-introduction-to-computer-systems/random-access.html> accessed 13 November 2024.
My Assignment Help. Green Computing And Von Neumann Architecture: Essay On Advantages, Disadvantages, And Limitations. [Internet]. My Assignment Help. 2021 [cited 13 November 2024]. Available from: https://myassignmenthelp.com/free-samples/comp2300-introduction-to-computer-systems/random-access.html.