'Computer Science/Computer Architectures' 카테고리의 글 목록 — Archive

Computer Science/Computer Architectures

Computer Science/Computer Architectures

[Computer Architectures] Virtual Memory #2

Virtual Memory #2 - 프로그램은 Virtual Address 상에서 구현되며, 실제 D-RAM에 Access할 때에는 Physical Address를 사용한다. (Virtual Address는 Physical Address로 Translation하기 위한 Mapping 정보는 메인 메모리의 Page Table에 저장되어 있다.) - 데이터나 명령어에 접근하기 위해서는 실질적으로 2회의 Transaction(Memory Access)을 필요로한다. (비효율성) 1. Virtual Address를 Physical Address로 변환할 때, Page Table을 참고하기 위한 메인 메모리 접근 2. 원하는 데이터, 명령어를 가져오고자 할 때, Physical Address를 통한 실질적인 메인..

Computer Science/Computer Architectures

[Computer Architectures] Virtual Memory #1

Virtual Memory #1 - Virtual Memory 기술은 1960년대부터 존재해왔던 기술이다. - 1978년, IBM에서는 Real, Virtual, Transparent, Erased 개념을 기술했다. 1. Real: 실제로 존재하고, 볼 수 있는 것 2. Virtual: 실제론 없으나, 볼 수 있는 것 3. Transparent: 실제로 존재하나, 볼 수 없는 것 4. Erased: 존재하지도 않고, 볼 수도 없는 것 - Virtual Memory는 OS가 지원하는 기술이다. - Secondary Storage는 시스템의 전원이 꺼져도 데이터가 그대로 저장되어 있으며, 메모리 크기는 메인 메모리보다 훨씬 크다. - Processor는 Physical Address*를 이용하여 메인 메모리..

Computer Science/Computer Architectures

[Computer Architectures] Cache #2

Cache #2 - Cache가 포함된 컴퓨터 시스템의 성능을 측정한다. - 여기서, 클럭 사이클은 CPU Execution Clock Cycles(CPU가 연산을 수행하는 데 소요되는 시간), Memory Stall Clock Cycles(Miss등의 이유로 Memory가 Stall되어 CPU가 대기하는 시간)로 구분할 수 있다. - Cache Hit가 발생한 경우, CPU가 별도의 Cycle을 소모하지 않는다 가정한다. - Cache Miss가 발생한 경우, Memory Stall이 수행된다 가정한다. - Memory Stall Clock Cycles의 경우 Read-Stall Cycles와 Write-Stall Cycles로 구성된다. - 여기서, Read-Miss에 대한 Penalty와 Write..

Computer Science/Computer Architectures

[Computer Architectures] Cache #1

Cache #1 - 위 그림은 CPU와 D램 메모리의 성능 추이를 나타낸 그래프이다. - 1980년대의 CPU 성능과 메모리 성능을 1.0이라 설정했다. Moore's Law - 약 1.5년마다, CPU에 집적시킬 수 있는 트랜지스터의 수가 두 배씩 증가한다는 법칙(주장)을 의미한다. - CPU의 성능 향상률에 반해, D램 메모리의 성능 향상률은 매년 7% 선에 그쳤다. - 즉, CPU와 D램 메모리 사이의 성능 간극이 매년마다 50%씩 벌어지고 있는 추세이다. Memory Wall - 컴퓨터 시스템의 전체적인 성능이 CPU에 뒤쳐지고 있는 메모리에 의해 결정되는 현상을 의미한다. SRAM - CPU 내부에 삽입할 수 있으며, 트랜지스터 로직 공정과 동일한 공정을 거친다. - 여타 메모리보다 빠른 성능을..

Computer Science/Computer Architectures

[Computer Architectures] Pipeline MIPS #3

Pipeline MIPS #3 - 명령어와 명령어 사이에 Dependency(의존성)가 존재할 경우에 관한 설명이다. - 그림의 맨 윗쪽에는 시간축이 표시되어 있다. 각 Cycle마다 $s2 레지스터의 상태를 표시하고 있다. (CC : Clock Cycle) - Dependency는 Data 해저드와 Control 해저드를 초래한다. - 첫 번째 sub 명령어에서는 $s2 레지스터가 WB Stage에서 사용하고자 하며, 나머지 명령어들에서는 ID Stage에서 사용하고자한다. - 즉, 첫 번째 sub 명령어와 나머지 명령어들은 $s2 레지스터에 대한 의존성이 있다. - 보통, Flip-Flops에서는 한 사이클에 하나의 값만을 저장하고 있으나, 본 포스트에서는 구현을 달리하여 레지스터 파일이 한 사이클에..

Computer Science/Computer Architectures

[Computer Architectures] Pipeline MIPS #2

Pipeline MIPS #1 - 회로내에 위치한 살구색 바는 Clock 신호에 동기화 된 다수의 Flip-Flops들로 구성된 Pipeline Register를 간단히 표현한 것이다. - Pipeline Register은 범용 레지스터의 한 종류라 볼 수 있다. - WB Stage 이후에는 파이프라인 레지스터가 없는 것을 확인할 수 있는데 이는, WB Stage에서는 레지스터에 값을 바로 쓰고 끝내기 때문에 별도의 파이프라인 레지스터가 필요하지 않다. - 5개의 명령어가 제각기 다른 Stage를 처리하고 있는 모습을 표현한 그림이다. (해저드는 고려하지 않은 형태이다.) - 위 그림에 해당되는 MIPS Assembly Code는 아래의 형태에 가까울 것이다. \(\texttt{lw \$10, 20(\$..

Computer Science/Computer Architectures

[Computer Architectures] Pipeline MIPS #1

Pipeline MIPS #1 - Single Cycle Processor의 경우, Critical Path Delay가 길면 길수록 Clock Frequency가 낮아진다는 단점이 있다. - Critical Path를 줄이는 가장 전통적이고 단순한 방법으로는 Moore's Law에 의존하는 방법이 있다. - 즉, 계속해서 Scaling되는 회로 소자로 인해 전자의 양과 전자의 이동 거리가 줄어들어 똑같은 기능을 더 빠르고 더욱 적은 에너지로 구현할 수 있게 하는 방식이다. - 공정이 5nm 이하로 구현될 수 있다는 의견에는 회의적인 시각이 많다. 즉, 앞으로는 Moore의 법칙에 기댈것이 아니라, 마이크로 아키텍처의 설계를 개선하여 성능을 향상시키는 방향으로 나아가야 한다. - 이에 대한 해결방안(성능..

Computer Science/Computer Architectures

[Computer Architectures] Control Unit | 제어 유닛

Control Unit 제어 유닛 - Instruction Decoding에 의해, 명령어의 Opcode와 Funct가 파악된다. - R-Type 명령어의 6bits Opcode에 의해 그림의 6가지 Control Signal의 값이 결정된다. - R-Type 명령어의 6bits Funct에 의해 ALUControl값이 결정된다. ALUOp[1:0] Meaning 00 Add 01 Subtract 10 Look at \(\texttt{Funct}\) 11 Not Used - ALUOp = 10이라면 해당 명령어는 R-Type 명령어이기 때문에, Funct 코드까지 필히 확인해야되는 상황임을 의미한다. - lw, sw명령어는 OPcode만 파악하여, Add 연산을 지시할 수 있다. - bne, beq 명령..

lww7438
'Computer Science/Computer Architectures' 카테고리의 글 목록