본문 바로가기

컴퓨터공학기초 개념/컴퓨터구조28

27. 컴퓨터 구조 - 병렬처리시스템 0. 시작하기 전에 - 지금까지 컴퓨터 구조에 대해 배우면서 컴퓨터가 어떻게 동작하는지에 대해서 알아보았다. - 컴퓨터의 동작이나 연산 과정에 대해서 배울 때, 언제나 순차적으로 그 과정을 설명했다. - 하지만, 실제로 컴퓨터는 순차적으로 움직이지 않는다. 오히려 동시다발적으로 동작한다. - 이것이 가능한 이유는 컴퓨터가 병렬처리를 사용하기 때문이다. - 이번 포스팅에서는 병렬처리란 무엇인지, 병렬처리는 어떻게 구현되는지에 대해서 알아보자. 1. 병렬처리란? - 이전 포스팅에서 파이프라인과 병렬처리에 대해 배운 적이 있다. - 병렬처리란, 한개 또는 한개 이상의 CPU를 이용하여 여러 작업을 동시다발적으로 처리하는 시스템을 말한다. - 이러한 병렬처리시스템은 다양한 방식으로 구현되는데, 이를 이해하기 위.. 2021. 9. 1.
26. 입출력 구조 - 입출력 제어 0. 시작하기 전에 - 이전 포스팅에서 입출력 구조를 이해하기 위한 시스템 BUS에 대해서 알아보았다. - 시스템 BUS는 단방향 통신으로 주기억장치와 CPU내부의 레지스터들과의 소통을 위한 회로다. - 이번 포스팅에서는 시스템 BUS와 입출력 장치간의 어떤 과정이 이루어지는지 알아보자. 1. 입출력 장치와 소통하는 방식 - 컴퓨터의 마더보드에는 주소버스, 데이터버스, 제어버스가 존재한다. - 그러나 입출력을 제어하기 위한 또는 입출력 데이터를 전달하기 위한 입출력 버스는 존재하지 않는다. - 왜 그럴까? 함께 알아보자. a) 마더보드에 입출력 BUS가 없는 이유 - 마더보드에 존재하는 다양한 BUS는 고정되어 있는 회로다. - 회로를 추가하거나 삭제하거나 할 수 없기에 고정적이고 불변적이다. - 그러나.. 2021. 8. 26.
25. 입출력 구조 - 시스템 BUS 0. 시작하기 전에 - BUS에 대해서 배우기 전에, CPU에 어떤 레지스터와 처리장치들이 있는지 다시한번 복습하길 바란다. - BUS는 기억장치와 CPU간의 소통을 위한 것이기 때문이다. - CPU에 대해 알고 싶다면, 아래의 링크를 참고하자. https://devraphy.tistory.com/298 14. CPU 내부구조 - 레지스터 0. 시작하면서 - 이전 포스팅까지 논리회로에 대해서 배웠다. - 그리고 플립플롭이 여러개 모이면 레지스터라는 것을 알게 되었다. - 이번 포스팅에서는 레지스터간의 연결 방식과 동작방식에 대 devraphy.tistory.com 1. 시스템 BUS란 무엇인가? - BUS란 컴퓨터 내부의 기억장치와 중앙처리장치(CPU) 간의 소통을 위해 연결된 회로를 말한다. - 시스템.. 2021. 8. 26.
24. 컴퓨터 구조 - 캐시메모리의 동작원리 1. 캐시메모리가 사용되는 방식 - 일반적으로 캐시 메모리(L2)는 CPU와 주기억장치 사이에 위치한다. - 캐시 메모리는 CPU와 주기억장치 간의 속도차이를 극복하기 위해 사용되는 장치로 - CPU의 처리속도 만큼 빠른 속도를 보장한다. - 그러나 주기억장치 만큼 큰 용량을 갖지 못한다. 비싸기 때문이다. - 이와 같은 이유로, 캐시 메모리는 CPU가 사용할 데이터 또는 명령어의 일부분만 저장하게 된다. 2. CPU, 캐시메모리, 주기억장치의 상호작용 a) Word와 Block ▶ Word - 그림에서 캐시메모리와 주기억장치를 구성하는 한칸을 의미한다. - 한번에 레지스터에 옮길 수 있는 데이터 또는 명령어의 크기를 표현하는 단위다. - 주기억장치에서 레지스터로 한번에 옮길 수 있는 데이터의 단위 - .. 2021. 8. 25.
23. 컴퓨터 구조 - 메모리 시스템의 이해 1. 메모리란 무엇인가? - 메모리 또는 기억장치라 불리는 하드웨어는 CPU가 실행할 프로그램을 저장하는 곳이다. - 메모리는 다음과 같이 분류된다. ▶ 주기억장치 (Main Memory Unit) - RAM(휘발성)과 ROM(비휘발성)으로 구성된다. - 일반적으로 '메모리' 라고 말하면 RAM을 지칭하는 것이다. ▶ 보조기억장치 (Auxiliary Memory Unit) - 하드디스크, USB, CD-ROM 등을 지칭한다. - ROM과 함께 전원이 차단되어도 데이터를 저장하는 기억장치 ▶ 캐시 메모리 (Cache Memory) - 전원이 차단되면 데이터가 사라진다. (= 휘발성) - 주 기억장치와 CPU의 사이에 위치한 메모리 - 주 기억장치에서 실행할 프로그램의 일부분을 꺼내와서 CPU의 사용 직전에.. 2021. 8. 25.
22. 컴퓨터구조 - 파이프라인과 병렬처리 0. 시작하기 전에 - 이전 포스팅까지 프로그램과 소프트웨어의 정의에 대해서 배우면서, - 프로그래밍 언어의 발전과 종류, 이를 이용한 프로그램 구조설계(아키텍처)에 대해서 배웠다. - 듀얼코어, 쿼드코어 등 하드웨어의 발전에 맞춰 하드웨어를 더욱 잘 활용하기 위해 다양한 프로그래밍 기법이 개발되었다. - 이번 포스팅에서는 기존의 순차적 프로그래밍이 발전된 형태로, - 하드웨어를 더욱 효율적으로 사용할 수 있게 만드는 병렬처리와 파이프라인에 대해서 배워보자. 1. Flynn의 컴퓨터 분류 - 컴퓨터 내부적으로 명령어와 데이터를 처리하는 흐름의 개수에 따라 분류하는 방식 - 다음과 같이 분류된다. ▶ SISD(Single Instruction Stream Single Data Stream) - 단일 사용자.. 2021. 8. 19.
21. 컴퓨터 구조 - 소프트웨어 구조 0. 시작하기 전에 - 이전 포스팅에서 프로그램과 SW의 개념에 대해서 배웠다. - 그리고 SW / 프로그램을 구성하는 프로그래밍 언어에 대해서 알아보았다. - 이번 포스팅에서는 SW가 어떤 구조를 갖는지에 대해서 배워보자. 1. SW Architecture (소프트웨어의 구조) - 구조란 무엇을 의미할까? - 구조는 어떤 결과물의 구성요소간의 관계 또는 그 관계의 형태를 의미한다. - 그렇다면 SW는 구성요소간의 어떤 관계를 형성하고 있는지 알아보자. a) SW의 구성요소 - SW는 다음과 같은 구성요소를 갖는다. ▶ 모듈 - 기능의 집합 - 특정한 작업 또는 기능을 수행하는 최소 단위의 프로그램들의 집합 ▶ 컴포넌트 - 모듈의 집합 ▶ 라이브러리 - 컴포넌트의 집합 - 이와 같은 구성요소를 어떻게 배.. 2021. 8. 17.
20. 컴퓨터구조 - 프로그램과 프로그래밍 언어 0. 시작하기 전에 - 이전 포스팅 까지 CPU의 내부구조에 대해서 다음과 같이 공부했다. ▶ CPU의 동작방식(연산 방법) ▶ CPU의 내부 연산처리에 필요한 요소(여러가지 레지스터, 명령어, 마이크로연산) ▶ CPU 설계방식 ▶ CPU가 입출력을 처리하는 과정 - 지금까지 HW에 집중했다면, - 이번 포스팅 부터는 HW를 더욱 잘 활용하기 위한, SW적인 측면에 대해서 알아볼 예정이다. 1. 프로그램이란? - 컴퓨터는 복잡한 계산(= 산술논리연산)을 하기 위한 목적으로 만들어진 도구다. - 그러므로 컴퓨터에게 어떤 작업을 시킨다는 것은 어떤 계산을 시킨다는 의미다. - 사람은 어떤 것을 계산하기 위해 순차적인 연산과정을 거친다. 컴퓨터도 동일하다. - 이 순차적인 연산과정을 컴퓨터에게도 알려줘야 하는.. 2021. 8. 17.
19. CPU 내부구조 - 입출력과 인터럽트 0. 시작하기전에 - 지금까지 CPU가 내부적으로 수행하는 일(마이크로 연산), 동작 방식을 배웠다. - 이전 포스팅에서 명령어의 구성과 명령어가 데이터를 가져오는 방식(주소지정방식)에 대해서 알아 보았다. - 그렇다면 CPU의 동작 방식에 대한 전반적인 이해가 생겼다고 할 수 있다. - 이번 포스팅에서는 CPU의 내부 동작방식을 생각하면서 입출력이 어떻게 처리되는지 알아보자. 1. 입출력 과정 a) 입출력의 구성 - 컴퓨터의 모든 연산은 레지스터를 필요로 한다. 입출력 또한 마찬가지로 레지스터를 적극 활용한다. - 입출력은 다음과 같은 과정을 거친다. ▶ 입력장치를 통해 입력값이 시리얼 통신 인터페이스를 통해 컴퓨터에 들어온다. ▶ 컴퓨터에 들어온 입력값은 INPR(Input Register)에 저장된.. 2021. 8. 12.