728x90
반응형

Computer Architecture 16

[Computer Architecture] Arithmetic for computers

Transistors: n-type S: source G: Gate D: Drain S, G, D는 모두 터미널로 각각 자신의 voltage 값을 가지고 있음 If G S, then the switch is closed Transistor: p-type S: source G: Gate D: Drain S, G, D는 모두 터미널로 각각 자신의 voltage 값을 가지고 있음 If G > S, then the switch is open if G < S, then the switch is closed Transistor: CMOS Complementary metal-oxide-semiconductor p-type과 n-type transisto..

[Computer Architecture] Instructions: Language of the computer - 2

Procedure call requirements Caller callee에게 parameter를 넘겨야 함 callee에게 return address를 넘겨야 함 volatile한 것은 무엇이든간에 저장해야 함 ex) caller에서 x3 register에 값을 넣었는데 callee에서 x3 register에 다른 값을 넣어서 사용하게 되면 기존의 값이 날아가버리게 되므로 다른 곳에 저장해놓아야 함 Callee 자신의 반환 주소를 저장해야 함 자신이 사용할 local storage를 제공해야 함 recursive call을 지원해야 함 Program stack 스택은 procedure에 동적 데이터를 할당하기 위한 자연스러운 구조 (call/ return linkage information에서도 마찬가..

[Computer Architecture] Performance

Computer Performance == TIME Response Time(latency) 프로그램이 시작해서 끝날 때까지 걸리는 시간 (time to do the task) 지연시간(latency)라고도 함 Throughput 처리량 주어진 시간 당 하는 일 (tasks per unit time) Execution Time (실행 시간) Elapsed Time disk, memory accesses, I/O 등 모든 task들의 시간을 모두 포함한 시간 유용한 정보이긴 하나 성능을 비교하는데 있어서는 좋지 않을 수 있음 CPU time 다른 프로그램이 동작하는 시간이나 I/O 시간 등을 포함하지 않고 해당 프로그램을 사용하는데 걸린 시간만을 나타냄 더 구체적으로는 system time(os가 cpu ..

[Computer Architecture] ISA(Instruction Set Architecture)

- Instruction Set Architecture (ISA) 하드웨어는 작동하기 위해서 소프트웨어가 필요함 -> ISA가 하드웨어와 소프트웨어 사이의 Interface 역할 여기서 Interface는 communication 하는 방식이라고 볼 수 있음 작동하는 binary 프로그램을 만들기 위해 프로그래머가 알아야하는 모든 것이라고 할 수 있음 Given an instruction set, software programmers and hardware engineers work more or less independently. (Abstraction) ISA는 사용가능한 하드웨어 기술들의 최대 효율을 확보하도록 설계 프로그램의 논리적 실행에 직접적으로 영향을 미치는 시스템의 속성 Instructio..

[Computer Architecture] Computer improvement

- Uniprocessor performance improvement 1986년도 부터 2003년 정도까지는 해마다 단일 프로세서의 성능이 급격하게 증가했지만, 그 이후로 다시 정체되는 모습을 보이고 있습니다. Clock speed를 높임에 따라서 늘어나는 성능보다는 배터리 전력소모 등의 단점이 더 커져갔기 때문입니다. 기존의 컴퓨터 아키텍쳐를 통해서 Parallel하게 Instruction을 수행할 수 있도록 design하는 방법이 한계에 달했다고 볼 수 있습니다. 아무리 프로세서를 빠르게 만들어도 메모리 접근을 자주하게 되면 여전히 메모리 속도는 상대적으로 느리기 때문에 속도가 감소하게 됩니다. 즉 빠른 프로세서가 큰 영향을 못 미치는 상황인 것입니다. Processor Logic capacity: ..

[Computer Architecture] Computer Abstractions and Technology

- 용어 정리 Operation(연산) 컴퓨터가 수행할 수 있는 가장 기본적인 작업 단위 ex) 산술 연산(더하기, 빼기, 곱하기, 나누기), 데이터 이동, 비교 등 Instruction(명령어) 컴퓨터에게 특정 작업을 수행하도록 지시 하나 이상의 연산으로 구성, 컴퓨터 프로그램을 이루는 기본 단위 Process(프로세스) 실행 중인 프로그램 Processor(프로세서) 중앙 처리 장치(CPU)라고도 함. 명령어를 해석하고 실행하는 역할 - Performance의 이해 Algorithm: 실행될 operations의 개수를 결정 Programming language, compiler, architecture: machine의 instruction 당 수행되는 operation 수를 결정 ex) objec..

728x90
반응형