카테고리 339 컴퓨터 구조와 프로그램 실행 Computer System Elements 컴퓨터는 다음과 같이 구성되어 있다. Processor(CPU) system operation을 control한다. Main memory 휘발성 저장소로, real memory, primary memory라고도 한다. data와 program을 저장한다. I/O module computer와 external environment 사이에 데이터를 옮긴다. 하드디스크, 디스플레이, 키모드, 마우스 등이 있다. System bus 프로세서, 메인 메모리, I/O module 사이에 통신을 가능하게 한다. Von Neumann Model 컴퓨터의 발전 초기의 컴퓨터는 프로그램이 메모리 안에 내장되어있지 않았다. ENIAC 최초의 general electronic co.. 2021. 4. 3. 1. 컴퓨터 성능 개선/결정 (How to improve) CPU Clocking CPU의 모든 부품들은 clock 주기에 맞춰서 동기(synchronous) 된다. Insturction의 실행(fetch-decode-execute)도 하나의 clock period 안에 수행된다. Clock period (clock cycle time) duratoin of a clock cycle : 클럭의 길이 clock frequency의 역수 Clock frequency (clock rate) cycles per second : 클럭의 주기 Hz 단위를 사용한다. 만약 1.0GHz 주기의 프로세서가 있다면, 1.0GHz = $1 \times 10^9$Hz 이므로, clock period는 $10^{-9}s$, 즉 1ns이다. CPU Time CPU Time은 "CPU c.. 2021. 4. 3. 1. 컴퓨터 성능 (What to Measure, How to Measure) Product Development Paradigm Computer science을 포함한 전반적인 분야에서, 아래 과정이 iterative하게 진행된다. 예를 들어 implementation 개발 중에 interface를 수정/개선해서 다시 진행할 수도 있다. 혹은 테스트 진행 중에 implementation이나 interface을 개선할 수도 있다. 시장, 문제, 요구 분석 및 계획 Design and Implemnetation interface : external, 사용자에게 보여지는 부분 implementation : internal, 내부적인 기능 테스트 및 출시 지속적인 개선 Computer Science 좋은 성능의 컴퓨터을 개발하기 위해서 development cycle이 iterative.. 2021. 4. 3. 성능을 위한 ISA 구현 방법(간략) 성능을 높이기 위한 핵심적인 구현 방법은 다음과 같다. Pipelining Cache memory Pipelining 파이프라인이란, 한 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 형태로 연결된 구조이다. 이를 이용하면 여러 단계가 서로 병렬적으로 수행될 수 있어서 성능이 높아진다. 예를 들어, washer-drier-정리의 단계를 가지는 빨래 작업은 다음과 같이 처리할 수 있다. 3-stage pipeline을 이용한 것인데 이를 통해 작업 속도는 3배 향상된다. Instruction 실행에서도 마찬가지이다. Fetch-Decode-Execute의 반복적인 작업을 3-stage pipeline을 이용하면 성능이 3배 향상된다. 더 많은 stage을 만들어서 파이프라인을 만든다면 하나의 프.. 2021. 3. 27. I/O : Interrupt (+ Atomic) I/O device I/O device의 수는 매우 많고, 접근 속도는 매우 느리다. 또한 사용/통신이 지속적으로 이루어지지 않고, 간혈적으로 이루어진다. I/O device와 통신하는 방식에는 크게 두 가지가 있다. Programmed I/O Interrupt Programmed I/O 프로세서가 주기적으로 I/O 발생 여부를 체크하는 것(periodic polling)이다. 데이터 wirte의 경우, 프로세서가 지정된 위치에 데이터를 넣고 write flag를 변경한다. 그 후 I/O device가 알아서 데이터를 가져간다. 데이터 read의 경우, I/O device가 정해진 위치에 데이터를 넣고 read flag를 변경한다. 프로세서는 이를 주기적으로 체크하여 read flag가 1이면 데이터를 .. 2021. 3. 27. 이전 1 ··· 49 50 51 52 53 54 55 ··· 68 다음