L o g o TVM ver. Beta 설계 제안서 www.deu.ac.kr. L o g o www.deu.ac.kr Contents 프로젝트 개요 1 프로젝트 진행일정 2 프로젝트 목표 3 프로젝트 구성 4.

Slides:



Advertisements
Similar presentations
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Advertisements

Ch04 시장으로의 이향 : 전략과 절차 중국경제의 이해. LOGO Contents 시장경제로의 전환에 대한 중국의 접근방법 1 개혁은 어떻게 시작되었나 ? 2 경제개혁의 2 단계 접근법 년까지 시장으로의 이행을 구성한 요소들 4 天安門 간주기 5 개혁의.
Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
아이튠즈 계정 생성. 1. 인터넷을 통해 설치한 아이튠즈를 실행 한 후 그림의 순서대로 선택을 합니다. 1 2.
컴퓨터와 인터넷.
네트워크 기술을 통한 현재와 미래 소개.
Database Laboratory, Hong Ik University
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
제7강 학습 내용 주소지정 방식의 예 값 즉시 지정 방식과 실행 예 레지스터 직접지정 방식 메모리 직접지정 방식과 실행 예
시스템집적반도체 설계 검증 환경과 기법 Ch 7.
어셈블리 문법 보강 4월 10일.
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
System Programming 제1장 배경지식 시스템 프로그래밍.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
5장. 참조 타입.
9장. 제어장치 Lecture #9.
Linux서버를 이용한 채팅프로그램 지도 교수님 : 이형원 교수님 이 름 : 이 은 영 학 번 :
제10강 중앙처리장치 1.
FTP 프로그램 채계화 박재은 박수민.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
DK-128 ADC 실습 아이티즌 기술연구소
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
자바 5.0 프로그래밍.
프로그래밍 개요
Chap 6.Assembler 유건우.
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Mobile braille system for the blind
포인터 1차원 배열과 포인터 2차원 배열과 포인터 문자열 배열과 포인터 포인터 배열
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2. 컴퓨터 시스템의 동작 명령어 구성 연산 종류와 기능에 따라 오퍼랜드 부분을 다양하게 활용 가능.
보고서 (due 5/8) 다음과 같은 방식으로 문제를 해결하시오. 문제 분석 알고리즘 작성 프로그램 작성 테스트 및 검증
자바 5.0 프로그래밍.
ARM Development Suite v1.2
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
자바로 만든 채팅 프로그램 임경진 조주경 지도교수님 : 이광세 교수님.
“사람과 컴퓨터” 이 점 숙 컴퓨터와 소프트웨어 “사람과 컴퓨터” 이 점 숙
제목을 입력해 주세요 ┗ SUB TITLE을 입력해 주세요 홍길동.
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
ATmega128의 특징 아이티즌 기술연구소
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
계산기.
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
사업계획서.
Canary value 스택 가드(Stack Guard).
데이터 동적 할당 Collection class.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
AT MEGA 128 기초와 응용 I 기본적인 구조.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
Flow Diagram IV While.
논리회로 설계 및 실험 4주차.
Chapter 10 데이터 검색1.
TVM ver 최종보고서
발표자 : 이지연 Programming Systems Lab.
3.2 분기 명령어.
Chapter 12 파일 입출력.
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
10장. 컴퓨터 구조에 대한 세 번째 이야기 작성자: 윤성우.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
13. 포인터와 배열! 함께 이해하기.
Assembly 05 방호남 07 반지훈 09 박상욱.
6 객체.
Presentation transcript:

L o g o TVM ver. Beta 설계 제안서

L o g o Contents 프로젝트 개요 1 프로젝트 진행일정 2 프로젝트 목표 3 프로젝트 구성 4

L o g o Hot Tip  What is TVM?  TVM 이란 하드웨어를 구성하는 레지스터, 데이터메모리, 코드메모리를 기반으로 가상컴퓨터 (Vitual Machine) 의 기계어 (Machine Language) 인터프리터 (Interpreter) 를 말한다.

L o g o 프로젝트 개요 레지스터 레지스터는 데이터메모리에 있는 자료들을 입출력하고 연산하는 기능을 함. Hardware 하드웨어 코드메모리 코드메모리는 사용자가 정한 명령들이 집합되어있는 장소로 순차적으로 실행되면서 프로그램을 작동시킨다. 데이터메모리 데이터메모리는 데이터가 저장되는 장소로 레지스터와 상호교환 한다.

L o g o 프로젝트 진행일정 프로젝트 완료 최종점검 코드작성 토의 초안

