Introduction to LMC

Similar documents
hlogin2

PowerPoint 프레젠테이션

untitled

PRO1_09E [읽기 전용]

9

Microsoft PowerPoint - 30.ppt [호환 모드]

Microsoft PowerPoint - ch03ysk2012.ppt [호환 모드]

윈도우즈프로그래밍(1)

강의10

RVC Robot Vaccum Cleaner

Microsoft Word - FunctionCall

T100MD+

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

Microsoft PowerPoint - hy2-12.pptx

슬라이드 1

INTRO Basic architecture of modern computers Basic and most used assembly instructions on x86 Installing an assembly compiler and RE tools Practice co

13주-14주proc.PDF

Microsoft PowerPoint - T1 ERS (Elevator Reservation System)SASD2.pptx

Microsoft PowerPoint - chap05-제어문.pptx

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Microsoft Word - 1. ARM Assembly 실습_xp2.doc

Microsoft PowerPoint - 15-MARS

중간고사

학습목표 2/33 마이크로프로세서와마이크로컨트롤러의차이를알수있다. 마이크로프로세서에서프로그램이수행되기위한명령어형식과명령어실행절차를알수있다. 프로그램을수행하려면어떤종류의명령어가필요한지알수있다. 현대컴퓨터의기본모델인저장형프로그램컴퓨터의한계점과그한계를완화하려는방법을알수있다.

2014밝고고운동요부르기-수정3

2005프로그램표지

Microsoft PowerPoint - CHAP-03 [호환 모드]

Week5

歯FDA6000COP.PDF

USER GUIDE

텀블러514

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

PowerPoint 프레젠테이션

0.1-6

Visual Basic 반복문

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

slide2

Modern Javascript

hwp

歯sql_tuning2

Microsoft Word - ExecutionStack

구문 분석

Chapter 4. LISTS

Chapter ...

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

Microsoft PowerPoint - a6.ppt [호환 모드]

/chroot/lib/ /chroot/etc/

Microsoft PowerPoint - e pptx

API 매뉴얼

슬라이드 제목 없음

C# Programming Guide - Types

MPLAB C18 C

Page 2 of 6 Here are the rules for conjugating Whether (or not) and If when using a Descriptive Verb. The only difference here from Action Verbs is wh

한글사용설명서


4 CD Construct Special Model VI 2 nd Order Model VI 2 Note: Hands-on 1, 2 RC 1 RLC mass-spring-damper 2 2 ζ ω n (rad/sec) 2 ( ζ < 1), 1 (ζ = 1), ( ) 1

PowerPoint Template

untitled

Microsoft Word - Armjtag_문서1.doc

외교부 재외국민보호과-pdf

Macaron Cooker Manual 1.0.key

DE1-SoC Board

. 고성능마이크로프로세서 LU 와레지스터 파일의구조 (2.). 직접디지털주파수합성기 (FS) 의구조 3. 고성능마이크로프로세서부동소수점연산기 (Floating-Point Unit) 구조 (2) (2.) (2.) 2. 암호화를위한 VLSI 구조와설계의개요 (2.) 다음참

PowerPoint Template

2 min 응용 말하기 01 I set my alarm for It goes off. 03 It doesn t go off. 04 I sleep in. 05 I make my bed. 06 I brush my teeth. 07 I take a shower.

컴파일러

about_by5

012임수진

금오공대 컴퓨터공학전공 강의자료

김기남_ATDC2016_160620_[키노트].key

PL10

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

6주차.key

歯15-ROMPLD.PDF

08김현휘_ok.hwp

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

해당하는 논문이 있었다. 즉 이런 분류 방식이 중복출판 분류에 충분히 적용 가능함을 알 수 있었다. 또한 과거 분류한 것보다 조금 더 자세히 나누어서 어디에 해당하는지 쉽게 찾을 수 있는 방안이다. 사례를 보고 찾는다면 더욱 쉽게 해당하는 범주를 찾을 수 있을 것이다.

Chap 6: Graphs

