159.233 Assignment 3 - The Superpicocomputer!Due 24th May 2019This assignment is concerned with the design of a microcoded control unit for a simple CPU. The Picocomputer described inthe lectures notes has 6 simple instructions. The Superpicocomputer for this assignment has 7 instructions, as follows:Opcode Name Operand Description0 LDA address Load byte in memory at address given by operand into the Accumulator1 STA address Store byte in Accumulator in memory at address given by operand2 ADD address Add byte in memory at address given by operand to the Accumulator3 SUB address Subtract byte in memory at address given by operand from the Accumulator4 JMP address Always fetch next instruction from address given by operand5 JPZ address If Accumulator is zero, fetch next instruction from address given by operand6 JPC address If last Add or Sub operation caused a carry, fetch next instruction from address given byoperandStream has the following filessuperpico.lgf - the log file for the superpicocomputer, you are not allowed to change this.ucodeasm.c - the microcode assemblerpicoucode - the microcode text file with the first two instructions completedThe outputs from the microcode ROM are:oepc, oemem, oeacc, oeconst - output enablesldmar, ldpc, ldacc, ldabr, ldir - load a registerincpc - increment PCwrite - write to memorysub - perform subtraction instead of additionirnext - next microinstruction is at address IR+8carry - bottom bit of next microinstruction address is carry outeqz - bottom bit of next microinstruction address is eq159.233作业代做、代写Superpicocomputer作业、代做c/c++编程语言作业、代写c++实验作业 代写zTo write the microcode, use the microcode assembler, this lets you type in the microcode as text. A line of microcode startswith the number of the instruction followed by a colon, this is followed by the outputs that are to be asserted separated byspaces. A number with a colon before it represents the address of the next micoinstruction and // means the rest of the line is acomment. The microcode assembler inserts the microcode into the superpico.lgf file and opens it in log. You will need to putthe files in your log folder.To start the superpicocomputer, clear the stop input by clicking it, to debug your microcode you can step through it by settingstop and then clicking step repeatedly. To reset the PC, set and then clear the reset input. Note that the datapath is verysimilar to the datapath for the picocomputer.Note that the maximum size of the microprogram is 32 instructions and you cant use oepc and incpc in the samemicroinstruction. The test program should print Fibonacci numbers. If it does not do this, then your microcode does not work.Be aware that your microcode does not print Fibonacci numbers, it executes the instructions in my test program to print thenumbers.You must submit your picoucode file in stream. Submit the text file for your microcode, do not submit the lgf file!.Marks will be awarded for efficient, working microcode. Use comments in the microcode as documentation. Marks will besubtracted for plagiarism, late submission and bad documentation. Even if your microcode does not work, you should stillsubmit it.M Johnson 2019转自:http://www.7daixie.com/2019052140782311.html
网友评论