컴퓨터 공학 37

14.캐시 메모리

1.저장장치의 계층구조(memory hierarchy) 1)정의 : 저장장치의 종류 중에서 CPU와의 거리를 기준으로 잡고 계층적으로 나눈 것. 2)원칙 2.캐시 메모리(Cashe Memory) 1)정의 :CPU와 메모리 사이에 위치하고 레지스터보다 용량이 크고 메모리보다 빠른 SRAM기반의 저장장치. -CPU의 연산속도와 접근속도의 차이를 줄이기 위해 존재함. -캐시 메모리를 사용함으로써 메모리의 접근을 줄이고 빠른 연산을 할 수 있다. *계층적 캐시메모리 캐시메모리는 계층적으로 복수 개가 존재하고 CPU에서 가장 가까운 순서부터 L1,L2,L3 캐시메모리가 있다. *멀티 코어 프로세스의 캐시메모리 3.참조 지역성의 원리 1)정의 및 개요 -CPU가 메모리에 접근할 때 주된 경험을 바탕으로 만들어진 원..

13.메모리의 주소공간

1.메모리의 주소공간 1)물리 주소(physics address): 정보가 저장된 하드웨어가 사용하는 주소 2)논리주소(logical address): CPU가 실행중인 프로그램 주소. -프로그램이 자신이 어디에 주소가 저장되는지 다 알 수 없다. -프로그램마다 논리주소를 가지고 있고 논리 주소가 같을 수 있다. -논리 주소가 같더라도 물리주소에는 다르게 저장되고 변환이 필요하다. -이것을 담당하는 메모리관리장치(MMU:Memory Management Unit) 하드웨어가 있다. 2.메모리관리장치(MMU:Memory Management Unit) 1)정의 : 논리주소와 물리주소간의 변환을 담당하는 장치 -MMU는 베이스 레지스터라는 프로그램에서 가장 작은 물리 주소를 나타내는 주소를 가지고 프로그램의 논..

12.RAM의 특징과 종류

1.RAM(Random Acess Memory) 1)정의:프로그램 실행하는 동안 필요한 정보를 저장하는 장치 2)휘발성 저장장치 : 전원이 꺼지면 저장된 내용이 사라진다. 3)RAM 용량이 컴퓨터 성능에 미치는 영향 -CPU에서 필요한 데이터를 있을 때 RAM에 접근하는 것이 보조기억장치(CD,하드디스크 등) 더 빠르다. -RAM에 많은 양의 데이터를 저장할 수 있다는 것은 컴퓨터가 필요한 데이터를 빠르게 가져오고 처리할 수 있다는 뜻이다. 2.RAM의 종류 1)DRAM(Dynamic RAM): 동적 RAM -시간이 지나면 저장된 데이터가 사라지는 RAM -소비전력이 낮고 저렴하고 집적도가 높아 대용량으로 설계하기 좋다. 2)SRAM(Static RAM): 정적인 RAM -저장된 데이더가 변하지 않는 R..

11.명령어 집합구조,CISC와 RISC

1.명령어 집합구조(ISA: Instruction Set Architecture) 1)정의 및 개요: -CPU마다 이해하는 명령어의 연산,주소지정방식,생김새가 차이가 있다. - CPU가 이해하는 명령어 모음이 ISA이다. -CPU로 컴파일 되는 어셈블리어가 다르다. -ISA가 다르면 명령어해석 방식 및 사용되는 레지스터의 종류와 개수 메모리 관리방법 등이 달라진다. -ISA는 CPU언어이자 하드웨어와 소프트웨어 간의 약속이다. 2.CISC(Complex Instruction Set Computer) 1)정의:ISA의 한 종류로서 직역하면 복합 명령어 집합을 활용하는 컴퓨터(CPU)이다. 종류가 다양하고 하는 일이 복잡한 명령어로 이루어진 CPU. x86 및 x86-64가 CISC이다. 2)가변 길이 명령..

10.명령어 병렬 처리기법

1.명령어 병렬 처리기법(ILP: Instruction-Level Parallelism) 1)정의: 명령어을 동시에 실행시켜 CPU 성능 향상을 시키는 방법. 대표적으로 명령어 파이프라이닝,슈퍼스칼라,비순차적 명령어 처리 2.명령어 파이프라이닝 1)정의: 명령어 파이프라인에 명령어를 넣고 동시에 처리하는 기법 2)명령어 파이프라인 : 효율적인 명령어를 처리하기 위한 구조. *파이프 라인: 연속으로 주어지는 어떤 작업을 처리함에 있어 처리율을 높이는 알고리즘 혹은 구조 -명령어의 처리과정을 나눈다면 아래와 같이 나타낼 수 있다. -CPU는 실행단계가 겹치지 않으면 아래와 같이 다른 명령어들을 실행할 수 있다. 3)파이프 라인 위험(pipeline hazard) -명령어 파이프라이닝 기법으로 성능 향상에 실..

