Category Archives: lecture
Revision Notes
Identification Often (5 different papers) you will be asked to produce the symbol table, attribute records, and links between these, corresponding to a C program that has a lot of nested scope. Remember; this is not the program running, it … Continue reading
Optimisation
Optimisation isn’t actually optimisation; it doesn’t result in optimal code. So what does it do? Preserve the meaning of the program On average improves the program (run time, space, program size) Is worth the cost of extended compile time + … Continue reading
Public Key Encryption
You probably know a bit about public key encryption. Authenticity of Data Some schemes allow both public and private keys to be used for encryption and decryption. Thus to send a message and guarantee authenticity (Ka is public key, Ka^-1 … Continue reading
Tree-based languages (continued?)
Tiling algorithms Sorry, when did this become about tiles? In RISC you have small tiles, in CISC you have large tiles. Oh, this makes sense; tree tiles are bits of trees that can be matched up together to form complex … Continue reading
Liveness Analysis
Liveness analysis is related to allocating registers. Two temporary values can fit in the same register if they’re never ‘live’ at the same time. A temporary is live if it holds a value that will be used in the future. … Continue reading
Programming Real-Time Abstractions in Ada
Periodic tasks in Ada We did this in the previous lecture (under ‘Previous Activity’) Aperiodic and Sporadic Activities in Ada Again, covered these definitions in the previous lecture. To clarify; sporadic has a minimum inter-arrival time, otherwise it’s aperiodic. For … Continue reading
Code Generation
Intermediate code generation is useful for: Storage allocation; fix address or offsets for each variable identifier. Translation to intermediate code. The slides are pretty confusing…
Intermediate Languages
You’re going to have to write a lot of compilers if you go from language to assembly. So why not put an intermediate language in the middle. Then you can reuse optimisation phases and mainly it saves a huge amount … Continue reading
Zero knowledge protocols
Zero-knowledge protocols are ways of proving ‘I have this secret’ without giving it away. Example is the cave with a magic door to get through the passage and come out the other side, or something. You can use this to … Continue reading
Delays and Timeouts
Delaying a process You could use some hideous delaying loop – a ‘busy-wait’, but that’s not very good. Instead you have delay x.xx or sleep. There’s a lot going on when you delay; granularity afterwards, interrupts being disabled, and other … Continue reading