목록Computer Science/Computer architechture (8)
ecsimsw
Cache 매번 느린 메인 메모리에서 instruction을 가져오는 것이 아닌 프로세서와 메인 메모리 사이에 위치하여 자주 사용하는 명령어를 더 빠르게 가져올 수 있도록 하는 기술이다. instruction을 fetch 할 때, 특히 같은 구간을 반복해서 fetch 할 때, memory안 어떤 주소의 데이터(명령어)가 바뀌지 않는다면 메모리에서 바로 명령어를 가져오는 것이 아닌 좀 더 작고 빠른 장치에서 해당 주소에 해당하는 데이터를 기억해 두었다가 꺼내쓸 수 있는 임시 공간을 만들어서 메모리 접근을 줄인다. 고속의 장치는 비싸다. 가격이 비싸거나, 용량이 적거나, 발열이 크다. 다른 조건(가격, 발열)을 동일하게 한다면 고속의 저장 장치는 더 작은 공간을 갖게 된다. 그 말은 즉 모든 메모리의 데이터..
Pipelining 기존의 파이프라인을 적용하지 않은 멀티사이클 방식은, 한 명령어를 처리하고 그 이후에나 다음 명령어를 처리시켜 ALU를 사용 시에는 메모리가 쉬고, 메모리를 사용 시에는 ALU가 쉬었다. 즉 명령어의 단계 외의 다른 컴포넌트가 IDLE 상태로 처리를 대기하는 식이었다. 파이프라이닝은 여러 명령어를 중첩하여 명령어 처리 단계를 병렬 실행시키는 기술이다. 한 사이클 안에서 여러 명령어를 동시에 처리하여 쉬는 컴포넌트 없이 작업하여 더 효율적인 처리를 가능토록 한다. 위 그림에서의 예시라면 위의 파이프라인을 적용하지 않은 프로세서는 3개의 LW 명령어를 처리하는데 2400ps의 시간을, 아래 파이프파인을 적용한 프로세서는 약 1400의 시간을 사용한다. 이때 3개의 명령어가 아닌, 명령어를..
Single-cycle based mips simulator싱글 사이클 기반의 mips simulator를 디자인한다. github : https://github.com/ecsimsw/simple-computer-architecture/tree/b.single_cycle ConceptsSingle-Cycle processor CPU는 내부 회로를 동작시키기 위해 일정한 주기로 규칙적인 전기 신호를 발생시키는데 이를 Clock이라고 한다. 즉 1 clock cycle은 한 번의 전기 신호를 말하고, 한 클럭에 걸리는 시간을 클럭 주기(Clock Period 또는 Clock cycle time)이라고 한다. 싱글 사이클 프로세서는 그 사이클 동안 하나의 명령어를 처리하는 프로세서를 의미한다. Control..
Cache 매번 느린 메인 메모리에서 instruction을 가져오는 것이 아닌 프로세서와 메인 메모리 사이에 위치하여 자주 사용하는 명령어를 더 빠르게 가져올 수 있도록 하는 기술이다. instruction을 fetch할 때, 특히 같은 구간을 반복해서 fetch할 때, memory안 어떤 주소의 데이터(명령어)가 바뀌지 않는다면 메모리에서 바로 명령어를 가져오는 것이 아닌 좀 더 작고 빠른 장치에서 해당 주소에 해당하는 데이터를 기억해 두었다가 꺼내쓸 수 있는 임시 공간을 만들어서 메모리 접근을 줄인다. 고속의 장치는 비싸다. 가격이 비싸거나, 용량이 적거나, 발열이 크다. 다른 조건(가격, 발열)을 동일하게 한다면 고속의 저장 장치는 더 작은 공간을 갖게 된다. 그 말은 즉 모든 메모리의 데이터가 ..
Pipelining 기존의 파이프라인을 적용하지 않은 멀티사이클 방식은, 한 명령어를 처리하고 그 이후에나 다음 명령어를 처리시켜 ALU를 사용 시에는 메모리가 쉬고, 메모리를 사용 시에는 ALU가 쉬었다. 즉 명령어의 단계 외의 다른 컴포넌트가 IDLE 상태로 처리를 대기하는 식이었다. 파이프라이닝은 여러 명령어를 중첩하여 명령어 처리 단계를 병렬 실행시키는 기술이다. 한 사이클안에서 여러 명령어를 동시에 처리하여 쉬는 컴포넌트 없이 작업하여 더 효율적인 처리를 가능도록 한다. 위 그림에서의 예시라면 위의 파이프라인을 적용하지 않은 프로세서는 3개의 LW 명령어를 처리하는데 2400ps의 시간을, 아래 파이프파인을 적용한 프로세서는 약 1400의 시간을 사용한다. 이때 3개의 명령어가 아닌, 명령어를 ..
Single-Cycle processor CPU는 내부 회로를 동작시키기 위해 일정한 주기로 규칙적인 전기 신호를 발생시키는데 이를 Clock이라고 한다. 즉 1 clock cycle은 한 번의 전기 신호를 말하고, 한 클럭에 걸리는 시간을 클럭 주기(Clock Period 또는 Clock cycle time)이라고 한다. 싱글 사이클 프로세서는 그 사이클 동안 하나의 명령어를 처리하는 프로세서를 의미한다. Control signal 명령어의 종류에 따라 다음 연산의 인자로 들어가는 값을 달리 해야 한다. 이를 테면 Mips에서 Add와 Addi는 ALU 두 인자를 더하는 연산을 처리하는 것은 같지만, 인자로 들어오는 값이 다르다. Add의 경우에는 R[rs]와 R[rt], Addi의 경우에는 R[rs]..
컴퓨터 구조의 8가지 위대한 아이디어 1. Moore : 18~24개월마다 칩에 직접되는 소자의 수가 2배가 된다는 법칙 2. Abstraction : 하위 수준의 구현을 숨김으로 상위 수준의 설계 단순화 3. Common work faster : 자주 생기는 일은 더 빠르게 처리 4. Parallelism : 병렬적으로 작업을 처리하여 선능 개선 5. Pipelining : 프로세서에서 성능을 높이기 위해 명령어 처리를 단계별로 동시에 수행하여 병렬화를 시킴 6. Prediction : 예측으로 미리 일을 수행하는 것이 평균적으로 더 빠른 경우가 있다. 7. Hierarchy of Memories : 메모리에 계층을 둠 8. Dependability : 장애 발생 시 대치할 수 있는 여유분을 둠 컴파일..
Buffer와 Cache 모두 처리 속도가 다른 두 장치에서 효율을 위해 사용하는 장치라고 이해했으나 둘의 명확한 차이가 궁금해 공부했다. 사실 검색으로 그 둘의 개념을 같게 설명하는 페이지가 매우 많았고, 나는 그중에서 나무 위키, 상주시 사이버 캠퍼스 , 다음 오픈 지식 를 주로 참고하였다. Cache와 Buffer는 모두 처리 속도가 다른 두 기기를 더 효율적으로 사용하기 위한 임시 메모리이다. 그중 cache는 속도 향상에 더 집중하여 사용되는데 예를 들어 Cpu가 HDD에서 데이터를 가져와 처리할 때, 처리 속도가 느린 HDD의 데이터를 보조기억장치보다는 빠른 주기억 장치(RAM)에 할당된 임시 메모리(cache)에 저장한다면 CPU는 이 임시 메모리가 가득 찼나만 확인하고 일정 양이 쌓이면 처..