전체 글 137

컴퓨터 구조론 3장 [컴퓨터 산술과 논리 연산2]

논리연산ALU가 수행하는 기본적인 연산으로는 산술 연산과 논리 연산이 있다. 컴퓨터가 처리하는 데이터의 형태들 중에서 수(number)를 나타내는 데이터는 단어(word) 단위로 취급된다. 만약 데이터 단어의 길이가 16비트라면, 모든 산술적 연산은 16-비트 단위로 수행된다. 반면에 논리적 데이터(logicaldata에서는 단어 내의 각 비트 단위로 의미를 가지며, 연산도 비트 단위로 처리된다.두 개의 비트 A와 B에 대하여 처리될 수 있는 기본적인 논리 연산비트 단위의 논리 연산들을 위한 하드웨어 모듈입력 비트들은 일단 모든 게이트들을 통과하여 각 논리 연산의 출력을 발생한다. 그리고 두 개의 선택 신호들에 의해 선택된 연산의 출력만 4X1 멀티플렉서의 출력으로 나가게 된다.n-비트 데이터들에 대하여..

컴퓨터 구조론 3장 [컴퓨터 산술과 논리 연산]

산술논리연산장치(ALU : Arithmetic and Logical Unit)CPU 내부의 핵심 구성요소로서, 산술 연산과 논리 연산을 수행하는 하드웨어 모듈컴퓨터의 가장 근본이 되는 기능 : 수치에 대한 산술적 계산과 논리 데이터에 대한 연산산술적 계산일반적으로 정수(integer)와 부동 소수점 수 (floating-point number)라는 두 가지 형태의 수들에 대하여 수행되며, 논리 연산은 0과 1의 배열로 표현되는 2진 데이터(binary data)에 대하여 이루어진다.ALU의 구성 요소CPU의 내부 구성 요소들 중 하나인 ALU는 수치 및 논리 데이터에 대하여 실제적으로 연산을 수행하느 하드웨어 모듈이다.컴퓨터 시스템의 다른 요소들인 제어 유니트, 레지스터, 기억장치 및 I/O장치는 사실상..

컴퓨터 구조론 2장 [CPU의 구조와 기능 - 명령어 세트3]

실제 상용 프로세서들의 명령어 형식회로 복잡도 증가 및 성능 한계를 극복하는 방법으로 새로이 제안된 명령어 세트 설계 개념은 명령어의 수를 최소화하고, 명령어의 길이를 일정하게 고정시키며, 주소지정 방식의 종류도 단순화 시키는 것이다.이러한 개념에 근거해 출현한 새로운 유형의 프로세서는 RISC(Reduced Instruction Set Computer)프로세서라고 불린다.그와 비교하여 복잡한 명령어 형식을 가진 기존 유형의 프로세서는 CISC(Complex Instruction Set Computer) 프로세서로 분류되고 있다. 실제 상용화된 프로세서들의 명령어들PDP 계열 프로세서PDP-10 시스템의 프로세서는 단어의 길이가 36비트이며, 명령어의 길이도 36비트이다. PDP-10 프로세서는 명령어의..

컴퓨터 구조론 2장 [CPU의 구조와 기능 - 명령어 세트2]

주소지정 방식(addressing mode)주소 비트들을 이용하여 오퍼랜드의 유효 주소(effective address)를 결정하는 방법주소 지정 방식의 종류는 매우 다양하고 CPU 마다 다르다.기호EA : 유효 주소(Effective Address), 데이터가 저장된 기억장치의 실제 주소A :명령어내의주소필드내용(오퍼랜드필드의내용이기억장치 주소인 경우)R : 명령어 내의 레지스터 번호 (오퍼랜드 필드의 내용이 레지스터 번호인 경우)(A) : 기억장치 A번지의내용(R):레지스터 R의내용명령어가 실행되는 과정에서 주소지정 방식에 따라 유효 주소인 EA가 결정되며, EA는 실제 데이터를 읽어오기 위한 주소로 사용된다. 주소지정 방식이 복잡해질수록 EA를 결정하는데 걸리는 시간이 더 길어진다.직접 주소지정 방..

컴퓨터 구조론 2장 [CPU의 구조와 기능 - 명령어 세트]

CPU의 기능은 명령어들에 의하여 결정된다. 명령어들의 종류와 수는 CPU마다 약간씩 다르다.CPU를 위해 정의되어 있는 명령어들의 집합을 명령어 세트(Instruction set)라 한다. 명령어 세트를 설계하기 위한 사항연산 종류(Operation repertoire) : CPU가 수행할 연산들의 수와 종류 및 복잡도데이터 유형(Data type) : 연산이 수행될 데이터들의 유형, 즉, 데이터의 길이(비트 수)와 수의 표현 방식(정수, 부동소수점 수 )등명령어 형식(Instructioon format) : 명령어의 길이, 오퍼랜드 필드들의 개수와 길이 등주소지정 방식(addressing mode) : 오퍼랜드의 주소를 지정하는 방식연산의 종류CPU가 수행할 수 있는 연산(혹은 동작)들의 종류는 컴퓨..

컴퓨터 구조론 2장 [CPU의 구조와 기능 - 명령어 파이프라이닝]

명령어 파이프라이닝(Instruction Pipelining)명령어 실행에 사용되는 하드웨어를 여러 단계로 분할함으로써 처리 속도를 높여주는 기술이것은 명령어를 실행하는데 사용되는 하드웨어를 여러 개의 독립적인 단계들로 분할하고, 그들로 하여금 동시에 서로 다른 명령어들을 처리하도록 함으로써 CPU의 성능을 높여주는 기술을 말한다. 명령어 파이프라인은 분할되는 단계의 수가 많아질수록 처리 속도가 높아지는데, 최근에는 CPu의 속도를 더욱 높이기 위하여 여러 개의 명령어 파이프라인들을 설치하기도 한다. 2-단계 명령어 파이프라인명령어 사이클은 기본적으로 인출 사이클과 실행 사이클이라는 두 개의 단계로 이루어진다. 각 사이클의 동작을 처리하는 하드웨어를 독립적인 모듈로 구성할 수 있다면 각 모듈이 서로 다른..

컴퓨터 구조론 2장 [CPU의 구조와 기능 - 명령어 실행]

CPU는 기억장치에 저장됭어 있는 명령어들을 인출하여 실행함으로써 실제적인 작업을 수행한다.CPU 가 한 개의 명령어를 실행하는데 필요한 전체 과정 : 명령어 사이클(Instruction Cycle)명령어 사이클은 인출단계와 명령어 실행 단계로 나누어진다.CPU가 기억장치로부터 명령어를 읽어오는 명령어 인출(Instruction fetch)인출된 명령어를 실행하는 명령어 실행(Instruction execution)이 두 단계를 각각 부사이클(subcycle)로 구분하여 명령어 사이클의 흐름도를 보면 그 부사이클은 각각 인출 사이클과 실행 사이클이라 부른다.명령어 사이클은 CPU가 프로그램 실행을 시작한 순간부터 전원을 끄거나 회복 불가능한 오류가 발생하여 중단될 때까지 반복하여 수행된다. 명령어를 실행..

컴퓨터 구조론 2장 [CPU의 구조와 기능 - CPU의 기본 구조]

CPU는 기억장치에 저장되어 있는 프로그램 코드인 명령어들을 실행함으로서 프로그램 수행이라는 컴퓨터의 기본적인 기능을 수행한다.CPU가 수행해야 하는 세부적인 동작들명령어 인출(Instruction fetch) : 기억장치로부터 명령어를 읽어온다.명령어 해독(Instruction decode) : 수행해야 할 동작을 결정하기 위하여 명령어를 해독한다.데이터 인출(Data fetch) : 명령어 실행을 위하여 데이터가 필요한 경우 기억장치 혹은 I/O장치로부터 그 데이터를 읽어온다.데이터 처리(Data process) : 데이터에 대한 산술적 혹은 논리적 연산을 수행한다.데이터 저장(Data store) : 수행한 결과를 저장한다.첫번째 동작과 두번째 동작은 모든 명령어들에 대하여 공통적으로 수행된다.세번..

컴퓨터 구조론 1장 [컴퓨터 구조의 발전 과정]

컴퓨터 구조의 발전 과정현재 수 많은 컴퓨터들이 존재한다. 대부분은 기본적인 구조와 동작 원리에 기본을 두고 있다. 초기의 컴퓨터들도 그러한 원리에 바탕을 두고 있었지만, 릴레이(relay)와 같은 기계식 부품들을 이용하여 만들어졌다.그 후에 주요 부품들이 트랜지스터나 반도체 집적회로(semiconductor integrated circuit : IC)칩으로 대체되면서, 컴퓨터의 처리 속도가 계속 높아지고 있다. 또한 반도체 기억장치 칩의 밀도가 높아짐에 따라 저장 용량도 크게 증가되고 있다.최근에는 시스템의 성능을 높이기 위하여 한 시스템 내에 장착되는 CPU의 수를 증가시키거나, 하나의 칩에 여러 개의 CPU 코어(core)들을 포함시키기도 하며, 구성 요소들 간의 연결 통로를 고속화하기 위한 새로운..

컴퓨터 구조론 1장 [시스템의 구성]

CPU와 기억장치의 접속CPU와 시스템 내의 다른 요소들 사이에 정보를 교환하는 통로가 되는 시스템 버스(System Bus)이다.시스템 버스는 세 가지 하부 버스(Sub-Bus)들로 이루어진다.시스템 버스 - CPU와 다른 요소들 간의 정보 교환 통로 주소버스주소버스(Address bus)는 CPU가 외부로 발생하는 주소 정보를 전송하는 신호 선들의 집합이다.각 주소선은 하나의 주소 비트를 전송하는 데 사용되며, 전체 주소 선들의 개수가 CPU와 접속될 수 있는 최대 기억장치 용량을 결정해준다.CPU가 발생하는 주소 비트들의 수를 주소 버스의 폭(Width)이라고 하는데, 만약 그 폭이 16바트라면, 최대 2^17 = 65,546개(즉, 64K개) 기억장소들의 주소를 지정해 줄 수 있다.주소버스 - 주..