9.빠른 CPU설계를 위한 설계기법

1.클럭 1)정의:CPU의 속도를 나타내는 단위. 2)클럭 속도: 헤르츠(Hz) 단위를 사용. 1초에 클럭이 몇 번 반복되는지를 나타낸다. 1초에 100번 반복하면 100hz. 2.코어 1)정의: 명령어를 실행하는 부품 2)멀티코어: 명령어를 실행하는 복수개의 부품. 코어가 여러 개인 코어. 3.스레드와 멀티 스레드 1)정의: 실행흐름의 단위. -CPU에서 사용되는 스레드와 프로그래밍에서 사용되는 스레드는 용례가 다르다. -CPU에서 사용되는 하드웨어적 스레드와 프로그래밍에서 사용되는 소프트웨어적 스레드가 있다. 2)하드웨어적 스레드 -하나의 코어가 동시에 처리하는 명령어 단위. -위 같이 두개의 코어에 4개의 명령어를 처리하는 CPU를 2코어 4스레드라고 한다. -하나의 코어로 명령어를 동시에 처리하는..

8.명령어 사이클과 인터럽트

1.명령어 싸이클(Instruction cycle) 1)정의 :명령어를 처리하는 정형화된 흐름. 2)종류 -인출싸이클(fetch cycle) : 메모리에 있는 명령어를 가져오는 단계. -실행싸이클(execution cycle) : 가져온 명령어를 실행하는 단계. -간접싸이클(indirect cycle): 메모리 접근이 더 필요해질 경우 추가되는 싸이클. 2.인터럽트(Interrupt) 1)정의: 정해진 흐름이 끊어지는 상태. 2)종류 -동기 인터럽트(syschronous interrupts) :CPU가 명령어를 수행할 때 예상치 못한 상황에 처했을 때 발생하는 오류. 동기 인터럽트는 예외(exception)이라고 부른다. -비동기 인터럽트(asynchronous interrupts) :주로 입출력장치에 ..

7.레지스터

1.레지스터(Register) 1)정의:정보를 처리하는 데 사용되는 임시 저장소 2.레지스터의 종류 1)프로그램 카운터(PC:Program Counter) :메모리에서 가져올 명령어의 주소, 즉 메모리에서 읽어 들일 명령어의 주소를 저장 명령어 포인터(IP: Instruction Pointer)라고도 한다. 2)명령어 레지스터(IR:Instruction Register) : 해석할 명령어, 메모리에서 받아온 명령어를 저장하는 레지스터 제어장치는 명령어 레지스터 속 명령어를 받아들이고 해석하고 제어신호를 내보낸다. 3)메모리 주소 레지스터(MAR: Memory Address Register) : 메모리의 주소를 저장하는 레지스터. CPU가 읽어 들이고자 하는 주소값을 주소버스로 보낼 때 메모리 주소 레지스..

6.ALU와 제어장치

1.ALU(Arithmetic Logic Unit) 1)정의: CPU 내부의 계산을 담당하는 부품 -레지스터를 통해 피연산자를 받아들이고 제어장치로부터 수행할 연산을 받아들인다. -결과값을 레지스터에 저장. 결과값을 자주 접근하게 된다면 레지스터가 메모리보다 더 빠르기 때문. -플래그(데이터의 부가정보)는 플래그 레지스터라는 레지스터에 저장 *플래그 종류 및 그림표현 2.제어장치 1)정의 :제어신호를 내보내고 명령어를 해석하는 장치. 2)작동과정 -첫째. 제어장치는 클럭신호를 받아들인다. *클럭: CPU의 속도를 나타내는 단위. -둘째. 제어장치는 해석할 명령어를 받아들인다. -셋째. 제어장치는 플래그 레지스터 속의 플래그 값을 받아들인다. -넷째. 시스템 버스, 제어버스로 전달된 제어신호를 받아들인다...

5.명령어의 구조

1.명령어 1)정의 컴퓨터에게 특정작업을 수행하라고 보내는 메시지 2.명령어의 구조 1)연산코드(Operation Code): 명령어가 수행할 연산(연산자) 2)오퍼랜드(Operand): 연산에 사용되는 데이터 또는 데이터의 주소(피연산자) *색칠된 부분을 연산코드 필드 *색칠되지 않는 부분을 오퍼랜드 필드라고 한다. *어셈블리어 예시 3.오퍼랜드 1)정의 연산에 사용되는 데이터 또는 데이터의 주소 -숫자나 문자 등 데이터가 올라오거나 데이터가 저장된 레지스터의 주소나 메모리주소가 적힌다. -그래서 주소필드라고 명명하기도 한다. -오퍼랜드의 개수에 따라 명칭이 달라진다. 4.연산코드 1)정의:명령어가 수행할 연산(연산자) -크게 네가지 유형으로 나눌 수 있다. 5.주소 지정 방식 1)정의 및 개요 -메모..