3-digit Computer 2017. 3. 15 순천향대학교 컴퓨터공학과 하상호.

Slides:



Advertisements
Similar presentations
제철고 프로그래밍언어 2015 가을학기 연습 #1 Python 연산식 이다훈 POSTECH 컴퓨터공학과 2015 년 9 월 23 일.
Advertisements

제철고 프로그래밍언어 2015 가을학기 강의 #2 Python 변수, 입출력, 배열 박성우 POSTECH 컴퓨터공학과 2015 년 9 월 30 일.
Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
출석수업 과제 – 총 5문제, 10월 25일 제출 정보통계학과 장영재 교수.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
Database Laboratory, Hong Ik University
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
제7강 학습 내용 주소지정 방식의 예 값 즉시 지정 방식과 실행 예 레지스터 직접지정 방식 메모리 직접지정 방식과 실행 예
자료 구조: Chapter 3 (2)구조체, 포인터
5장 배열 작성자 : 변재현.
어셈블리 문법 보강 4월 10일.
System Programming 제1장 배경지식 시스템 프로그래밍.
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
For/While Syntax & Practice!!
DK-128 ADC 실습 아이티즌 기술연구소
임베디드 실습 # LED, 7’Segment 제어
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
CAS (Computer Algebra System) 소개
Homework #5 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
보고서 #5(제출기한: 10/14) 다음 문제를 해결하시오.
C++프로그래 밍 컴퓨터정보과 / 이기희교수.
프로그래밍 개요
어서와 C언어는 처음이지 제14장.
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
메모리 관리 & 동적 할당.
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express Slide 1 (of 22)
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
2. 컴퓨터 시스템의 동작 명령어 구성 연산 종류와 기능에 따라 오퍼랜드 부분을 다양하게 활용 가능.
자바 5.0 프로그래밍.
ARM Development Suite v1.2
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
ATmega128의 특징 아이티즌 기술연구소
CAS (Computer Algebra System) 소개
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
함수(Function) ◈ 함수의 개념 및 사용 이유 ◈ 함수 정의, 호출 및 선언 ◈ 지역변수와 전역변수 ◈ return 문
알고리즘 알고리즘이란 무엇인가?.
제 15 강 문자와 코드 shcho.pe.kr.
DK-128 개발환경 설정 아이티즌 기술연구소
에어 PHP 입문.
보고서 #2(제출기한: 09/23) 다음 문제를 해결하시오. (7)
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
Homework #8 (실습 #7) [1/2] 다음을 수행하는 PHP 프로그램을 작성하여 프로그램과 결과물을 프린트하여 제출한다. sin(45º), cos(45º), tan(45º)를 출력하는 프로그램을 작성하시오. 피보나치 수를 구하는 함수 fib($n)을 작성하고,
TVM ver 최종보고서
3.2 분기 명령어.
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
3장 (2) 구문과 의미론 순천향대학교 컴퓨터공학과 하상호.
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
실 습 2.
Report #2 (기한: 3/16) 데이터 구조 과목의 수강생이 50명이라고 가정한다. 이 학생(학번은 2016????으로 표현됨)들의 중간 시험(0~100), 기말 시험(0~100) 성적을 성적 파일에 작성하라(프로그램을 통해서 또는 수작업으로). 성적 파일을 읽어들여서.
Pointers summary.
SPL-Duino 블록 편집기 이용하기 전류센서 블록 만들기 SPL-Duino 블록 편집기를 실행합니다.
1. 실습 시간에 수행한 avd 생성 및 실행, adb shell 접속 및 명령어 수행 결과를 제출한다.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

3-digit Computer 2017. 3. 15 순천향대학교 컴퓨터공학과 하상호

3 digit 컴퓨터 메모리 레지스터 주소: 0 ~999 한 주소에 3자리까지 저장 가정 R0, R1, …, R9 (10개) 레지스터에 3자리 숫자까지 사용 가능 모든 레지스터는 000으로 초기화 가정

3 digit 컴퓨터  

3 digit 컴퓨터 프로그램 일련의 연속된 명령어들로 구성 파일로부터 명령어들을 읽어 들여서 메모리에 저장 프로그램은 메모리의 0번지 명령어부터 실행 명시되지 않은 부분의 메모리는 000으로 초기화 모든 연산 결과는 모듈러 1000으로 계산

3 digit 컴퓨터 다음 프로그램 의미는? 299 1 492 2 495 3 399 4 5 6 7 283 8 279 9 689 10 078 11 100 12 000 …

보고서#2: 3 digit 컴퓨터의 해석기 설계 3 digit 컴퓨터 해석기의 요소 M[1000] ; 메모리 R[10] ; 레지스터 input() ; 입력기 프로그램을 파일로부터 읽어 들여서 메모리에 저장 Interpreter() ; 해석기 다음과 같은 실행-주기로 메모리 0번지부터 명령어를 가져와서 실행 Fetch() ; 메모리로부터 한 개 명령어를 가져와서 R0에 저장 Decode() ; 명령어를 해석하고(명령어와 피연산자들을 식별) Execute() ; 해당 함수를 호출하여 명령어를 해석 print() ; 결과 출력 실행된 명령어의 개수 레지스터 파일, 메모리 파일 출력

main() // M, R 선언 int main() { int counter; // 실행된 명령어의 개수 추적 init(); // M, R을 초기화 input(); // 프로그램을 메모리에 저장하고, counter = interpreter(); // 프로그램을 실행하라 print(counter, M, R); // 결과를 출력하라 return 0; }

Interpreter() interpreter() R1 <- 0; // 첫번째 명령어를 가져오고, do // 명령어를 실행한다. fetch(); // 메모리로부터 명령어를 가져와서 decode(); // 명령어를 해석하고: // (opcode, opnd1, opnd2) execute(); // 명령어를 실행시킨다: // call opcode(opnd1, opnd2) while (halt가 실행될 때까지 반복); End interpreter

테스트 (1) 예제 프로그램을 실행시키고 그 결과를 출력하라. 출력: 실행된 명령어 개수 299 1 492 2 495 3 299 1 492 2 495 3 399 4 5 6 7 283 8 279 9 689 10 078 11 100 12 000 …

테스트 (2) 다음 프로그램을 작성하고 실행시켜라. 1부터 100까지 홀수만을 더하는 프로그램을 3-digit 컴퓨터의 명령어를 이용하여 작성하라. 3-digit 컴퓨터 해석기를 이용하여 작성된 프로그램을 파일로부터 읽어들여서 실행시켜라. 프로그램 실행 결과 값을 메모리 500 번지에 저장하라. 출력: 실행된 명령어 개수, 프로그램 실행 결과 값, 메모리, 레지스터 그 결과를 설명하라.