Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.

Slides:



Advertisements
Similar presentations
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 프로그래밍 언어론 2nd edition Tucker and Noonan 1 장 소 개 A good programming language is a.
Advertisements

컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
마이크로 컨트롤러 Microcontroller.
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
2007년 1학기 전산학개론 성신여자대학교 컴퓨터정보학부
제8장. RISC 및 슈퍼스칼라 프로세서 8.1 RISC의 출현 동기 8.2 RISC의 발전 경위
임베디드 SW 시스템 소개 - 임베디드 운영체제 - 임베디드 리눅스 - 임베디드 인터넷
제4장 명령어 처리.
2장 마이크로프로세서 구성요소 Slide 1 (of 19).
9장 가로채기(Interrupt) Slide 1 (of 15).
기본 컴퓨터의 구조와 설계 Lecture #5.
마이크로프로세서(Microprocessor,µP)
목 차 Chapter 1 컴퓨터와 프로그램 Chapter 2 프로그래밍과 운영체제
기본 컴퓨터 프로그래밍 Lecture #6.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
강좌 개요 2009년 1학기 컴퓨터의 개념 및 실습.
컴퓨터 소프트웨어.
Operating Systems Overview
과목 홈페이지  전산학개론 이메일 숙제를 제출할 경우, 메일 제목은 반드시 ‘[전산학개론]’으로 시작.
컴퓨터구조 – 중간시험 (답안지) 부분점수 (사소한 실수면 -1)
Introduction to Web Service Computing
7장 : 캐시와 메모리.
프로그래밍 언어론 2004년 가을학기 창 병 모 숙명여대 컴퓨터과학과.
임베디드 하드웨어 Lecture #6.
컴퓨터 구조학 정보보호학과.
12. 데이터베이스 설계.
Kasimov C언어 세미나 1st.
DSP와 TMS320F28x의 이해.
7장 마이크로프로세서의 명령어수행과 주소지정 방식 Slide 1 (of 29).
출처: IT CookBook, 컴퓨터 구조와 원리 2.0 제 12장
프로그램 개발과 언어 Chapter 05 컴퓨터의 이해
컴퓨터 구조.
1 컴퓨터 시스템 소개.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
직업 형태 변화 과정 일자리의 변화 ERP (Enterprise Resource Planning) 구분 18~19 세기
강의 내용 및 방법 접근방법 시험 수업은 75분(14:30-15:45), 혹시 부족하면 보강
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
1 마이크로프로세서의 원리 마이크로컨트롤러 AVR ATmega128.
Chapter 7. Pentium Processor
Chapter 08 제어장치와 마이크로 오퍼레이션.
Computer Architecture
6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
Chapter 06 명령어와 번지지정 방식.
3주 컴퓨터구조.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
Power Java 제1장 자바 소개.
10장. 중앙처리 장치의 명령어 다루는 내용 어셈블리 프로그램의 이해 인터럽트(interrupt) 명령어 세트 주소 지정 방식.
2007년 1학기 전산학개론 성신여자대학교 컴퓨터정보학부
쉽게 풀어쓴 C언어 Express 제1장 프로그래밍의 개념 C Express.
Chapter 4 The Von Neumann Model.
Chapter 1 Welcome Aboard.
Lecture 01: Compiler Overview
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
Computer System Architecture
A Web-Based Little Man Computer Simulator
1. 컴퓨터 시스템 구성요소 메모리(Memory) 캐시메모리 개념 캐시메모리의 특징 적중률(hit ratio)
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Chapter 12 Memory Organization
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
Signature, Strong Typing
Signature, Strong Typing
쉽게 풀어쓴 C언어 Express 제1장 프로그래밍의 개념 C Express.
제6장 소프트웨어와 정보시스템 김진수
Signature, Strong Typing
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
임베디드 하드웨어 Lecture #6.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Lecture 7 7-Segment LED controller using u-controller
4-1. 명령어 형식.
Presentation transcript:

Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2

Typical machine design Two cycles: Fetch cycle - get instruction Execute cycle - do operation

Typical machine execution Typical fetch cycle: (M(x) means contents of x) 1. M(IC)  MAR [Memory Address register] 2. IC +1  IC [Instruction Counter] 3. Read memory into MDR [Memory Data Register] 4. MDR  IR [Instruction Register for decoding] Typical execute cycle: (OP R,X, DISP is instruction) 1. IR decoded into OP R, EA OP is operation code (e.g., 8 bits) R is register (e.g., 4 bits -- 16 registers) EA is effective address (e.g., 20 bits) 2. M(X)+DISP  MAR (EA  MAR) 3. Read memory into MDR 4. M(R)  ALU; M(MDR)  ALU 5. Do operation OP in ALU; ALU  R For 500 MHZ: Each instruction 9-10 cycles (50 MIPS) By overlapping fetch and execute cycles, get 60-70 MIPS

Typical machine translation For example in C: As we see later, memory for data in blocks of storage pointed to by a register: X = Y + Z could be translated as: load R1, R2, 28 [Location of Y] add R1, R2, 40 [Location of Z] store R1, R2, 24 [Location of X] Instruction format: Opcode register, index, offset load R1, R2, 24

Software architectures Previously Build program to use hardware efficiently. Often use of machine language for efficiency. Today No longer write directly in machine language. Use of layers of software. Concept of virtual machines. Each layer is a machine that provides functions for the next layer.

Example: Web application Virtual Machines Example: Web application

Binding and Binding Time Binding : program element에 속성 또는 수행에 필요한 요소를 연결하는 것 예 :: 변수  형(type), 기억장소 (memory) , 값, … Binding time : Binding이 일어나는 시간 Execution time (run time) :: 기억장소나 값 On entry to a subprogram or block :: C, C++의 형식인자와 실질인자의 연결 At arbitrary points during execution ::: LISP, SMALLTALK, ML, Java Translation time Bindings chosen by the programmer ::: 변수이름, 형, Bindings chosen by the translator ::: C의 integer 크기, memory class에 따른 기억위치, array의 저장방법 ??? Bindings chosen by the loader (linker) ::: external 변수의 참조

Binding time (Cont.) Language Implementation time One’s complement ? 2’s complement 연산자의 구현 방법, …. Language Definition time Data structure types, statement forms, .. 예 ::: X=X+10 X의 형 translation time C, C++, Java, Ada Run time  LISP, SMALLTALK, PERL X에 넣을 수 있는 값의 집합 X의 값 10의 표현 … 언어정의 시 (10 정수, ’10’), 언어구현 시 (10의 표현) ‘+’의 의미 ‘+’  addition(언어정의 시), overload 해결 (compile 시), 더하기가 구현되는 방법 (implementation time), 실제연산 (execution time)

Binding time and languages C, C++, Ada, FORTRAN  translation time binding (early binding) LISP, ML, Perl, HTML runtime binding (late binding) Binding and scope rule

최근 경향 CISC -> RISC -> CISC (Pentium으로 CPU는 통일???) Multi-core microprocessor : dual-core, twin core Chip-level multiprocessing Thread-level parallelism 법률적 문제!!!! 분산처리, Multi-processing P2P Grid Computing Global network 환경에서 거대한 Grid에 기반한 분산 처리 Sensor network Random, Small World, Scalable network Service-oriented architecture Event-driven approach JINI of SUN, .Net of Microsoft High-parallel processing