Remote UI Guide

PowerPoint 프레젠테이션

PowerSHAPE 따라하기 Calculate 버튼을 클릭한다. Close 버튼을 눌러 미러 릴리프 페이지를 닫는다. D 화면을 보기 위하여 F 키를 누른다. - 모델이 다음과 같이 보이게 될 것이다. 열매 만들기 Shape Editor를 이용하여 열매를 만들어 보도록


Microsoft PowerPoint - polling.pptx

Javascript.pages

Deok9_Exploit Technique

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M.

Chap 6: Graphs

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600


methods.hwp

SIGPLwinterschool2012

Voice Portal using Oracle 9i AS Wireless

슬라이드 1

2002년 2학기 자료구조

10주차.key

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

Microsoft Word - logic2005.doc

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

Transcription:

Introduction to LMC 황선태 국민대학교컴퓨터공학부

Layout of the Little Man Computer 10 12 123 00 01 02 03 97 98 99

Mailboxes 100 개의박스가있는데각박스에는 00 에서 99 까지의주소가할당되어있고그안에는 3 자리숫자가써있는종이한장이들어있다 이때각메일박스의내용과주소는같은개념이아니므로혼동하면안된다 Calculator 3 자리의숫자를입력해서더하거나빼는계산가능하다 숫자를입력하면액정에표시되므로다른숫자를새로입력하거나계산하기전까지는기억이가능하다 00 01 02 03 97 98 99 123

Hand counter Little Man 은이카운터를클릭해서값을하나증가시키거나옆에있는레버를돌려서원하는값으로바꿀수도있다 반면외부에서는리셋해서값을 0 으로만들수있다 Baskets 외부와대화하는유일한방법이다 3 자리숫자가써있는종이를놓거나가져올수있다 바구니가여러개있으므로주소를표시해주어야하고바구니에따라서는종이를놓기만하거나꺼내오기만하는것으로기능의방향이고정될수도있다 10 12

Little Man Operation Little Man 은메일박스에있는종이에기록된 3 자리숫자를다음과같이이해하고미리약속한대로실행한다 3 2 5 Instruction Address 3 자리숫자중한자리는명령으로쓰고나머지두자리는메일박스또는바구니의주소를지정하는데쓴다 이명령을 Operation code 또는 OP code 라고한다

Little Man 을위한명령어들 (1) Instruction 1 Load Little Man 은 instruction 에있는 address 의 mailbox 로가서그안에있는 3 자리숫자를읽어서 calculator 에입력한다 기존에 calculator 에있던숫자는없어지고 mailbox 에있던숫자는그대로있다 Instruction 2 Store Little Man 은 calculator 에있는 3 자리숫자를읽어서 instruction 에있는 address 의 mailbox 에있는종이위에쓴다 기존에 mailbox 에있던숫자는지워진다 하지만기존에 calculator 에있던숫자는그대로있다 Instruction 3 Add Little Man 은 instruction 에있는 address 의 mailbox 에서숫자를읽어서이숫자를 calculator 에이미있는숫자와더한다 calculator 에는이전의값은없어지고더한결과가남아있게된다

Little Man 을위한명령어들 (2) Instruction 4 Subtract Add 와비슷하다 Instruction 5 Input Little Man 은주소에씌인 basket 으로가서종이하나를집어들고 ( 여러개가있으면먼저들어온것 ) 거기에쓰인숫자를 calculator 에입력한다 Instruction 6 Output Little Man 은 calculator 에있는내용을종이에써서주소의 basket 위에얹어놓는다 기존에 calculator 에있던값은바뀌지않는다 Instruction 7 Coffee Break (or Halt) Little Man 은휴식을취한다

Simple Program(1) 510 299 510 399 612 700 위의숫자들은 Little Man 에게어떤의미를갖는가?

