Home

Johnny 1.01

image

Contents

1. ter The address part of the instruction can be put directly onto the address bus ins gt ab or transferred to the program counter ins gt pc which is necessary to implement a JUMP instruction The pro gram counter itself can be copied to the address bus by pc gt ab The micro instruction pc increments the counter 0 pc does the same but only if the accumulator contains zero ins gt mc sets the 100s and 10s places of the micro instruction counter above the micro code to the OP Code in the In struction Register and resets the 1s place to zero The micro instruction mc 0 resets the aeons CONTROL UNIT ins gt ab Instruction Register ins gt mc pc gt ab EI ins gt pc Prg Counter Hassani ran mr i S a X t tia ag Ee ce 8 mn Sir Nee pee ug anh by i Ris oe micro instruction counter stopp is not an instruction in a narrower sense it only forces the simulator to show a message that the program is finished As mentioned above the Control Unit can be masked in order to make things simpler Freeware by Pel Johnny 1 00 ter Dauscher 2009 201 G Code Geel clo MEMORY m Address 012 NULL 012 012 TAKE 012 Micro co ca lao oh 2 FSi CONTROL UNIT ARITHMETIC LOGIC UNIT acc 012 SAVE 012 011 DEC 011 000 TST 000 001 JMP O01 000 HLT 000 ns gt mc acc gt Data Bus Johnny 1 00 Fre
2. changed uAd Op 130 BLA ate Then the Record button is pressed gt The respective part of the micro code is set to zero at first By pressing the buttons of the respective micro instructions the sequence is recorded The recording is indicated by a blinking part of the user interface Pressing the Record button again stops the recording The new micro code can be saved to HD and opened again by ies Saving a micro code creates two files the mpc file contains the micro code itself the nam file the Mmnemonics of the instructions Johnny 1 01 User s Manual 12 15 9 The BONSAI Mode In the 1990s Klaus Merkert and Walter Zimmer implemented a similar simulator BONSAI In order to be able to use the BONSAI instruction set which consists only of five instruc tions namely INC DEC TST JMP and HLT Johnny can be switched to BONSAI mode The pull down menu is then adapted to these instructions some micro instructions unnec essary in this mode are suppressed 9 1 Switching to Bonsai Mode Johnny Options Instruction Sets Used i Johnny Mode C Bonsai Mode Minimal Instruction Set Other Restrictions a window is shown which enables the user to change the mode Attention Changing the op X Cancel tion deletes the RAM con tent completely Attention Changeing the option removes RAM content 9 2 Loading and Saving Programs BONSAI machine programs bma files of the original BONSAI sim
3. CKNOWIEGOGCIMEMS xsrctosedacssancuedaoninbienrocensvebedbcasudiniwateieiveiartinakiveterelaceansvedeceluueists 15 Johnny 1 01 User s Manual 3 15 1 Remark The author of this manual is not a native English speaker So if you find spelling errors grammatical or other mistakes please feel encouraged to report them to improve this user s manual Thank you very much in advance Peter Dauscher peter dauscher gmail com 2 Introduction Most contemporary computers are based upon the Von Neumann Architecture Due to miniaturization most processes in modern computers are hidden to the users and can hardly be observed Therefore simulation is a powerful method to give students an over view about what happens in computers JOHNNY has been developed especially for educational purposes resulting in some sub stantial simplifications compared to real computers 3 Simplifications The simulator can be observed on the level of micro instructions as well as of macro instructions The inner structure of the Control Unit can be masked in order to make things simpler in the beginning Users can program the simulator using an assembler like language The respective macro instructions can be written directly into the memory using a GUI so that syn tax errors are ruled out by construction The Arithmetic Logic Unit consist of one single register acting as accumulator The simulator and its GUI use the decimal system Although this
4. Johnny 1 01 simulation of a Simplified von Neumann Computer Peter Dauscher 2009 2014 Free Software Free as in Freedom User s Manual Johnny 1 01 User s Manual 2 15 Content REMAK oraaa NR 3 2AN OOUCUION acier E E E T E sed ca ane Sie eed 3 Dx SMPC A MOINS sete tcirecad tues T oatruhae saison san wannncsametenden ah nan A E 3 A WING Fe FOC SOM sersa E aa EE aar eE 4 Ate Memory ARAM eerste eE NA 5 A 2 INS AMINIMeUG LOGIC WII sesia a asbenteengacahaadieuievetneeiescutenssat oeacee 5 o ASEE ONT O rE A Te Ce me eet 6 5 The Standard Macro INStruction Seters nencen a E a 7 6 SIMPIE Program EX GIMP SS prane a beanies 8 Fie WIND OU Sct cesee st cera oa t avec tance eaadenascecnaeescanseasvacaaceeeaneeaunacant oe sea sane eraectauasinens 8 6 2 MUIUIDIVING NUMDOTS serrie corsete bale toineunewaatect rete eater e nest oh ee 8 Le VG SCM INUCII ACE siits fate artc A AA 9 8 Creating your OWN Macro INStrUCTIONS ccc ccccceccceeeeeeeeeceeeeeee ceca eeceeseeeseeeaeeeeeeneeeeeseess 11 J le BONSAI MOG G sorena EE AEI 12 91 SWICAING tO BONSal MOOG 2 4 5 2c2 ec hies tect brett a a R 12 9 2 Loading ANd SAVING PrOGLAMS ccccceeccceeccceececececeeceeeeeeseeeeseeseecseeseeeseeseeeeenes 12 10 Legal Stuff Technical Stuff and Acknowledgements c cccccseceeeeeeeeeeseeceeeaeeeeeeaees 13 TOf Legal SIU eee enn ete erecta ened rete tei ere eee mee cee ae 13 10 2 TECNICA SUM aessa NAE 14 TO 3c A
5. d onto the bus b the receiver copies the word from the bus Bus conflicts are therefore ruled out by construction e Micro Code is editable The user can create his own macro instructions simply by choosing an appropriate name and then clicking the sequence of micro instructions with the mouse 4 The Processor The processor consists of three parts the Arithmetic Logic Unit the Memory RAM and the Control Unit These Units are interconnected by busses Johnny 1 00 Freeware by Peter Dauscher 2009 2012 SEE oml oie fare Eea a om a x x 2 z a m gt l acc 0 i 7 N yp N aad x 1 ins gt ab pc gt ab acc y Accumulator MEMORY CONTROL UNIT ARITHMETIC LOGIC UNIT i B Instruction 4 Prg Counter 0 Register P E e 00 000 i 00 000 0 ll Data Bus In the following each unit shall be considered in detail Johnny 1 01 User s Manual 9 15 4 1 Memory RAM The Random Access Mem ory RAM consists of 1000 locations each having the ability to store numbers in the range 0 19999 Conse quently three decimal digits are sufficient to address each location The 10000s place and 1000s place are separated a bit from the other places since they represent the OP Code of the macro in structions Using two push buttons triggering the micro instruc tions ram gt db and db gt ram data from the ad dressed location can be p
6. ed at the given location HLT The simulator shows a message that the program is finished Johnny 1 01 User s Manual 8 15 6 Simple Program Examples 6 1 Adding numbers The following example program adds the values of locations lt 10 gt and lt 11 gt and stores the result in location 12 TAKE ADD SAVE HLT 6 2 Multiplying numbers Multiplication of numbers can be implemented by repeatedly adding one value lt 10 gt to the result location lt 12 gt which is initially set to zero In each loop the value of the other location lt 11 gt is decremented The loop is continued until lt 11 gt has reached value 0 Johnny 1 01 User s Manual 9 15 7 The User Interface The buttons are arranged in two groups Macro Code and Micro Code the latter of which is only displayed if the Control Unit is shown in detail The buttons in the Macro Code group mean Set RAM completely to Zero 00 000 for each location Open a program on HD Save a program to HD Execute the next macro instruction in the RAM Execute the program automatically where the speed can be controlled by the scroll bar to the right of the button BO ei Stop the execution of the program Set the program counter and all other processor pegisters to zero a Show the options window i P T ee L3 If the button a 7 is used to show the Control Unit in detail the followin
7. eware Macro Code i eB it by Peter Dauscher 2009 201 gt gt gt il MEMORY Pall _ Address Bus 09 012 012 012 011 000 001 000 S NULL 012 TAKE 012 SAVE 012 DEC 011 TST 000 IMP 001 HLT 000 oss 000 09 012 og Data Bus CONTROL UNIT Johnny 1 01 User s Manual 7 15 5 The Standard Macro Instruction Set The delivered micro instruction storage contains the microprograms for these 10 macro in structions TAKE The value of the location given by the absolute address is transported to the accumulator SAVE The value of the accumulator is transported to the location given by the abso lute address ADD The value of a location given by the absolute address is added to the value in the accumulator SUB The value of a location given by the absolute address is subtracted from the value in the accumulator INC The value of the location given by the absolute address is incremented DEC The value of the location given by the absolute address is decremented NULL The value of the location given by the absolute address is set to zero TST If and only if the location given by the absolute address has a zero value the next macro instruction is skipped This is a substantial change compared to version 0 98 of the simulator where the value of the accumulator has been tested directly The change has been made for the sake of uniformity JMP The program is continu
8. g buttons are shown Johnny 1 01 User s Manual 10 15 Open a micro code file on HD a Save the current micro code to HD Execute a single micro instruction Record a micro instruction sequence to form a new macro instruction Fc If you click on one RAM location a window appears where the numerical value can be changed or a macro instruction can be chosen from a pull down menu The address can be entered by using the real or a virtual keyboard A double click on the address part sets it to zero The location is set to zero The change is written into the respective location The location remains unchanged By using the right mouse button a context menu is shown This menu permits insertions an deletions in RAM SAVE O12 DEL 012 SAVE 012 O11 DEC 011 em OOO BOE OC 009 00 Johnny 1 01 User s Manual 11 15 With an insertion the block of the next non zero value locations is shifted down by one one zero value location at the end of the block is deleted Similarly with a deletion the non zero value block is shifted up and a zero value location is inserted below the block 8 Creating your own Macro Instructions In order to create a new macro instruction or to change an existing one first an OP Code and a mnemonic must be chosen The latter can be chosen in the pull down menu later on when RAM content is
9. is not very realistic in a technical sense it simplifies the usage especially for beginners being not famil iar with the hexadecimal system So in Johnny 9 8 equals 17 and not 0x11 The data range is 0 19999 the address range is 0 999 Overflows are not allowed 0 1 0 and 19999 1 19999 The instruction set is very small consisting only of 10 macro instructions For sim plicity s sake all instructions use absolute addressing with one address per instruc tion The OP Code is given by the ten thousands place and the thousands place the other places represent the address ADD 42 e g is represented by 02 042 Johnny 1 01 User s Manual 4 15 e In real processors a micro instruction activates in general several lines of the con trolling bus Activating more than one line in real processors however can easily ef fect bus errors if not performed properly Therefore a quite unrealistic simplifica tion has been made Each micro instruction corresponds to one single push button that also can be pushed manually by the user e A macro instruction is simply a sequence of such micro instructions In order to avoid the necessity for simultaneity the data bus has the ability to store a data word which of course is not realistic real buses are simply lines storage is done by processor registers Transferring a data word from one place to another via the data bus is performed in two steps a the sender copies the wor
10. ogram has been developed using the free IDE Lazarus Version 0 9 30 4 http www lazarus freepascal org So at least in theory the program should be able to be compiled to any operating system Lazarus can generate executable files for All graphics have been created using OpenOffice LibreOffice the Gnu Image Manipula tion Program GIMP and InkScape http de openoffice org http de libreoffice org http www gimp org http www inkscape org Johnny 1 01 User s Manual 15 15 10 3 Acknowledgements Thanks to all who have helped to create this simulator indirectly by their activities in the Open Source projects mentioned above Furthermore would like to thank all persons who have provided useful feedback and bug reports My students at the Gymnasium am Kaiserdom Speyer My colleagues Jens Fiedler Ewald Bickelmann Bernd Frohlich Ernst Lothar Stegmaier and all colleagues who have tested the program with their students and found bugs Alexander Gussow and Joachim Brehmer Moltmann who tested the program exten sively from the student s perspective Alexander Domay for the first compilation on a Linux system Klaus Merkert and Tobias Selinger Martin Oehler David Meder Marouelli for useful comments and the encouragement to make Johnny an Open Source project The responsibles of the imedia and MNU conferences who gave me the possibility to present Johnny to a wider audience Wolfgang Laun FH St Polten fo
11. r thorough corrections of this manual Especially those persons have forgotten in my enumeration wish you all much fun and productive work using Johnny Any further bug report or suggestion is appreciated Thanks in advance Peter Dauscher 26 04 2014 peter dauscher gmail com
12. ulator can be opened and written Therefore it is possible to create a BONSAI machine program using JOHNNY and then transfer it to the original simulator which is more complex but also more realistic Therefore there are three file formats for RAM content am Standard JOHNNY RAM content oma Standard Bonsai Machine Programs bij Bonsai Programs saved in Standard JOHNNY format Johnny 1 01 User s Manual 13 15 10 Legal Stuff Technical Stuff and Acknowledgements 10 1 Legal Stuff The program is Open Source and licensed under the GNU GPLv3 http www gnu org licenses gpl 3 0 txt Free Software Free asin Freedom THE SOFTWARE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND EX PRESS OR IMPLIED INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MER CHANTABILITY FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT INNO EVENT SHALL PETER DAUSCHER OR ANY OTHER CONTRIBUTOR BE LIABLE FOR ANY CLAIM DAMAGES OR OTHER LIABILITY WHETHER IN AN ACTION OF CONTRACT TORT OR OTHERWISE ARISING FROM OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE The documentation itself IS licensed under the Creative Commons License CC BY SA http creativecommons org licenses by sa 3 0 de legalcode Johnny 1 01 User s Manual 14 15 10 2 Technical Stuff The program has not to be installed in order to work it can simply be run from any data storage medium The pr
13. ut onto or taken from the bus respectively Johnny 1 00 Freeware by Peter Dauscher 2009 26 FES Gee om MEMORY Address 000 000 r RA Line Add Dat 000 09 012 NULL 012 7 O01 01 012 TAKE 012 012 SAVE 012 011 DEC O11 1005 06 000 TST 000 05 001 IMP 001 007 10 000 HLT 000 oss oo ooo 09 012 Data Bus Sn The locations are editable using the GUI macro instructions can be chosen using a pull down menu In the GUI two sections of the RAM which can overlap are shown Thus the instructions and the affected data can be shown simulta neously 4 2 The Arithmetic Logic Unit The Arithmetic Logic Unit consists merely of the accumula tor The accumulator can be reset acc 0 incremented acc decremented acc transports a data word from the bus into the accumulator acc gt db does the opposite A value from the bus can be added plus or subtracted minus In the so called BONSAI Mode to be explained later in Sec tion 9 some of these micro instructions are suppressed db gt acc te uAd Op filo INN X ARITHMETIC LOGIC UNIT acc gt db Johnny 1 01 User s Manual 6 15 4 3 The Control Unit The most complex part of the processor is the Control Unit It consists of the instruc tion register the program counter and the micro code By db gt ins the content of the bus is transferred to the instruction regis

Download Pdf Manuals

image

Related Search

Related Contents

Samsung GH68-xxxxxA Bluetooth Headset User Manual  DOT3 - 谷川油化興業  Operating and service manual  AmicaWeb - Manuale tecnico  medela® dominant 50 - Schmidt Medizintechnik  Installation manual Emergency Telephone    OPERATING INSTRUCTIONS  取扱説明童 この取扱説明書をよくお読みの上、安全に正しくお  Règlement sur les produits thérapeutiques, les pharmacies et les  

Copyright © All rights reserved.
Failed to retrieve file