프로그래밍[Univ]/아키텍처 6

[Architecture] 컴퓨터 성능 평가

* 컴퓨터 성능 평가 - 컴퓨터의 성능을 평가하는 일은 단순하지 않다. - 보는 시점에 따라 다양한 결과가 나올 수 있다. - 응답시간(실행시간), 처리량, ... 등 다양한 시점이 존재한다. * 성능향상 1 : 처리량 and 응답시간 - 실행시간이나 처리량이 변화하면 다른 쪽에도 영향을 미친다. Case 1) Processor를 빠르게 업그레이드 한다. > 응답시간이 단축되고 이로인해 처리량도 증가한다. Case 2) 시스템 Processor를 하나더 추가한다. > 처리량이 증가하게 되고, 이로인해 응답시간이 감소한다. * 성능형상 2 : 상대적인 성능 Performance ∝ 1 / Execution Time - 성능은 실행시간과 반비례한다. ( 실행시간이 작을 수록 성능은 좋다.) - 같은 프로그램..

[Architecture] ISA (Instruction set architecture)

* Design Principle - smaller is faster : 작은 것일 수록 빠르다 - regularity : 단순한 일을 반복 실행 - Good common part : 항상 수행되는 일에 걸리는 시간ㅇ르 단축 - Good design demands compromise(타협) * Controller 결함 - CPU결함. 따라서, Controller는 잘 만들어야 한다. - 이는 ISA와 밀접한 연관 관계를 같는다. > 컴퓨터에서 어떤 명령이 수행될 수 있는 가를 알려준다. > 컴퓨터를 구현하기 위해서 어떤 하드웨어 기능이 필요한가를 알려준다. * 명령 표현 형식 - 각각의 명령을 이진수로 어떻게 표현되는가를 규정하는 방법 - 하나의 명령 = "연산조작(operation)" + "연산의 대상..

[Architecture] 명령 수행

이번엔 어떻게 작성된 보드가 일을 수행하는지 알아보도록 한다.이를 이용하여 시스템의 구성 및 프로그램의 수행과정을 이해하도록 한다. * Program 실행 과정 - 프로그램 변화 및 CPU실행까지의 경로 - 프로그램 실행 1. 메모리에서 명령어 및 데이터를 읽어온다.(Fetch) 2. 명령어를 해독한다.(Decode) 3. 명령어를 실행한다.(Execute) // 실행 작업의 속도가 빠르기 때문에 clock 표시시 생략된다. - 세부 실행 1. CPU는 PC(Program Counter Register)에 시작 위치를 저장한다. 2. CPU는 PC값을 이용하여 Address Bus에 시작 주소를 보낸다. 한편으로 Controller에 Read 명령어를 보낸다. 3. Memory는 주소를 해석(Decode..

[Architecture] Memory part 2

* Memory Map - ROM, RAM, I/O port의 주소를 어디에 얼마만큼 할당할지를 정해 놓은 지도이다. - Memory map은 Main board designer가 설계하며, 그 범위는 제각각이다. - 회로를 보고 메모리 맵을 계산해 내는 능력에 중점을 두고 설명하였다. 예를 살펴본다. 예1) 예2) 예3) 그림의 크기가 작을 수 있으니 클릭하여 보기 바란다. * Controller E-clock - 마지막 예를 보면 CPU에 E값이 있는 것을 확인 할 수 있다. - E-clock은 Address transition time에 엉뚱한 값을 출력할 가능성이 있다. - 이를 방지하기 위해서 E-clock을 별도로 두게 된다. - Address transition time에 E-clock을 0..

[Architecture] Memory part 1

* 싱글 보드 컴퓨터 - 컴퓨터의 3대 요소, CPU, Memory, I/O 포트를 하나의 보드에 구현한 기본적인 기능만을 갖고 있는 컴퓨터 * 메모리 Basic - CPU가 수행할 프로그램과 데이터가 저장된다. - 메모리를 다루는 주체는 CPU이며, CPU는 메모리에 Read와 Write연산을 한다. - "주/보조", "휘발성/비휘발성", "Static/Dynamic", "RAM/ROM" 등으로 다양하게 구분된다. - RAM의 특성을 갖춘 ROM인 EPROM, EEPROM, Flash등도 존재한다. - CPU가 메모리의 특정 위치를 가르키기 위해서 메모리 맵, 어드레스 디코딩등이 가능해야 한다. * 용어 - 메모리 셀 : 1bit 정보를 저장하는 저장 단위 - 워드 : 메모리에 한번에 저장하거나 인출할..

[Architecture] Basic & Review

Review 부분은 간단히 정리만하고 넘어간다. * Computer System - 하나의 큰 동기 시스템 - 각각은 독립적으로 운영되지만 서로 협력하여 일을 처리 하는 경우가 많다. - 자원에 대한 사용 시간을 나누고, 시간 정보를 공유하여 원하는 때 서로의 시스템에 도움을 요청, 처리를 한다. - 시간자원을 공유하기 위해서 모든 시스템(Sub system)은 시계와 유사한 기능을 하는 것을 갖고 있다. - 계수기가 있다. * 데이터 표현 - 데이터의 표현은 Binary로 표현한다. - 간단하다. > 기호의 표현이 0과 1만 있다. - 전압상태를 나타내기 쉽다. > 전압이 흐른다. 흐르지 않다로 나타내면된다. - 우리가 쓰는 수체계(10진수)와 다르기 때문에 변환이 필수적이다. > 10진수 ↔ 2진수 ..