자격
[임베디드기사] [필기] 버스와 입출력장치
버스와 입출력장치 컴퓨터라는 것을 구분하면 제어장치 / 저장장치 / 입출력장치가 존재한다. 입출력장치는 사용자와의 상호작용을 하는 장치로 어떻게 보면 가장 느린 속도를 가지게 되는데(유저의 입력과 출력에 따른 Feedback은 전산적이지 않으니 말이다.) 이번시간에는 시스템의 통신경로인 버스를 알아보고 출력의 특징을 고려한 여러 가지 기본 개념을 알아보도록 하겠다. 시스템 버스 버스는 컴퓨터의 구성요소들을 서로 연결하는 데이터통로이다. 데이터 버스 / 주소 버스 / 제어 버스로 구분이된다. 개념도는 아래와 같다. 제어 버스(Control Bus) 데이터버스와 주소 버스를 제어하기위한 신호를 전송하는 통로이다. 양방향 버스이며, 세부 명령은 다음과 같은 것들이 존재한다. 메모리 읽기 신호 : 주소가 지정하..
[임베디드기사] [필기] 메모리 계층구조 / 가상메모리 / 캐시메모리
메모리 계층구조(Memory Hierchy) 메모리 계층구조는 다음의 그림으로 표현된다. 단순하다.. ㅎ 아무쪼록 위의 그림과 같이 저장장치를 필요에 따라 여러 가지 종류로 구분한 것을 의미한다. 이 중 CPU안에 레지스터와 캐시가 존재하며 CPU의 연산에 직접적인 지원을 한다. 반면 그들보다 비교적 큰용량의 메모리는 CPU외부에 존재하며 CPU와 아주 느린 저장장치 하드디스크 사이에서 동작한다. 메모리 계층구조는 컴퓨터를 설계함에 있어 성능과 용량의 Trade-off관계 속 최적화를 위해서 존재한다. 생각해보자, 만약 메모리가 하드디스크보다 빠르니까 메모리를 2TB연결해버리면 가격이 무지막지 하게 올라갈 것이다. 실제로는 그렇지 않아도 속도가 많이 차이나지 않는데, 바로 지역성(Locality) 때문이..
[임베디드기사] [필기] 마이크로 아키텍처와 병렬 처리
마이크로 아키텍처 마이크로 아키텍처 혹은 CPU 아키텍처는 CPU 또는 이와 관련된 디지털 신호 처리기의 회로다. 기본적으로 CPU가 처리하는 일이 함수의 읽음 -> 해석 -> 실행 -> 결과기록이었던 것을 생각해보면 이것이 매우 세부적인 수준에서 기술되어있는 것이 마이크로 아키텍처라고 칭할 수 있겠다. 이것은 CPU 제조사 마다 달라지는데, 대중적인 CPU 종류는 다음과 같다 병렬처리 CPU는 그 높은 연산능력을 바탕으로 빠르게 지정된 연산을 수행한 후에 결과를 반환하는 소자이다. 병렬처리는 몇몇 명령어의 구조적인 최적화 등 일련의 방법을 통해서 명령어를 동시에 수행하는 기법이다. 대표적인 병렬처리 방식인 파이프라인 / 슈퍼스칼라를 알아보도록 하자 병렬처리 – 파이프라인(Pipeline) 명령어 파이프..
[임베디드기사] [필기] CPU와 마이크로프로세서 – 구조, 명령어 셋
CPU(중앙처리장치)는 디지털 시스템에서 모든 연산을 처리하는, 따지면 뇌와 같은 기관이다. 빠른 연산속도를 가지고 명령의 해석이나 연산을 수행하는 기관으로 컴퓨터 논리기관의 핵심적인 소자라고 할 수 있다. 임베디드 기사에서는 위와 같은 이유로 CPU의 구조와 세부적인 내용을 시험으로 출제하고 있다. 하나하나 알아보자. CPU의 개요 Central Process Unit, 중앙처리장치의 풀네임이다. 중앙에서 다 해먹는 중요한 처리장치라고 할 수 있겠다. 현대의 CPU구조는 1970년에 페드리코 페긴이 개발한 구조와 설계에서 기인했다고 한다. 컴퓨터 시스템은 운영 간 수많은 명령어를 처리하는데, 명령어를 기준으로 다음과 같은 기능을 가진다. 인출(Fetch) : 저장공간상에 프로그램카운터(PC, 후술)이 ..
[임베디드기사] [필기] 프로그래머블 로직 - HDL
HDL 하드웨어 기술언어(HDL; Hardware Description Language)은 전자회로를 기술하는데 사용하는 컴퓨터언어이다. 즉 임베디드의 소자 제어를 위한 컴퓨터언어라고 할 수 있겠다.(이 무슨... 전자공학과 컴퓨터공학에 가교역할을 하는 혼종이란 말인가..) HDL은 설계(Design)과 기술(Description) 모든 목적으로 사용된다. 프로그램을 사용할 수 있으면 미리 회로를 작성하고 시뮬레이션하여 기댓값을 예측해 볼 수 있다.(비용 효율적!!) FPGA(Field Programmable Gate Array) FPGA는 HDL를 통해서 설계가 가능한 반도체 소자이다. 단순한 Gate(AND / NOR / NOT 등)이나 이를 활용한 조합논리나 순서논리회로를 내부에 포함하고 있고 이를..
[임베디드기사] [필기] 기억소자 - 메모리(Memory)
메모리 메모리는 컴퓨터의 정보를 저장하는 임시공간이다. 플립플롭에서 이야기는 안했는데, 플립플롭(1bit 저장회로)는 기본적으로 휘발성(클럭이 멈추면 데이터가 소멸) 그러니까 저장장치는 단순하게 보면 플립플롭의 조합으로 이루어지려면 전기가 끊기면 데이터가 사라지는 숙명을 가지고 있는거라고 볼 수 있겠다. 이에 따라 비활성의 데이터저장공간을 확보하는 것은 중요한 숙제였고 우리 이과형님들은 언제나 그렇듯 여러 가지 저장장치(메모리)를 만들면서 해결하였다. 아참 여기서 저장장치가 휘발성이냐 비휘발성이냐가 진보된 기술이냐를 반증하지는 않는다. 저장장치의 성능을 평가하기 위해서는 접근속도와 저장용량등 여러 가지특징 구분에 따라 결정되어야하기 때문이다. 이번 시간에는 디지털 회로로 구성된 여러 가지의 저장장치를 알..