728x90
반응형

Computer Science 77

[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] Instructions: Language of the computer - 1

Registers 프로세서 안에 들어있는 하드웨어 구성 요소임 CPU를 만들고나서, 사용가능한 레지스터의 개수를 바꾸지 못하는 이유임 RISC-V 아키텍쳐에서는 32개의 integer 레지스터 이용 가능 0부터 31번까지 이름 붙여져 있음 x0-x31 어셈블리에서 이름 사용 가능 32-bits wide x0 레지스터는 항상 0임 x0에 다른 값을 쓰려고하면 무시됨 Instruction architecture를 정의할 때, architecture가 제공하는 register를 먼저 정의해야 함 Two's complement operations Negate: 모든 bit를 invert하고 1을 더함 더 큰 bit 형태로 나타내는 법 RISC-V에서는 the most significant bit(the sign..

[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..

[Computer Architecture] Computer abstraction & Technology

Understanding Performance Algorithm: Determines number of operations executed. ex) sorting, matrix multiply Programming language, compiler, architecture: Determine number of machine instructions executed per operation Programming language: ex) Using object oriented language, you may require accessing memory multiple times when accessing data. Compiler: This is because the degree of optimization ..

[Cryptography] 패딩과 운영모드(ECB, CBC, CTR, CFB, OFB)

- 패딩 평문의 길이가 블록 크기의 배수가 되도록 평문의 끝에 데이터를 추가하는 기법입니다. 비트패딩(Bit Padding): 마지막 블록에서 평문이 채우지 못하는 비트 중 최상위 비트를 1로 설정하고, 나머지는 모두 0으로 채우는 패딩 기법입니다. 평문의 크기가 정확히 블록 크기의 배수일 때, 수신자가 메세지의 일부를 패딩으로 오인하게 되는 문제가 있기에 이를 막기 위해 비트 패딩을 적용할 때는 평문의 크기가 블록 크기의 배수이면, 패딩으로 한 블록을 추가합니다. ex) 평문이 1001 1011 1011 1000 이라면 끝의 1000을 패딩이라고 착각하고 평문 복구 시 지워버릴 수 있기 때문에 오해가 생기지 않도록 이런 경우에는 1001 1001 1011 1000 1000 0000 0000 0000 과..

728x90
반응형