2009년 04월 02일
4월 1일 OSS Project
2009년 4월 1일 수요일, 만우절, OSS Project 기록 일지
<Cache> : Swap 이라고도 한다.
많은 분야에서 쓰인다.
* Hardware Cache
- Multi Core
- 사용 목적 : 고용량의 저속의 장치
속도를 개선하기 위해 메모리를 임시로 저장함.
- Memory 속도 : 클럭 속도가 매우 많이 올라감 (1066 MHz)
※ CPU 속도는 3.6GHz까지 개발됨
- Cache를 처음 쓴 건 Pentium Classic -> L1 Cache 밖에 없었다.
- CPU에 MMU(Memory Management Unit)가 있었다.
- Pentium 2 : CPU 안에 L1 Cache가 있고, L2 Cache도 있다. (칩은 분리되어 있다.)
: Multi CPU. CPU를 두 개 꽂는다.
- Pentium 3 : CPU 안에 L1 Cache와 L2 Cache가 함께 있다. -> SMP 완벽지원함.
- Core Architecture : CPU 안에 L1 Cache와 L2 Cache가 함께 있고, L3가 따로 붙어 있다. (Dual or Quad Core)
* 어떤 프로그램 A가 있을 때, 비교판단 부분은 같이 수행하겠지만, 연산 부분은 Core1과 Core2로 나눠서 수행할 수 있다.
각 Core안의 값을 동기화 시켜서 계산.
Cache Controller라는 것이 존재하는데, 각각의 Cache사이에서 연결을 해준다.
Cache Controller에 연결된 Cache가 많으면 많을수록 동기화에 의미가 있다.
* Multi-Core : Snoop Operator (Multi Core Protocol)
각각의 코어 값에서 바뀐 부분이 잇으면 각 캐쉬의 내용을 동기화하고 사용 가능하게 변경을 한 후 다시 수행한다.
- MESI (Modified Exclusive-clean Shared Invalid)
1. Modified : 서로 변경된 후
2. Invalid : 메모리 영역을 무효화시키고
3. Shared : 서로 공유를 한 후
4. Exclusive-clean : 서로 각각 의존성이 해결되고 동기화가 된다.
* Pentium 4 Hyper Thread : 연산 확장 기능을 하나의 CPU 안에서 하자.
열처리를 못하고 공정이 너무 크다. -> 구조를 심플하게 하자.
* Core : Pentium3 를 기반으로 또한 구조도 simple // SMP 가능.
Core1 안에 L1 캐쉬가 있고, Core2안에 L2 캐쉬가 있다. 그리고 L3캐쉬는 공용 메모리로 사용된다.
동기화하는 Precess가 무척 간편해짐.
----------------------------------------------------------------------------------------------
*386 Super Computer
1. 처음엔 Network 기반으로 Multi Precess를 하려고 함.
-> Message Precess를 통해 하자.
MPI Library를 이용 -> 네트워크 내의 Super computer
└ 같은 구조의 컴퓨터로 연결
└ 원자, 분자 간 등 여러 계산을 한 번에 가능하게 함.
2. 하드웨어가 개발되면서 네트워크가 필요없어짐
IPMI : 버스 프로토콜 개발
└ 포트가 따로 있음 (컴퓨터끼리 연결)
3. Non-Uniform memory architecture
Numa Platform
에뮬레이션까지 해주지만 자원 X
각각의 Process Node가 각각의 메모리를 갖고 있고 연산 결과도 갖고 있다.
Array Computing (배열구조로)
----------------------------------------------------------------------------------------------
* Shared Memory
Program : HardDisk 에 프로그램 자체
Process : 프로그램이 메모리에 적재되어 있으면 Process (실행되어 돌아갈 수 있을 때)
-> 프로그램을 만들 때 공통되는 부분을 따로 나눠놓자 (Shared Memory : 나눠서 저장함)
* Dynamic Linked Library (동적 링크 라이브러리)
라이브러리를 부르면 OS가 관여하게 된다. (OS : DLL이 있는 지 확인)
Call reference : DLL을 부르는 곳
OS가 메모리에 Call Reference 저장, DLL에서 프로그램이 끝나고 나서 그것을 반환함.
커널은 Static : DLL 사용 불가!
* ARM : Multi-ARM : BIOS가 없다.
# by | 2009/04/02 01:07 | OSS | 트랙백 | 덧글(0)



