'공부/마이크로프로세서'에 해당되는 글 2건

  1. 2011.08.19 MIPS 요약
  2. 2011.08.17 코어의 수와 성능


MIPS
RISC  마이크로 프로세서.
RISC - CPU 명령어 갯수를 줄여서 하드웨어 구조를 간단하게 만드는 방식. 

메모리 주소가 바이트 단위가 아닌, 워드단위( 4바이트)


byte order

big endian: 가장 낮은 주소부분에 MSB가 온다.

little endian: 가장 낮은 주소부분에 LSB가 온다.


Stored program concept

명령어는 숫자로 표현되어 메모리에 저장된다.

명령어를 패치를 해서 레지스터로 로드한다.


Frame pointer

스택 프레임의 첫번째 워드를 가리킨다.

Stack pointer

다음 이용할 스택 주소를 가리킨다. 프로그램 실행 중에 계속 변한다.


Addressing Mode

MIPS명령어에서 주소 표현 어떻게 하는지

Register addressing - 레지스터 이름으로

Base or displacement addressing - 레지스터가 베이스주소고, 상수값의 offset이 주어진다.

Immediate addressing - 상수를 직접 넣는다.

PC-relative addressing - PC와 상수의

Pseudodirect addressing - 점프 명령어와 32bit 주소를 만들기 위해 26bit에 앞에 pc의 상위 4bit를 붙인다. 30Bitword 가리킬 수 있다.


Assembler

assembly 언어를 목적 파일로 변환해준다.

모든 레이블을 주소값으로 전환시켜준다.


목적 파일에는 headertext segment, data segment, relocation information, symbol table등이 있다.

헤더에는 이름 ,text size, data size등이 저장, text segment에는 코드저장, data segment에는 전역변수나, 스태틱 변수가 저장. Relocation information에는 명령어레이블, 라이브러리 명령어의 메모리 주소 저장, symbol table에는 레이블의 메모리 주소 저장.


링커

각 어셈블된 머신 랭귀지 프로그램들을 하나의 실행 가능한 프로그램을 결합시켜준다.


Static library

실행코드에 포함되어 있다. 사용되지 않아도 메모리에 포함된다.

Dynamic library

필요할 때 메모리에 로드된다.

DLL (dynamic link library)

반복해서 사용하는 코드들을 따로 바이러리로 만들어놓고, 필요할 때마다 사용하기 위해서 사용.


Loader

목적파일을 위한 메모리를 할당해주고, 스택에 argcargv같은 값을 저장. 레지스터 초기화, program entry point로 점프.

'공부 > 마이크로프로세서' 카테고리의 다른 글

코어의 수와 성능  (0) 2011.08.17


Posted by skyjumps


코어가 많이 늘어난다고 해서 그에 비례하는 성능이 생기는 것은 아니다.
왜냐하면 코어가 많아질 수록 코어 간에 공유되는 메모리가 많아지고 정확하게 처리하기 위한 작업이 복잡해지기 때문이다.

참고사이트
http://geekeno.wordpress.com/category/development/parallel/ 

'공부 > 마이크로프로세서' 카테고리의 다른 글

MIPS 요약  (0) 2011.08.19


Posted by skyjumps