[컴퓨터 구조] - 병렬 컴퓨터 (Parallel Computer)
·
💻 Computer Science/컴퓨터 구조
병렬 처리 (Parallel Processing) 병렬 처리(Parallel Processing)란 하나 이상의 연산을 동시에 수행하여 컴퓨터 연산 속도를 증가시키는 방법이다. 병렬처리기는 이러한 병렬 처리 기법을 구현한 컴퓨터 구조를 말한다. 병렬처리기는 순차처리기에 비해 꽤나 높은 성능 향상을 이끌어내었다. 컴퓨터 성능 평가 컴퓨터 성능을 평가하는 척도는 "시간"이다. 같은 작업량을 최단시간에 수행하는 컴퓨터가 가장 성능이 좋은 것이다. 그리고 이때 말하는 시간은 프로세서가 순수하게 프로그램을 실행하기 위해 소비한 시간인 "CPU 시간"을 말한다. CPU 시간은 다음과 같이 정의된다.NOTE!프로그램 CPU 시간 = 프로그램의 CPU 클록 사이클 수 X 클록 사이클 시간병렬 처리 시스템 분류 병렬처리..
[컴퓨터 구조] - 명령어 집합 (Instruction Set Architecture)
·
💻 Computer Science/컴퓨터 구조
기계적 명령어를 설계하는 것은 하드웨어 구조에 영향을 끼치기에 명령어의 종류와 형식, 주소 지정 방식 등 여러가지를 고려해야 한다. 지금부터 명령어 집합에 대해서 더 자세히 알아보도록 하겠다.명령어 구성 (Instruction Structure) 하나의 명령어는 0과 1의 비트들의 집합으로 필트(Field)라 불리는 여러 개의 비트 그룹으로 나뉘어진다. 이 중 대표적인 필드가 연산자 코드 필드(Operation Code)와 피연산자 필드(Operand Field)이다.연산자 코드 필드(Operation Code Field)피연산자 필드(Operand Field)`연산자 코드 필드`: 수행할 연산자의 종류를 나타내며 보통 op-code(Operation Code)로 불린다.`피연산자 필드`: 피연산자에 대..
[컴퓨터 구조] - 기계어와 어셈블리어 (Machine Language, Assembly language)
·
💻 Computer Science/컴퓨터 구조
기계어와 어셈블리어를 이해하면 컴퓨터가 내부에서 어떻게 동작하는지를 더욱 자세히 알 수 있고 컴퓨터 구조를 소프트웨어 관점에서 바라볼 수 있다. 실제로 기계어와 어셈블리어를 사용하여 프로그래밍을 하는 일은 드물지만 이를 이해하면 고급 언어를 사용할 때 더 효율적인 프로그래밍이 가능하다.기계어(Machine Language) 컴퓨터의 종류에 따라 컴퓨터가 이해할 수 있는 기계어의 모양은 조금씩 다르다. 이 포스팅에서는 Pep/8이라는 가상 머신을 기준으로 내용을 전개하도록 하겠다. (기계어 코드 표를 참고하면 더 자세히 공부할 수 있다.)  기계어로 "Hi"를 출력하려면 다음과 같은 기계어 프로그램을 입력해야 한다.메모리 주소기계어(16진수)기계어(2진수)00000003000650 00 4850 00 69..
[컴퓨터 구조] - 버스 (Bus)
·
💻 Computer Science/컴퓨터 구조
버스 (Bus) 컴퓨터 하드웨어는 크게 중앙처리장치(CPU), 메인 메모리(기억 장치), 입출력 장치로 나뉘며 이들은 모두 버스(Bus)로 연결되어 있다. 버스(Bus)란 CPU, 주기억 장치, 외부의 입출력 장치 사이의 정보 전송을 위한 전기적 통로이다. 즉, 컴퓨터의 많은 장치들이 서로 데이터를 주고 받기 위한 통로이며 버스의 크기, 버스를 통한 데이터 전송 속도가 시스템의 성능을 좌우한다.버스의 분류버스에 실리는 신호의 종류에 따라 데이터 버스, 주소 버스, 제어 버스로 구성된다.`데이터 버스(Data Bus)`: 메인 메모리와 CPU 사이, 입출력 장치와 메인 메모리 사이, CPU 내부의 모듈들 간의 데이터가 이동하는 경로`주소 버스(Address Bus)`: CPU가 사용하고자 하는 데이터가 위..
[컴퓨터 구조] - 입출력 시스템 (I/O System)
·
💻 Computer Science/컴퓨터 구조
입출력 시스템 구성 요소 입출력 시스템에 의해서 컴퓨터는 외부 데이터를 CPU나 기억장치로 불러들이기(입력)도 하고, 반대로 외부로 내보내기(출력)도 한다. 입출력 시스템은 "입출력장치", "입출력장치 제어기", "입출력장치 인터페이스", "입출력 제어기", "입출력버스"로 구성되어 있다.`입출력장치`: 사용자와 컴퓨터 시스템의 인터페이스로, 사용자는 입력장치를 이용하여 컴퓨터 시스템에 프로그램과 데이터를 제공하고 컴퓨터 시스템은 처리한 결과를 출력장치를 통해 사용자에게 제공한다.`입출력장치 제어기`: 입출력장치를 구동시키는 작업을 수행하는 기기로, 아날로그 회로를 포함한다.`입출력장치 인터페이스`: 입력장치에서 입력된 디지털 형태의 데이터와 컴퓨터 시스템 내에 있는 중앙처리장치나 주기억장치 내에서 다루..
[컴퓨터 구조] - 기억 장치 (Computer Data Storage)
·
💻 Computer Science/컴퓨터 구조
기억 장치 (Computer Data Storage)기억 장치는 컴퓨터에서 처리하려는 프로그램과 데이터를 저장하는 기능을 담당하는 장치이다. 기능과 저장장소에 따라 주기억장치와 보조기억장치로 구성된다. 기억장치를 설계할 때, 비용과 용량을 고려해 주기억장치와 보조기억장치를 구성해야 한다.지역성의 원리 (Principle of Locality) 지역성의 원리란 프로그램이 실행될 때, 데이터와 명령어를 특정한 영역에서 집중적으로 참조하는 경향을 말한다. 이러한 지역성에는 두 가지 형태로 존재한다.`시간적 지역성(Temproal Locality)`: 어떤 내용이 한 번 참조되면, 곧바로 다시 참조되기 쉽다. 즉, 한 번 사용한 정보는 시간적으로 곧 다시 사용될 가능성이 높다는 것이다.`공간적 지역성(Spati..
[컴퓨터 구조] - 중앙처리장치 (Central Processing Unit: CPU)
·
💻 Computer Science/컴퓨터 구조
중앙처리장치 (CPU) 중앙처리장치(CPU)는 컴퓨터에서 명령어를 수행하고 데이터를 처리하는 장치로, 컴퓨터 시스템에서 프로그램이 수행하는 전반적인 과정을 제어한다. 중앙처리장치는 처리장치와 제어장치, 두 부분으로 나뉘고 조금 더 자세하게 CPU의 내부구조를 살펴보면 다음과 같다.`산술/논리 연산장치`: CPU에서 연산장치를 말하며 산술 마이크로연산과 논리 마이크로연산 등을 수행한다.`레지스터 세트`: CPU 내부의 레지스터 집합을 말한다.`제어장치`: 장치로부터 제어신호를 받아 다음에 처리할 작업을 제어하는 역할을 수행한다.`내부 버스`: 산술/논리 연산장치와 레지스터 간의 데이터 전송과 제어신호를 다루는 역할을 수행한다.레지스터 (Registers)레지스터는 CPU에서 주기억장치나 산술/논리 연산장치..
loading