Design and build a simple CPU on Logisim and write programs that can run on it. If you haven’t yet, you can download Logisim by following this link: http://www.cburch.com/logisim/download.html

Your design will go through four phases. In the first phase, you will design and build the ALU using Logisim. In the second phase, you will design the instruction set that implements the instructions you designed in phase one. In the third phase, you will design and implement a control unit for this ALU using Logisim. By connecting the CPU to the ALU, you will get a functional CPU. In phase four of the project, you will write assembly language programs for the CPU you built.

Phase One
Start by building an 8-bit ALU using Logisim. This ALU can implement 16 instructions on 8-bit operands. We would suggest the following minimum list of instructions:

Arithmetic addition
Increment
Decrement
Comparison (with 3 outputs: one for equals, one for less than and one for greater than)
Logic bitwise Not
Logic bitwise And
Logic bitwise Or
Register right logic shift
Register left logic shift
In addition to these nine instructions, please suggest five more instructions that the ALU can implement for a total of 14 instructions (we are reserving 2 instructions for branching). Justify the importance of the five instructions you added in a Word doc to submitted as part of this assignment. Label these instructions as ‘Phase One.’

After you’ve suggested and justified your five suggested instructions, please build at least the nine above-mentioned operations as blocks in Logisim.

Phase Two
In phase two of the project, you are required to design the instruction set of the ALU/CPU as follows:

Create the opcode table for the ALU by giving a binary code and a name for each instruction you built in Logisim in phase one.
Decide how many operands you want your instructions to handle and justify your choice. We suggest either one operand with accumulator or two operands with the result stored in one of the input registers.
In Logisim, add a multiplexer to the circuit you built in phase one that chooses one of the available operations. The simplest way to create this part of the CPU is to connect the outputs of the multiplexer to the inputs of AND arrays connected to the output of the operation blocks.
Please record your answer to phase two in the same Word doc and label it ‘Phase Two.’

Phase Three
In phase three, you are required to use Logisim to implement the control unit for at least the following three operations:

addition
logic bitwise AND
right logic shift
In order to finish this phase, you need to add operand registers according to the decision you took for the number of operands in phase two and, if needed, a flag register.

Please record your answer to phase three in the same Word doc and label it ‘Phase Three.’

Phase Four
In order to be able to write assembly language for the CPU we need to add to instructions (without implementation):

branch to an address (name it JMP)
conditional branch to an address (name it CJMP and suppose that the jump takes place if the comparison operation result is ‘equals’)
Now, write the following programs using the assembly language you designed in the previous phases of the project as well as these two branching additional instructions:

Write a program that adds two operands.
Write a program that adds operands until the new value to be added is 0. You do not need to implement the input operations to modify the contents of the registers. Just assume that by the end of each iteration, the register content is modified.
Write a program that increments by 2 the content of a register 10 times.
Write a program that shifts the content of a register until the least significant bit is 0. Think of a way to stop shifting if the content of the register is 11111111 and add it to your program.
Please record your programs in the same Word doc and label them under the section ‘Phase Four.’

Sample Solution

Sample solution

Dante Alighieri played a critical role in the literature world through his poem Divine Comedy that was written in the 14th century. The poem contains Inferno, Purgatorio, and Paradiso. The Inferno is a description of the nine circles of torment that are found on the earth. It depicts the realms of the people that have gone against the spiritual values and who, instead, have chosen bestial appetite, violence, or fraud and malice. The nine circles of hell are limbo, lust, gluttony, greed and wrath. Others are heresy, violence, fraud, and treachery. The purpose of this paper is to examine the Dante’s Inferno in the perspective of its portrayal of God’s image and the justification of hell. 

In this epic poem, God is portrayed as a super being guilty of multiple weaknesses including being egotistic, unjust, and hypocritical. Dante, in this poem, depicts God as being more human than divine by challenging God’s omnipotence. Additionally, the manner in which Dante describes Hell is in full contradiction to the morals of God as written in the Bible. When god arranges Hell to flatter Himself, He commits egotism, a sin that is common among human beings (Cheney, 2016). The weakness is depicted in Limbo and on the Gate of Hell where, for instance, God sends those who do not worship Him to Hell. This implies that failure to worship Him is a sin.

God is also depicted as lacking justice in His actions thus removing the godly image. The injustice is portrayed by the manner in which the sodomites and opportunists are treated. The opportunists are subjected to banner chasing in their lives after death followed by being stung by insects and maggots. They are known to having done neither good nor bad during their lifetimes and, therefore, justice could have demanded that they be granted a neutral punishment having lived a neutral life. The sodomites are also punished unfairly by God when Brunetto Lattini is condemned to hell despite being a good leader (Babor, T. F., McGovern, T., & Robaina, K. (2017). While he commited sodomy, God chooses to ignore all the other good deeds that Brunetto did.

Finally, God is also portrayed as being hypocritical in His actions, a sin that further diminishes His godliness and makes Him more human. A case in point is when God condemns the sin of egotism and goes ahead to commit it repeatedly. Proverbs 29:23 states that “arrogance will bring your downfall, but if you are humble, you will be respected.” When Slattery condemns Dante’s human state as being weak, doubtful, and limited, he is proving God’s hypocrisy because He is also human (Verdicchio, 2015). The actions of God in Hell as portrayed by Dante are inconsistent with the Biblical literature. Both Dante and God are prone to making mistakes, something common among human beings thus making God more human.

To wrap it up, Dante portrays God is more human since He commits the same sins that humans commit: egotism, hypocrisy, and injustice. Hell is justified as being a destination for victims of the mistakes committed by God. The Hell is presented as being a totally different place as compared to what is written about it in the Bible. As a result, reading through the text gives an image of God who is prone to the very mistakes common to humans thus ripping Him off His lofty status of divine and, instead, making Him a mere human. Whether or not Dante did it intentionally is subject to debate but one thing is clear in the poem: the misconstrued notion of God is revealed to future generations.

 

References

Babor, T. F., McGovern, T., & Robaina, K. (2017). Dante’s inferno: Seven deadly sins in scientific publishing and how to avoid them. Addiction Science: A Guide for the Perplexed, 267.

Cheney, L. D. G. (2016). Illustrations for Dante’s Inferno: A Comparative Study of Sandro Botticelli, Giovanni Stradano, and Federico Zuccaro. Cultural and Religious Studies4(8), 487.

Verdicchio, M. (2015). Irony and Desire in Dante’s” Inferno” 27. Italica, 285-297.

This question has been answered.

Get Answer