L o g o 프로젝트 진행일정 8주8주8주8주 8주8주8주8주 기본코드를 분석하여 추가할 수 있는 기능 가능성 토의 9주9주9주9주 9주9주9주9주 8 주 토의내용 바탕으로 구현 가능한 기능과 불가능한 기능 분류 더 추가할 내용 토의 10 주 프로그램코드 작성하여 초안 코드에 대한 오류 및 문법 점검 오류와 추가 가능한 기능 토의

L o g o 프로젝트 진행일정 11 주 프로젝트 초안 확인 및 프로그램 업그레이드 가능성 판별 12 주 작성된 코드의 효율성을 판별하고 프로그램 코드 추가 간에 생긴 오류와 문법적 오류에 대한 토의 13 주 최종보고 준비 및 결과물 최종 점검 프로젝트 작품에 대한 소감 및 의견 수렴

L o g o 프로젝트 진행목표 Purpose 긴 문자열을 처리하는 TVM 의 구현 ADD SUB MUL DIV STACK STRING

L o g o 프로젝트 진행목표 오류없이구현 TVM 기본 순서뒤집기 문자열순서변환 문자열변환 대소문자변환 100 개의문자열 무한대문자열 1 단계 2 단계 3 단계 4 단계

L o g o 프로젝트 진행목표 연산 기본 레지스터연산 연산 후 스택에 저장 값을 Reverse 후 저장

L o g o ADD(stack) reg[D] += reg[S]; 위의 연산 값을 Stack 에 저장한다. 3RM - ADD R 의 값이 0~3 일 경우 reg[R] += data[M]; 3RN - ADD R 의 값이 4~7 일 경우 reg[R] += N; ADD(reverse) reg[D]+=reg[S]; 연산 결과가 ‘123’ 이 나오면 ‘321’ 로 저장시킨다. 프로젝트 진행목표 3RM 3RN 32DS39DS

L o g o 프로젝트 진행목표 100 자리까지 구현 가능한 TVM Add Your Text Char 배열 자리올림 3 의 1000 승

L o g o 프로젝트 구성요소 PC 의 정확한 타겟팅 배열의 정확한 연산 올바른 입출력 / 연산

L o g o 프로젝트 구성요소 명령어 Mnemonic 의미 1RMLoad 단, R=0,1,2,3 reg[R] = data[M]; 1RNLoad 단, R=4,5,6,7 reg[R-4] = N; 2RMStoredata[m] = reg[R]; 3RMADD 단, R=0,1,2,3 reg[R] += data[M]; 3RNADD 단, R=4,5,6,7 reg[R] += N; 32DSADD(stack)reg[D] += reg[S]; 의 값을 stack 에 저장 38DSADDreg[D] += reg[S]; 39DSADD(reverse)reg[D] += reg[S]; 를 하여 123 이 나오면 321 로 저장한다. 4RMSUB 단, R=0,1,2,3 reg[R] -= data[M]; 4RNSUB 단, R=4,5,6,7 reg[R] -= N; 42DSSUB(stack)reg[D] -= reg[S]; 의 값을 stack 에 저장 48DSSUBreg[D] -= reg[S]; 49DSSUB(reverse)reg[D] -= reg[S]; 를 하여 123 이 나오면 321 로 저장한다.

L o g o 프로젝트 구성요소 명령어 Mnemonic 의미 60DSDIVreg[D] /= reg[S]; 61DSMODreg[D] %= reg[S]; 62DSDIV(stack)reg[D] /= reg[S]; 의 값을 stack 에 저장 69DSDIV(reverse)reg[D] /= reg[S]; 의 값이 123 이 나오면 321 을 저장한다. 7RMJNZreg[R] 의 값이 0 이 아니면, 명령어의 실행을 code[M] 으로 이동 ; 80MJUMP 명령어의 실행을 code[M] 으로 이동 ; 910RIN 표준입력으로부터 하나의 정수 n 을 읽어서 reg[R] 에 저장 ; reg[R] = n; 920ROUT reg[R] 의 값을 출력하기 930RPUSHreg[R] 의 값을 STACK 에 PUSH( 저장하기 ) 940RPOPSTACK 으로부터 POP( 읽기 ) 하여 reg[R] 에 저장한다. 95NPUSH_PCPC+N 값을 STACK 에 PUSH( 저장하기 ) 96NPJ_PCPC 값을 STACK 에 PUSH( 저장하기 ) 하고 code(N) 으로 점프 970RPJR_PCPC+N 값을 STACK 에 PUSH( 저장하기 ) 하고 code(reg[r]) 로 점프 9800POP_PCPC 값을 STACK 으로부터 POP( 읽기 )

L o g o Click to edit company slogan.