Simple Program(2) 사람에게는단순한 6 개수의나열이지만 Little Man Computer 는위의숫자들을다음과같은일련의명령으로인식한다 두개의수를입력받아더해서출력하는프로그램 Code LMC Description (for Human) 510 299 510 399 612 700 Instruction 5 Instruction 2 Instruction 5 Instruction 3 Instruction 6 Instruction 7 Input 10 Store 99 Input 10 Add 99 Output 12 Coffee Break

An Extended Instruction Set Instruction 8 Skip on Condition Little Man 은 calculator 에있는값을읽어서그값이어떤조건을만족하면바로다음명령을건너뛴다 만약에조건이만족하지않으면평소와같이바로다음명령을수행한다 이명령은 address 부분을이용하는데주소지정을위한것이아니라 Little Man 에게조건을알려주기위해사용된다 다음과같이조건을약속할수있다 Address digits (Condition ID) Condition 01 Skip if result in calculator is zero 02 Skip if result in calculator is zero or positive 03 Skip if result in calculator is negative

An Extended Instruction Set(2) Instruction 9 Jump Little Man 은다음명령대신에 address 부분에서가리키는곳에있는명령을실행한다 이는 Hand counter 의값을 address 부분에있는값으로바꿈으로써구현된다 Instruction 0 Nop 000 에대해서는특별히정의하는데아무일도하지않고다음명령어로넘어가도록한다

Little Man 에게일시키기 1 2 3 4 5 6 7 while (value==0) { /* Do something */ } /* Next Statement */ # Addr Code Description 1 2 3 45 190 90 is assumed to contain value 4 46 491 0 is stored at 91 5 47 801 Skip if the value is zero 6 48 960 Exit loop; Jump to /* Next Statement */ 7 49 /* Do something */ 8 59 945 End of /* Do something */; loop test again 9 10 60 /* Next Statement */

Mnemonic 편의를위해서각 instruction 을위해서영문약자를사용하는데이를니모닉 (Mnemonics) 이라고한다 이는 Little Man 이이해할수있는것이아니라단지사람이읽고이해하기편하게하려고전한것이다 대부분의프로그램은 mnemonic 을사용하여표시하고 comment 가뒤따른다

Little Man mnemonic instruction codes Mnemonic Description LDA Load STA Store ADDA Add SUBA Subtract IN Input OUT Output COB or HLT Coffee break (or Halt) SKZ Skip if zero (code 801) SKP Skip if positive or zero (code 802) SKN Skip if negative (code 803) JMP Jump BOX Locate data on storage

Sample Program // positive difference of two numbers IN 10 STA 11 IN 10 STA 12 SUBA 11 SKN test JMP 09 positive already; Goto print LDA 11 negative; reverse order SUBA 12 OUT 12 print result and COB stop BOX 0 used for data BOX 0 used for data 510 211 510 212 411 801 909 111 412 612 700 000 000

The Instruction Cycle Instruction cycle 은두부분으로나눌수있다 1 fetch The Little Man finds out what instruction he is to execute 2 execute He actually performs the work specified in the instruction

Fetch 1) Little Man 은 Hand Counter 에서값을읽는다 2) Hand Counter 가가리키는 Mailbox 의쪽으로가서 3) 그안에있는종이의값을읽는다 ( 나중을위해서그종이는다시넣어놓는다 )

Execute 1) 앞에서 fetch 한명령어의쓰인 Mailbox 의주소로간다 2) 그 Mailbox 의종이에쓰인숫자를읽고나중에필요할때를대비해서기억한다

Execute(2) 3) 계산기쪽으로와서기억한값을입력한다 4) Hand Counter 로와서 counter 를클릭한다

von Neumann architecture 오늘날의컴퓨터는모두가 1945-1951 에 von Neumann 이제시한 architecture 를기본으로하고있다 Von Neumann 아키텍쳐의주요특징은다음과같다 1 Stored program concept: Memory holds both programs and data 2 Linear addressing: There is a single sequential numeric address for each and every memory location 3 Location addressing: Memory is addressed by location number without regard to the data contained within 4 Sequential execution: Instructions are executed sequentially unless an instruction or an outside event (such as the user resetting the location counter) causes a branch to occur